Access - Validar un Cuadro de Texto

   
Vista:

Validar un Cuadro de Texto

Publicado por José Maria (134 intervenciones) el 04/07/2015 19:52:57
Buenas estoy intentando validar un cuadro de texto de forma que sea algo parecido a un combo.
Es decir que solo se puedan meter datos de una tabla.
Por ejemplo Tengo Tabla1 y dentro el campo Palabras....por decir una cosa.
Quiero poner un cuadro de texto en un formulario independiente que solo se puedan introducir datos de la Tabla 1 Palabras.Lo mismo que hace un cuadro combinado pero con un cuadro de texto, sin necesidad de tener que cargar todo el cuadro combinado, que me sale un mensaje si meten algun dato que no este en el campo Palabras de la Tabla 1.
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

Validar un Cuadro de Texto

Publicado por Enrique Heliodoro (1663 intervenciones) el 04/07/2015 22:17:21
Eso que se pretende ¿no es lo mismo que validar si el 'dato' existe en la tabla?...

Un simple DCount lo resuelve:
.- cero si no esta
.- el numero de coincidencias si lo encuentra (que si todo esta bien debería ser un uno)
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

Validar un Cuadro de Texto

Publicado por José Maria (134 intervenciones) el 04/07/2015 23:07:14
Pues posiblemente, muchas gracias. Lo voy a probar.
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

Validar un Cuadro de Texto

Publicado por José Maria (134 intervenciones) el 05/07/2015 11:09:09
Perdona que te moleste de nuevo pero como sería exactamente?

Imagínate tengo un Formulario 1

y dentro tengo un txtPalabra en el que se supone que voy a meter datos de Palabra que se encuentra en la Tabla1

donde pongo la recla de validacion? en txtPalabra?
He Puesto DCount(Palabra) como regla de validacion pero me sale error.
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

Validar un Cuadro de Texto

Publicado por Enrique Heliodoro (1663 intervenciones) el 05/07/2015 11:25:43
DCount es una función de dominio y tiene sus reglas, reglas y métodos de aplicación que aparecen claramente explicados en la ayuda de Access ... ¿la has ojeado por empujado por la curiosidad? (seria lo mas elemental ante el encuentro ante lo desconocido).

Una posible forma de utilización (que no elimina la urgente necesidad de acudir al 'libro de Petete': la ayuda)

IF DCount("*", "Tabla_con_los_datos", "[campo_con_datos] = '" & [aquí la referencia al cuadro de texto] & "'") = 0 Then Msgbox "esta palabra : " & [aquí la referencia al cuadro de texto] & " no se localiza en la base de datos"

Si se utiliza en el evento 'después de actualizar' del cuadro de texto 'txtPalabra' se tendrá que sustituir:
[aquí la referencia al cuadro de texto] ===> Me.txtPalabra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Validar un Cuadro de Texto

Publicado por José Maria (134 intervenciones) el 05/07/2015 11:47:40
Muchas gracias esta casi perfecto, el problema es que me salta el mensaje pero aun así se guarda automaticamente.
¿como hago para que cuando salte el mensaje no se guarde?

Tengo el código así:

Private Sub Texto0_AfterUpdate()

If DCount("*", "T1", "[Palabra] = '" & [Texto0] & "'") = 0 Then

MsgBox "esta palabra : " & [Texto0] & " no se localiza en la base de datos"


End If



End Sub
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

Validar un Cuadro de Texto

Publicado por Enrique Heliodoro (1663 intervenciones) el 05/07/2015 12:20:11
El código hará lo que le indiquen que tiene que hacer y solo se le ha indicado que envíe un mensaje ... conclusión: esta haciendo lo correcto.

¿Qué es lo que se desea hacer? si se desea eliminar el dato (valor) introducido, se puede lograr con el comando deshacer (Undo) que se puede aplicar a nivel de objeto (Me.[objeto].Undo) o a nivel de formulario (Me.Undo) pero esto son simples cavilaciones basadas en esbozos de la aplicación real (lo aquí publicado).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar