Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

problema con la comilla simple '

Estas en el tema de problema con la comilla simple ' en el foro de Visual Basic clásico en Foros del Web. Hola amigos, necesito su ayuda para resolver un problema en vb6 referente a la comilla simple ' . Resulta que se han ingresado algunos datos ...
  #1 (permalink)  
Antiguo 26/11/2008, 18:38
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
problema con la comilla simple '

Hola amigos, necesito su ayuda para resolver un problema en vb6 referente a la comilla simple ' . Resulta que se han ingresado algunos datos que llevan ese caracter, como por ej. O' higgings, y al momento de traer esos datos a un combobox y recorrer el combobox, al momento de encontrar esa palabra con comilla simple, arroja un error de sintaxis como que "combobox no puede ser igual a la palabra con comilla simple".
He pensado en no permitir ingresar ese caracter, por ejemplo que la palabra se guarde como O higgings solamente para que al momento de recorrer el combo no lea ninguna comilla simple y no arroje el error de sintaxis, o también que permita el ingreso pero al momento de leer el combo quitar la comilla simple (aunque esto me resulta más difícil).
Bueno si alguien tiene un código por ahí, le agradezco me pueda ayudar, ya que los mios no sirven. Muy agradecida de antemano, y un gran saludo a todos.
  #2 (permalink)  
Antiguo 26/11/2008, 18:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema con la comilla simple '

¿Dónde guardas los datos? ¿Una base de datos? ¿Podrías poner el código donde te da el error?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 28/11/2008, 15:47
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con la comilla simple '

Ah, perdón, no fui muy específica, los datos los guardo en una bd sql server2000, y existe una tabla con nombres de clientes, cuando visualizo los nombres de clientes en un combobox y aparece algun nombre que lleve comilla simple ' como por ejemplo "MARGARET'S" , aparce el siguiente error:

Error '-2147217900 (80040e14)' en tiempo de ejecución :
línea 1 : sintaxis incorrecta cerca de 'S'.

Y la parte del código del combo donde se cae, es el siguiente:

Private Sub CmbCliente_Click()

Set recorre = New ADODB.Recordset

sql = "Select * from Clientes where Razon_Social = ' " & CmbCliente & " ' "
recorre.Open sql, db

'donde CmbCliente = MARGARET'S en ese momento que se cae'


.
.
.

end sub

Entonces necesito un código para que no permita ingresar la ' comilla simple, o que saque la ' comilla simple al momento de recorrer el combo, para que no se caiga, ya que lo que yo he hecho hasta el momento no resulta.
Bueno, cualquier ayuda bienvenida sea. Muchas gracias.
  #4 (permalink)  
Antiguo 28/11/2008, 18:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema con la comilla simple '

Para escapar las comillas simples hay que usar dobles comillas simples (''), prueba colocar esto:
Código vb:
Ver original
  1. Replace(CmbCliente, "'", "''")
Eso reemplazará todas las comillas simples (') por dos ('')
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 29/11/2008, 11:12
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con la comilla simple '

Voy a probar con eso entonces, muchas gracias : )
  #6 (permalink)  
Antiguo 09/12/2008, 16:46
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con la comilla simple '

amigo, el código me sirvió, muchas gracias. : )
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:08.