Files
elwig-misc/wgmaster/vba/form/Form_MAuswertungMitglieder.frm

129 lines
3.5 KiB
Plaintext

Private Sub Befehl19_Click()
DoCmd.OpenReport "BFlaechenbindungen", acViewPreview
End Sub
Private Sub BJahrMinus_Click()
If Not IsNull(TJahr) Then
TJahr = TJahr - 1
RefreshAll
End If
End Sub
Private Sub BJAhrPlus_Click()
If Not IsNull(TJahr) Then
TJahr = TJahr + 1
RefreshAll
End If
End Sub
Private Sub BKonsistenzprüfung_Click()
DoCmd.OpenForm ("MMitgliederKonsistenz")
End Sub
Private Sub BVolllieferanten_Click()
DoCmd.OpenReport "BMitgliederlisteVolllieferanten", acViewPreview
End Sub
Private Sub Form_Open(Cancel As Integer)
TJahr = year(Date)
RefreshAll
End Sub
Private Sub RefreshAll()
filter1 = GetFilter
filter2 = " AND [Aktives Mitglied]=True AND ( Year(Eintrittsdatum)<=" + Format(Forms!MAuswertungMitglieder!TJahr) + " OR Isnull(Eintrittsdatum)) " + " AND (Year(Austrittsdatum)>=" + Format(Forms!MAuswertungMitglieder!TJahr) + " OR Isnull(Austrittsdatum))"
'TAnzahlAktiveMitglieder
TAnzahlAktiveMitglieder = DCount("MGNR", "TMitglieder", "MGNR>=0 " + filter1 + filter2)
'TGA1
TGA1 = DSum("[Geschäftsanteile1]", "TMitglieder", "MGNR>=0 " + filter1 + filter2)
'TAnzahlFlaechengebundeneMitglieder
TAnzahlFlaechengebundeneMitglieder = DCount("TMitglieder.MGNR", "TMitglieder", "MGNR IN (SELECT DISTINCT TMitglieder.MGNR FROM TMitglieder INNER JOIN TFlaechenbindungen ON TMitglieder.MGNR = TFlaechenbindungen.MGNR WHERE TFlaechenbindungen.Von<= " + Format(Forms!MAuswertungMitglieder!TJahr) + " AND (TFlaechenbindungen.Bis>=" + Format(Forms!MAuswertungMitglieder!TJahr) + " OR isnull(TFlaechenbindungen.Bis))) " + filter1)
'TVollmitglieder
TVollmitglieder = DCount("MGNR", "TMitglieder", "[Volllieferant]=True" + filter1 + filter2)
'TGebundeneFlaecheGesamt
'TGebundeneFlaecheGesamt = DSum("Flaeche", "TFlaechenbindungen", "MGNR IN (SELECT DISTINCT TMitglieder.MGNR FROM TMitglieder INNER JOIN TFlaechenbindungen ON TMitglieder.MGNR = TFlaechenbindungen.MGNR WHERE TFlaechenbindungen.Von<=" + Format(Forms!MAuswertungMitglieder!TJahr) + " AND (TFlaechenbindungen.Bis>=" + Format(Forms!MAuswertungMitglieder!TJahr) + " OR isnull(TFlaechenbindungen.Bis)) " + filter1 + " ) ")
TGebundeneFlaecheGesamt = GetGebundeneFlächeGesamt(filter1)
'LFlaechenbindungen
Dim query1 As String
query1 = "SELECT DISTINCT TSorten.Bezeichnung, Sum(TFlaechenbindungen.Flaeche) AS [Gesamtflaeche] FROM (TMitglieder INNER JOIN TFlaechenbindungen ON TMitglieder.MGNR = TFlaechenbindungen.MGNR) INNER JOIN TSorten ON TFlaechenbindungen.SNR = TSorten.SNR WHERE TFlaechenbindungen.Von<=" + Format(Forms!MAuswertungMitglieder!TJahr) + " AND (TFlaechenbindungen.Bis >= " + Format(Forms!MAuswertungMitglieder!TJahr) + " OR isnull(TFlaechenbindungen.Bis)) " + filter1 + " GROUP BY TSorten.Bezeichnung;"
LFlaechenbindungen.RowSource = query1
LFlaechenbindungen.Requery
End Sub
Function GetGebundeneFlächeGesamt(filter) As Double
Dim db1 As Database
Dim rs1 As Recordset
Dim year As String
Dim fb As Double
Set db1 = CurrentDb
year = Format(Forms!MAuswertungMitglieder!TJahr)
fb = 0
Set rs1 = db1.OpenRecordset("SELECT * FROM TMitglieder INNER JOIN TFlaechenbindungen ON TMitglieder.MGNR=TFlaechenbindungen.MGNR WHERE [Aktives Mitglied]=True AND (Von<=" + year + " or Von=Null) AND (Bis>=" + year + " or Bis=Null) " + filter)
While Not rs1.EOF
If Not IsNull(rs1("Flaeche")) Then
fb = fb + rs1("Flaeche")
End If
rs1.MoveNext
Wend
rs1.Close
GetGebundeneFlächeGesamt = fb
End Function
Function GetFilter() As String
If IsNull(TZNR) Or TZNR = "" Or TZNR <= 0 Then
GetFilter = ""
Else
GetFilter = " AND ZNR=" + Format(TZNR)
End If
End Function
Private Sub TZNR_Change()
RefreshAll
End Sub