Acceso a un proceso en función del tipo de documento.
He de realizar una serie de cálculos en función del tipo de Documento y días transcurridos.
Hay tres tipos de Documentos y en cada uno de ellos se realizan una serie de cálculos en función de los días desde la emisión del documento al pagodel mismo.
Según el tipo de documento he de trasladarme al bloque correspondiente para alcanzar los datos y realizar la operatoria de calculo.
Después de realizar el calculo he de salirme de la rutina y continuar leyendo el siguiente registros del formulario.
Utilizo estas rutina y no hay manera de que me funcione como deseo que es conseguir que quede reflejado el Tipo de descuento para aplicar
'* EMPRESAS *
Me.Dias = [FechaEntrega] - Date
DOCMD.SetWarnings False
DOCMD.GoToRecord , , acFirst
Dim i As Byte
If Me.TipoPedido = "EMPRESA" Then
For i = 1 To Form.Recordset.RecordCount
If [FechaEntrega] >= Date Then
'* Plazo 1
If DLookup("Plazo1Empresas", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo1Empresas", "PARAMETROSEMPRESA") Then
Me.Descuento = 1
GoTo Fin
Else
End If
Else
End If
'* Plazo 2
If DLookup("Plazo2Empresas", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo2Empresas", "PARAMETROSEMPRESA") Then
Me.Descuento = 2
GoTo Fin
Else
End If
Else
End If
'* Plazo 3
If DLookup("Plazo3Empresas", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo3Empresas", "PARAMETROSEMPRESA") Then
Me.Descuento = 3
GoTo Fin
Else
End If
Else
End If
'* Plazo 4
If DLookup("Plazo3Empresas", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo4Empresas", "PARAMETROSEMPRESA") Then
Me.Descuento = 4
GoTo Fin
Else
End If
Else
End If
End If
'*
DOCMD.GoToRecord , , acNext
Next
'*
'Else
'End If
'* PARTICULARES
'If "TpoPedido" = "PARTICULARES" Then
DOCMD.SetWarnings False
DOCMD.GoToRecord , , acFirst
For i = 1 To Form.Recordset.RecordCount
If [FechaEntrega] >= Date Then
'* Plazo 1
If DLookup("Plazo1Particulares", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo1Particulares", "PARAMETROSEMPRESA") Then
Me.Descuento = 1
GoTo Fin
Else
End If
Else
End If
'* Plazo 2
If DLookup("Plazo2Particulares", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo2Particulares", "PARAMETROSEMPRESA") Then
Me.Descuento = 2
GoTo Fin
Else
End If
Else
End If
'* Plazo 3
If DLookup("Plazo3Particulares", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo3Particulares", "PARAMETROSEMPRESA") Then
Me.Descuento = 3
GoTo Fin
Else
End If
Else
End If
'* Plazo 4
If DLookup("Plazo4Particulares", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo4Particulares", "PARAMETROSEMPRESA") Then
Me.Descuento = 4
GoTo Fin
Else
End If
Else
End If
End If
'*
DOCMD.GoToRecord , , acNext
Next
'*
'Else
'End If
'* EVENTOS *
DOCMD.SetWarnings False
DOCMD.GoToRecord , , acFirst
For i = 1 To Form.Recordset.RecordCount
If [FechaEntrega] >= Date Then
VerDias = [FechaEntrega] - Date
'* Plazo 1
If DLookup("Plazo1Eventos", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo1Eventos", "PARAMETROSEMPRESA") Then
Me.Descuento= 1
GoTo Fin
Else
End If
Else
End If
'* Plazo 2
If DLookup("Plazo2Eventos", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo2Eventos", "PARAMETROSEMPRESA") Then
Me.Descuento = 2
GoTo Fin
Else
End If
Else
End If
'* Plazo 3
If DLookup("Plazo3Eventos", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo3Eventos", "PARAMETROSEMPRESA") Then
Me.Descuento = 3
GoTo Fin
Else
End If
Else
End If
'* Plazo 4
If DLookup("Plazo4Eventos", "PARAMETROSEMPRESA") <> 0 Then
If Me.Dias <= DLookup("Plazo4Eventos", "PARAMETROSEMPRESA") Then
Me.Descuento = 4
GoTo Fin
Else
End If
Else
End If
End If
'*
Fin:
DOCMD.GoToRecord , , acNext
Next
'*
End If
End Sub