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