Visual Basic - comilla en txt

Life is soft - evento anual de software empresarial
 
Vista:

comilla en txt

Publicado por haydee (13 intervenciones) el 13/07/2006 00:54:08
Hola, de antemano, gracias por la ayuda
tengo un cuadro de texto donde un usuario coloca letras pero al colocar por casualidad una comilla solo una ' y dar guardar se genera un error con la sentencia sql ya que toma el contenido del campo como un valor literal y no lo guarda,da un runtime. lo que quiero es validar que si ese campo tiene esa sola comilla la quite de alli, pero como lo hago,?????gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:comilla en txt

Publicado por Javi RM (187 intervenciones) el 13/07/2006 08:27:45
Lo que puedes hacer es evitar el ingreso de comillas simples en al caja de texto, para esto modificamos el evento KeyPress de la caja de texto.

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 39 Then
KeyAscii = 0
End If
End Sub

Pero si lo que quieres es controlar que si existe una comilla simple en la caja de texto eliminarla pues puedes hacer lo siguiente:

Dim i As Integer
Dim Texto As String
Dim Cont As Integer
Dim Pos As Integer

' Asignamos el valor de texto a una variable
Texto = Me.Text1.Text
Cont = 0

' Recorremos el texto comprobando carácter a carácter
For i = 1 To Len(Texto)
If Mid(Texto, i, 1) = "'" Then
' Exite una comilla simple
Cont = Cont + 1
End If
Next i

If Cont = 1 Then
' Si el contador = 1 eliminamos la comilla
Pos = InStr(1, Texto, "'", vbTextCompare)
If Pos > 1 And Pos < Len(Texto) Then
' Comilla en medio del texto
Texto = Mid(Texto, 1, Pos - 1) & Mid(Texto, Pos + 1)
ElseIf Pos = 1 Then
' Comilla en la primera posición
Texto = Mid(Texto, Pos + 1)
ElseIf Pos = Len(Texto) Then
' Comilla al final del texto
Texto = Mid(Texto, 1, Len(Texto) - 1)
End If
End If

Me.Text1.Text = Texto

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:comilla en txt

Publicado por gon (55 intervenciones) el 13/07/2006 14:25:04
otambien remplazar la comilla por otro caracter
replace(texto,"'","@")

al traerlo de la base de datos haces la inversa
text1.text=replace(texto,"@","'")

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comilla en txt

Publicado por Cecilia Colalongo (3116 intervenciones) el 13/07/2006 19:50:54
Reemplaza la comilla simple por dos veces la misma y se soluciona:

Replace(strSQL,"'","''")

No sé que estarás guardando pero hay casos de apellidos y nombres de ciudades que las comillas son necesarias. (Pond's, D'Alema)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comilla en txt

Publicado por Mauro (79 intervenciones) el 13/07/2006 21:09:58
Hola, yo tuve el mismo problema y lo solucione de la forma que dice Cecilia, ella me ayudo.

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comilla en txt

Publicado por x (49 intervenciones) el 17/07/2006 15:48:54
TextBox1.Text = Replace(Trim(TextBox1.Text), "'", "''")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:comilla en txt

Publicado por x (49 intervenciones) el 18/07/2006 00:04:43
... dejaras de ser nuevo....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar