Dim lastLINR Private Sub BBearbeiten_Click() If LLieferungen >= 0 Then lastLINR = LLieferungen DoCmd.OpenForm "FLieferungen", acNormal, , "LINR=" + Format(LLieferungen) End If End Sub Private Sub BChargenZuordnen_Click() If MsgBox("Wollen Sie alle Lieferungen des ausgewählten Lesejahres und der ausgewählten Zweigstelle automatisch eine Charge zuordnen? (Es werden nur Chargen zugeordnet, wenn nicht bereits eine Charge zugeordnet ist)", vbYesNo) = vbYes Then If TZNR > 0 Then ChargenZuLieferungenZuordnen TLesejahr, TZNR Else ChargenZuLieferungenZuordnen (TLesejahr) End If End If LLieferungen.Requery End Sub Private Sub BJahrWeiter_Click() If Not IsNull(TLesejahr) Then TLesejahr = TLesejahr + 1 RefreshAll End If End Sub Private Sub BJahrZurueck_Click() If Not IsNull(TLesejahr) Then TLesejahr = TLesejahr - 1 RefreshAll End If End Sub Private Sub Form_Activate() RefreshAll End Sub Private Sub Form_Load() If Month(Date) < 8 Then TLesejahr = year(Date) - 1 Else TLesejahr = year(Date) End If TSortierung = "Datum, Uhrzeit" lastLINR = -1 RefreshAll End Sub Private Sub LLieferungen_DblClick(Cancel As Integer) lastLINR = LLieferungen DoCmd.OpenForm "FLieferungen", acNormal, , "LINR=" + Format(LLieferungen) End Sub Private Sub TLesejahr_Exit(Cancel As Integer) RefreshAll End Sub Function GetFilter() As String Dim filter1 filter1 = "Year(Datum)=" + Format(TLesejahr) If Not IsNull(TZNR) Then filter1 = filter1 + " AND TLieferungen.ZNR=" + TZNR End If GetFilter = filter1 End Function Function GetOrder() As String If Not IsNull(TSortierung) Then GetOrder = " ORDER BY " + TSortierung Else GetOrder = "" End If End Function Sub RefreshAll() Dim filter1 Dim query1 'query1 = "SELECT TLieferungen.LINR, TLieferungen.Lieferscheinnummer AS Lieferscheinnr, TLieferungen.Datum, Format(TLieferungen.Uhrzeit,'HH:MM') as Zeit, TMitglieder.MGNR, [Nachname]+' '+IIf(IsNull([Vorname]),'',[Vorname]) AS Mitglied, TSorten.Bezeichnung AS Sorte, TLieferungen.Gewicht, TLieferungen.Oechsle, IIf(Storniert=True,'STORNIERT',Left(TLieferungen.Anmerkung,20)) AS Info FROM TSorten INNER JOIN (TMitglieder INNER JOIN TLieferungen ON TMitglieder.MGNR = TLieferungen.MGNR) ON TSorten.SNR = TLieferungen.SNR" 'query1 = "SELECT TLieferungen.LINR, TLieferungen.Lieferscheinnummer AS Lieferscheinnr, TLieferungen.Datum, Format(TLieferungen.Uhrzeit,'hh:nn') AS Zeit, TMitglieder.MGNR, [Nachname]+' '+IIf(IsNull([Vorname]),'',[Vorname]) AS Mitglied, TSorten.Bezeichnung AS Sorte, TSortenAttribute.Attribut, TLieferungen.Gewicht As kg, TLieferungen.Oechsle As Oe, IIf(Storniert=True,'STORNIERT',Left(TLieferungen.Anmerkung,20)) AS Info FROM (TSorten INNER JOIN (TMitglieder INNER JOIN TLieferungen ON TMitglieder.MGNR = TLieferungen.MGNR) ON TSorten.SNR = TLieferungen.SNR) LEFT JOIN TSortenAttribute ON TLieferungen.SANR = TSortenAttribute.SANR" query1 = "SELECT TLieferungen.LINR, TLieferungen.Lieferscheinnummer AS Lieferscheinnr, TLieferungen.Datum, Format(TLieferungen.Uhrzeit,'hh:nn') AS Zeit, TMitglieder.MGNR, [Nachname]+' '+IIf(IsNull([Vorname]),'',[Vorname]) AS Mitglied, TSorten.Bezeichnung AS Sorte, TSortenAttribute.Attribut, TLieferungen.Gewicht AS kg, TLieferungen.Oechsle AS Oe, IIf(Storniert=True,'STORNIERT',Left(TLieferungen.Anmerkung,20)) AS Info, TChargen.Chargennummer FROM ((TSorten INNER JOIN (TMitglieder INNER JOIN TLieferungen ON TMitglieder.MGNR = TLieferungen.MGNR) ON TSorten.SNR = TLieferungen.SNR) LEFT JOIN TSortenAttribute ON TLieferungen.SANR = TSortenAttribute.SANR) LEFT JOIN TChargen ON TLieferungen.CNR = TChargen.CNR" filter1 = GetFilter query1 = query1 + " WHERE " + filter1 + GetOrder 'MsgBox (query1) LLieferungen.RowSource = query1 LLieferungen.Requery LLieferungen.SetFocus If lastLINR = -1 And LLieferungen.ListCount > 0 Then 'MsgBox (LLieferungen.ItemData(1)) LLieferungen = LLieferungen.ItemData(1) End If If lastLINR >= 0 Then LLieferungen = lastLINR End If End Sub Private Sub TSortierung_Change() RefreshAll End Sub Private Sub TZNR_Change() RefreshAll End Sub