Verificar datos en access

Hola de nuevo, Otra vez recurro a tu ayuda ya que necesito saber si hay registros en la base de datos donde el registro tenga el mismo valor que un textbox, y si es así pueda grabar unos datos de la siguiente manera.
With Rec2
                On Error Resume Next
                If addFlag Then .AddNew
                Rec2!LEGALIZACION = lblLegalizacionNo.Caption
                Rec2!USUARIO = lblNombre.Caption
                Rec2!ANTICIPODIRIGIDO = lblNombre.Caption
                Rec2!VALORANTICIPO = lblValorAnticipo2.Caption
                Rec2!OBRA = cboObra.Text
                Rec2!TOTAL = lblTotal2.Caption * 1
                Rec2!VALORLEGALIZACION = txtValorLegalizacion * 1
            End With

Rec2 = RecordSet, pero lo más importante es que se verifique que si hay registros donde un campo de la tabla sea igual a lo que tiene un textbox.

1 respuesta

Respuesta
1
¿Vale pero cual es el campo de la BD y la caja de texto que quieres comprobar?.
Por lo que veo en el código compruebas un flag, pero todo lo de 'Rec' que va debajo se va a ejecutar siempre.
Lo que esta dentro del With ya esta listo, lo que necesito es que si en la tabla de access existe un registro en el campo legalización donde sea igual a lblLegalizacion(Label). Si no hay datos entonces me saque un mensaje que diga no exiten registros.
Pregunta a la BD.
Si como supongo lo que quieres hacer es actualizar la tabla para ese campo yo haría lo siguiente.
El RS abrirlo con una condición para el campo legalización:
LO QUE SEA SQL +WHERE ucase(LEGALIZACIÓN)='" & ucase(lbllegalizacion.caption)&"'"
Con eso solo te va a devoler registros si existe ese valor. Cuando lo tengas pregunta.
IF rs.eof=false then
Actualizas que existe el dato
else
mensaje de error que no existe.
Otra opción es creare una función como la de abajo y pasarle el caption de lbllegalizcion así puedes preguntar de forma muy fácil cuando quieras
public function ExisteLegalizacion(byval pLegal as string) as boolean
-Crear un nuevo recordset y lo abres con la siguiente sentencia
Dim tmpSQL as string
tmpSQL="select count(1) from LaTabla where ucase(legalizacion)=ucase('"&plegal&"')"
set NewRS=conn.execute(tmpSQL)
'y devuelves
existelegalizacion=NewRS.eof
end function
OJo. Lo que te he comentado es Pesudocogio, tiene la idea de posibles soluciones, te corresponde a ti adaptarlo a tu código y variables :-)
De todas formas no me gusta esa manera de usar los RS yo prefiero hacerlo todo directamente a través de SQL, es más limpio para mi gusto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas