Comparar dos campos misma tabla access

Tengo un subformulario el cual tiene una tabla con un ID y dos campos numéricos, (No. Consecutivo y No. Validación) por cada registro.

Necesito que por medio de un botón en el formulario principal, se ejecute una comparación de los campos No. Consecutivo y No. Validacion de acuerdo al ID.

En caso de que no sean iguales todos los valores, No me permita continuar, caso contrario, si todos son iguales, que me permita seguir adelante.

Si encuentra diferencias:

IDNo. Consecutivo | No. Validación

a1 | 1 | 1

a1 | 2 | 2

a1 | 3 | 3

a1 | 4 | 5

a1 | 5 | 7

Continuar?-> NO

Si todos los valores son iguales:

IDNo. Consecutivo | No. Validación

a1 | 1 | 1

a1 | 2 | 2

a1 | 3 | 3

a1 | 4 | 4

a1 | 5 | 5

¿Continuar?-> SI

Muchas gracias de antemano por su apoyo y quedo a la orden en caso de que no me haya explicado bien.

1 respuesta

Respuesta
1

Francisco buenas tardes

Mira cree la siguiente función

Esto lo realizas en codigo de visual basic

Importante debes activar la referencia microsoft Dao 3.6

Tabla2 es el nombre de la tabla que tu tienes

Public Function Comparar()
Dim db As Database
Dim Rs As Recordset
Dim Sw As Integer
Set db = CurrentDb()
Set Rs = db.OpenRecordset("Tabla2")
Sw = 0
Do While Not Rs.EOF
With Rs
If !Id = !No_consecutivo And !Id = !No_validacion Then
Sw = 1
MsgBox "si"
Else
Sw = 0
MsgBox "No"
Exit Do
End If
End With
Rs.MoveNext
Loop
Comparar = Sw
End Function

rem ----------------------------------------------------------------------

Este es el modulo donde llamas a la funcion si retorna 1 quiere decir que todos son iguales

y si es 0 por que hay diferencias.

Private Sub CmdVerificar_Click()
X = Comparar
If X = 1 Then
siga
Else
no siga
End If
End Sub

Muchas gracias por tu respuesta, lo probé y me marca NO a pesar de que las condiciones dan verdadero, no se si haya colocado alguna instrucción fuera de lugar. 

francisco buenas noches

si gustas me regalas tu email para enviarte un ejemplo

Mi correo es [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas