Visual Basic - chequear que un registro no se repita.

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 20
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

chequear que un registro no se repita.

Publicado por Daniel (4 intervenciones) el 02/05/2018 22:27:44
Estimados: Muchas gracias de antemano!!!
Comento lo que quiero que haga el sistema.
Ingresa un pago de un afiliado... Ese afiliado puede pagar desde un mes x a otro mes... Puede ser que tenga cuotas atrasadas...

Lo que quiero hacer es que se verifique en la tabla "Pagos" que el pago que se este realizando, no esté almacenado en la tabla...

Para eso selecciono unas fechas en dos DTPicker... Uno para la "FechaDesde" la cual quiere pagar y el otro para la "FechaHasta" la cual quiere pagar...

Adjunto una imagen de el formulario de ingreso de pagos y el formulario donde se registran los pagos y una de la tabla Pagos...

Este es el código del botón donde quiero ingresar el pago...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
PagaDesde = Format(dtpPagaDesde.Value, "DD/MM/YYYY")
PagaHasta = Format(DtpPagaHasta.Value, "DD/MM/YYYY")
FechaPago = Format(lblFechaPago.Caption, "DD/MM/YYYY")
 
Hoy = Format(Now, "DD/MM/YYYY")
 
 'para verificar que el mes de inicio no esté en la tabla...
 
StrPagaDesde = "Select P.Paga_Desde from PAGOS AS P WHERE P.Num_Afiliado =" & txtBuscAfiliado.Text & " AND P.Fecha_Pago BETWEEN #" & PagaDesde & "# And #" & PagaHasta & "#"
 
Set RstPagaDesde = New ADODB.Recordset
 
RstPagaDesde.Open StrPagaDesde, Base, adOpenStatic, adLockOptimistic
 
With RstPagaDesde
    If .BOF = True Or .EOF = True Then
        'Se recorrió el registro y no se encontraron datos
        MsgBox "Mes ya pago. Cambie fecha Inicio."
        dtpPagaDesde.SetFocus
        Exit Sub
    End If
End With
 
 'para verificar que el mes de fin no esté en la tabla...
 
StrPagaHasta = "Select P.Paga_Hasta from PAGOS AS P WHERE P.Num_Afiliado =" & txtBuscAfiliado.Text & " AND P.Fecha_Pago BETWEEN #" & PagaDesde & "# And #" & PagaHasta & "#"
 
Set RstPagaHasta = New ADODB.Recordset
 
RstPagaHasta.Open StrPagaHasta, Base, adOpenStatic, adLockOptimistic
 
With RstPagaHasta
    If .BOF = True Or .EOF = True Then
        MsgBox "Mes ya pago. Cambie fecha Final."
        DtpPagaHasta.SetFocus
        Exit Sub
    End If
End With
 
StrPagoCuota = "INSERT INTO PAGOS (" & "Num_Afiliado," & "Fecha_Pago," & "Paga_Desde," & "Paga_Hasta," & "Pago_Total" & ") VALUES ( '" & txtBuscAfiliado.Text & "',#" & FechaPago & "#,#" & PagaDesde & "#,#" & PagaHasta & "#," & PagoTotal & ")"
 
RstPagoCuota.Open StrPagoCuota, Base, adOpenStatic, adLockOptimistic
 
MsgBox "Pago Ingresado con éxito", vbInformation, "INGRESO DE PAGOS UEB."

Lo que no puedo desentrañar es el armado de los with con el código de inserción en la tabla de pagos...

Bueno, muchas gracias nuevamente!!!
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