Files
elwig-misc/wgmaster/vba/Form_FAuszahlungParameter.frm
2022-11-14 23:29:49 +01:00

167 lines
4.1 KiB
Plaintext

Option Compare Database
Option Explicit
Private Sub BOk_Click()
Dim a(0 To 5) As Double
Dim g(0 To 5) As Double
Dim o(0 To 5) As Double
Dim i As Integer
Dim aznr1 As Long
Dim QSNR1 As Long
Dim SNR1 As String
Dim SANR1 As String
Dim start1 As Long
Dim gebunden1 As Integer
Dim maxreihe As Integer
Dim Oechsle1 As Long
Dim db1 As Database
Dim rs1 As Recordset
aznr1 = Forms!FAuszahlung!TAZNR
SNR1 = Forms!FAuszahlung!TSNR
gebunden1 = Forms!FAuszahlung!TGebunden
If IsNull(Forms!FAuszahlung!TSANR) Then
SANR1 = "NULL"
Else
SANR1 = "'" + Forms!FAuszahlung!TSANR + "'"
End If
maxreihe = 0
If Not IsNull(TO1) Then
o(1) = TO1
a(1) = TA1
g(1) = TG1
maxreihe = 1
End If
If Not IsNull(TO2) Then
o(2) = TO2
a(2) = TA2
g(2) = TG2
maxreihe = 2
End If
If Not IsNull(TO3) Then
o(3) = TO3
a(3) = TA3
g(3) = TG3
maxreihe = 3
End If
If Not IsNull(TO4) Then
o(4) = TO4
a(4) = TA4
g(4) = TG4
maxreihe = 4
End If
If Not IsNull(TO5) Then
o(5) = TO5
a(5) = TA5
g(5) = TG5
maxreihe = 5
End If
If maxreihe = 0 Then
MsgBox "Sie müssen zumindest die Parameter für Reihe 1 eingeben!", vbCritical
Exit Sub
End If
Set db1 = CurrentDb
Set rs1 = db1.OpenRecordset("SELECT * FROM TAuszahlungSorten WHERE AZNR=" + Format(aznr1) + " AND SNR='" + Format(SNR1) + "' AND Gebunden=" + Format(gebunden1) + " AND SANR=" + SANR1)
While Not rs1.EOF
rs1.Edit
Oechsle1 = rs1!Oechsle
i = maxreihe
While i > 0 And Oechsle1 < o(i)
i = i - 1
Wend
If i > 0 Then
rs1!Betrag = g(i) + (Oechsle1 - o(i)) * a(i)
Else
rs1!Betrag = 0
End If
rs1.Update
rs1.MoveNext
Wend
rs1.Close
'Parameter sichern
If Not IsNull(TO1) Then SetParameter "AuszahlungParameterReihe1OechsleStart", TO1
If Not IsNull(TO2) Then SetParameter "AuszahlungParameterReihe2OechsleStart", TO2
If Not IsNull(TO3) Then SetParameter "AuszahlungParameterReihe3OechsleStart", TO3
If Not IsNull(TO4) Then SetParameter "AuszahlungParameterReihe4OechsleStart", TO4
If Not IsNull(TO5) Then SetParameter "AuszahlungParameterReihe5OechsleStart", TO5
If Not IsNull(TG1) Then SetParameter "AuszahlungParameterReihe1Grundwert", TG1
If Not IsNull(TG2) Then SetParameter "AuszahlungParameterReihe2Grundwert", TG2
If Not IsNull(TG3) Then SetParameter "AuszahlungParameterReihe3Grundwert", TG3
If Not IsNull(TG4) Then SetParameter "AuszahlungParameterReihe4Grundwert", TG4
If Not IsNull(TG5) Then SetParameter "AuszahlungParameterReihe5Grundwert", TG5
If Not IsNull(TA1) Then SetParameter "AuszahlungParameterReihe1Anstieg", TA1
If Not IsNull(TA2) Then SetParameter "AuszahlungParameterReihe2Anstieg", TA2
If Not IsNull(TA3) Then SetParameter "AuszahlungParameterReihe3Anstieg", TA3
If Not IsNull(TA4) Then SetParameter "AuszahlungParameterReihe4Anstieg", TA4
If Not IsNull(TA5) Then SetParameter "AuszahlungParameterReihe5Anstieg", TA5
DoCmd.Close
Forms!FAuszahlung!FUnter1.Requery
End Sub
Private Sub Form_Open(Cancel As Integer)
Dim v
v = GetParameter("AuszahlungParameterReihe1OechsleStart")
If Not IsNull(v) Then TO1 = v
v = GetParameter("AuszahlungParameterReihe2OechsleStart")
If Not IsNull(v) Then TO2 = v
v = GetParameter("AuszahlungParameterReihe3OechsleStart")
If Not IsNull(v) Then TO3 = v
v = GetParameter("AuszahlungParameterReihe4OechsleStart")
If Not IsNull(v) Then TO4 = v
v = GetParameter("AuszahlungParameterReihe5OechsleStart")
If Not IsNull(v) Then TO5 = v
v = GetParameter("AuszahlungParameterReihe1Grundwert")
If Not IsNull(v) Then TG1 = v
v = GetParameter("AuszahlungParameterReihe2Grundwert")
If Not IsNull(v) Then TG2 = v
v = GetParameter("AuszahlungParameterReihe3Grundwert")
If Not IsNull(v) Then TG3 = v
v = GetParameter("AuszahlungParameterReihe4Grundwert")
If Not IsNull(v) Then TG4 = v
v = GetParameter("AuszahlungParameterReihe5Grundwert")
If Not IsNull(v) Then TG5 = v
v = GetParameter("AuszahlungParameterReihe1Anstieg")
If Not IsNull(v) Then TA1 = v
v = GetParameter("AuszahlungParameterReihe2Anstieg")
If Not IsNull(v) Then TA2 = v
v = GetParameter("AuszahlungParameterReihe3Anstieg")
If Not IsNull(v) Then TA3 = v
v = GetParameter("AuszahlungParameterReihe4Anstieg")
If Not IsNull(v) Then TA4 = v
v = GetParameter("AuszahlungParameterReihe5Anstieg")
If Not IsNull(v) Then TA5 = v
End Sub