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