Como puedo solucionar el error 3075 al introducir comilla simple en cuadro de texto
Publicado por TrujelloCm (6 intervenciones) el 04/03/2018 21:49:53
Hola, estoy realizando una base de datos en Access y estoy atascado y no sé por dónde tirar, tengo dos preguntas a ver si me pueden ayudar.
De antemano, gracias por vuestra labor.
PRIMERA PREGUNTA:
Tengo una tabla (tblPaises) en la cual inserto los datos con un formulario de entrada de datos NO vinculado a la tabla (Formulario exclusivamente de entrada de datos).
El formulario tiene dos campos de texto, uno es “txtEntradaNomPais” y el otro es “txtEntradaObservacionesPais”.
Tengo un botón guardar con el siguiente código:
Con el cual compruebo que el nombre del país introducido en el cuadro de texto (txtEntradaNomPais) no existe en el campo (NomPais) de la tabla. Todo funciona bien hasta que por error o intencionadamente se introduce una comilla simple ( ‘ ) en el cuadro de texto, provocando el error 3075 en tiempo de ejecución.
He probado a cambiar esto:
Y no me lanza el error de la comilla pero tampoco hace la comparación en la tabla.
También he probado a usar este otro código
Son todo comillas dobles y funciona bien pero ahora el error lo muestra al poner comillas dobles en el cuadro de texto.
No se si hay que hacer algo mas que se me escapa, Gracias.
SEGUNDA PREGUNTA:
En este mismo botón, me gustaría hacer la comprobación de si existe el país introducido independientemente esté acentuado o no. Es decir, si yo en el cuadro de texto txtEntradaNomPais introduzco Haití con acento, al pulsar el botón Guardar, me compruebe si existe Haití con acento y Haiti sin acentos.
He estado buscando en google y no consigo ver lo que busco
Gracias de nuevo
De antemano, gracias por vuestra labor.
PRIMERA PREGUNTA:
Tengo una tabla (tblPaises) en la cual inserto los datos con un formulario de entrada de datos NO vinculado a la tabla (Formulario exclusivamente de entrada de datos).
El formulario tiene dos campos de texto, uno es “txtEntradaNomPais” y el otro es “txtEntradaObservacionesPais”.
Tengo un botón guardar con el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub btnGuardarEntrada_Click()
'Comprobamos si en la tabla existe el nombre del país
ComparaNom = DLookup("[NomPais]", "[tblPaises]", "[NomPais]='" & Me.txtEntradaNomPais & "'")
If ComparaNom = txtEntradaNomPais Then
MsgBox "El nombre del País (" & UCase(txtEntradaNomPais) & ") Está duplicado.", vbInformation, "Valor duplicado"
Me.txtEntradaNomPais.SetFocus
Me.txtEntradaNomPais.SelStart = 0
Me.txtEntradaNomPais.SelLength = Len(Me.txtEntradaNomPais.Text)
Else
'Guardamos los datos
DoCmd.RunSQL "INSERT INTO tblPaises ( [NomPais], [ObservacionesPais] )SELECT FORMS!frmEntradaPaises!txtEntradaNomPais, FORMS!frmEntradaPaises!txtEntradaObservacionesPais FROM registro;", -1
Me.txtEntradaNomPais.SetFocus
Me.txtEntradaNomPais = Null
Me.txtEntradaObservacionesPais = Null
End If
End Sub
Con el cual compruebo que el nombre del país introducido en el cuadro de texto (txtEntradaNomPais) no existe en el campo (NomPais) de la tabla. Todo funciona bien hasta que por error o intencionadamente se introduce una comilla simple ( ‘ ) en el cuadro de texto, provocando el error 3075 en tiempo de ejecución.
He probado a cambiar esto:
1
ComparaNom = DLookup("[NomPais]", "[tblPaises]", "[NomPais]='& Chr(34) & Me.txtEntradaNomPais & Chr(34)'")
Y no me lanza el error de la comilla pero tampoco hace la comparación en la tabla.
También he probado a usar este otro código
1
ComparaNom = DLookup("[NomPais]", "[tblPaises]", "[NomPais]=""" & Me.txtEntradaNomPais & """")
Son todo comillas dobles y funciona bien pero ahora el error lo muestra al poner comillas dobles en el cuadro de texto.
No se si hay que hacer algo mas que se me escapa, Gracias.
SEGUNDA PREGUNTA:
En este mismo botón, me gustaría hacer la comprobación de si existe el país introducido independientemente esté acentuado o no. Es decir, si yo en el cuadro de texto txtEntradaNomPais introduzco Haití con acento, al pulsar el botón Guardar, me compruebe si existe Haití con acento y Haiti sin acentos.
He estado buscando en google y no consigo ver lo que busco
Gracias de nuevo
Valora esta pregunta


0