Consultar que no exista un pago en la tabla para no volver a ingresar el mismo pago.

Les comento... Estoy haciendo ingreso de pagos... Un afiliado puede abonar un mes, quedar debiendo 3, venir al cuarto mes y querer abonar los cuatro mese juntos... El problema sería que no pueda abonar el mes que ya abonó.

El código lo tengo dentro del DTPicker (el que se usa para poner el "Paga_Hasta")

Private Sub DtpPagaHasta_Click()

    Dim FechaPago As Date  ' Día que realiza el pago.

    Dim PagaHasta As Date  ' Para saber hasta dónde paga así calcular el total del pago.

    Dim UltimoPago As Date ' Para saber último mes que pagó.

    Dim Meses As Integer

    Dim StrPagaDesdeHasta As String

    Dim RstPagaDesdeHasta As New ADODB.Recordset

    Dim StrValorcuota As String

    Dim StrFechaUltCuota As String

    Dim RstValorCuota As New ADODB.Recordset

    Dim RstFechaUltCuota As New ADODB.Recordset

    PagaHasta = Format(DtpPagaHasta.Value, "DD/MM/YYYY")

    FechaPago = Format(lblFechaPago, "DD/MM/YYYY")

    UltimoPago = Format(dtpPagaDesde, "DD/MM/YYYY")

StrPagaDesdeHasta = "Select Paga_Desde,Paga_Hasta from PAGOS where Num_Afiliado =" & txtBuscAfiliado.Text & ""

    RstPagaDesdeHasta.Open StrPagaDesdeHasta, Base, adOpenStatic, adLockOptimistic

    With RstPagaDesdeHasta

        If !Paga_Desde > PagaHasta Then

            MsgBox "El mes de inicio ya se encuentra pago.", vbCritical, "VERIFICACIÓN FECHAS DE PAGO."

            dtpPagaDesde.SetFocus

            Else

                If !Paga_hasta < UltimoPago Then

                    MsgBox "Debe ingresar una fecha posterior al último mes de pago", vbInformation, "VERIFICACIÓN FECHAS DE PAGO."

                    DtpPagaHasta.SetFocus

                End If

        End If

    End With

End Sub

Adjunto una imagen del formulario de ingreso de pagos y el listado de los pagos que ya realizaron.

Espero me puedan dar una mano. Gracias!

1 Respuesta

Respuesta
1

Me olvidé que estaba esta pregunta! Lo pude resolver!

Como primera medida, modifiqué la manera en que estaba consultando... Primer error, La consulta la pasé al botón de pago...

Además en los DTPicker consulté lo referido a lo que correspondía al mismo DTPicker... El pagadesde por ejemplo, primero consulté si el valor del control es menor a lo que está en el campo. Y si lo qu etaba en el campo era inferior a lo que está en el control DTPicker del hasta...

Es todo cuestión de lógica y de trabajar un rato largo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas