Dim lastCNR 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 BUmfuellen_Click() Dim CNR1 As Long Select Case XUmfuellenOption Case 1: 'vorhandene ChargeUmfuellen Forms("MChargenAuswahl")!LChargen, LChargen, TMenge, OMengeZuruecksetzen, OOechsleZuruecksetzen, OStatusEntleert Case 2: 'neue CNR1 = ChargeClonen(Forms("MChargenAuswahl")!LChargen, TBNR, 0, 0) ChargeUmfuellen Forms("MChargenAuswahl")!LChargen, CNR1, TMenge, OMengeZuruecksetzen, OOechsleZuruecksetzen, OStatusEntleert End Select DoCmd.Close End Sub Private Sub Form_Activate() RefreshAll End Sub Private Sub Form_Load() OMengeZuruecksetzen = True OOechsleZuruecksetzen = True OStatusEntleert = True If Month(Date) < 9 Then TLesejahr = year(Date) - 1 Else TLesejahr = year(Date) End If lastCNR = -1 TMenge = DFirst("Menge", "TChargen", "CNR=Forms!MChargenAuswahl!LChargen") XUmfuellenOption = 1 RefreshAll End Sub Private Sub LChargen_DblClick(Cancel As Integer) lastCNR = LChargen ChargeUmfuellen Forms("MChargenAuswahl")!LChargen, LChargen, TMenge, OMengeZuruecksetzen, OOechsleZuruecksetzen, OStatusEntleert DoCmd.Close End Sub Private Sub TLesejahr_Exit(Cancel As Integer) RefreshAll End Sub Function GetFilter() As String Dim filter1 filter1 = "Jahrgang=" + Format(TLesejahr) filter1 = filter1 + " AND TChargen.CSNR=2" filter1 = filter1 + " AND TChargen.CNR<>" + Format(Forms("MChargenAuswahl")!LChargen) If Not IsNull(TZNR) Then filter1 = filter1 + " AND TChargen.ZNR=" + TZNR End If GetFilter = filter1 End Function Function GetOrder() As String GetOrder = " ORDER BY BefuellungsBeginn" End Function Sub RefreshAll() Dim filter1 Dim query1 'query1 = "SELECT TLieferungen.CNR, 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 TChargen.CNR, TChargen.Chargennummer as ChNr, TChargen.Befuellungsbeginn as BefStart, TChargen.Befuellungsende as BefEnde, TChargen.BehaelterEntleertAm as Entleerg, TChargenStatus.ChargenStatus as Status, TChargen.SNR, TChargen.SANR, TQualitaetsstufen.Bezeichnung as Qualitaet, TChargen.Menge,TBehaelter.Kurzbezeichnung as Behaelter, TZweigstellen.Name as Zweigstelle FROM ((TZweigstellen RIGHT JOIN (TChargen LEFT JOIN TChargenStatus ON TChargen.CSNR = TChargenStatus.CSNR) ON TZweigstellen.ZNR = TChargen.ZNR) LEFT JOIN TBehaelter ON TChargen.BNR = TBehaelter.BNR) LEFT JOIN TQualitaetsstufen ON TChargen.QSNRVon = TQualitaetsstufen.QSNR" filter1 = GetFilter query1 = query1 + " WHERE " + filter1 + GetOrder 'MsgBox (query1) LChargen.RowSource = query1 LChargen.Requery 'LChargen.SetFocus If lastCNR = -1 And LChargen.ListCount > 0 Then 'MsgBox (LChargen.ItemData(1)) LChargen = LChargen.ItemData(1) End If If lastCNR >= 0 Then LChargen = lastCNR End If End Sub Private Sub TSortierung_Change() RefreshAll End Sub Private Sub TZNR_Change() RefreshAll End Sub Private Sub XUmfuellenOption_Click() Select Case XUmfuellenOption Case 1: 'vorhandene LChargen.Visible = True TLesejahr.Visible = True TZNR.Visible = True BJahrZurueck.Visible = True BJahrWeiter.Visible = True TBNR.Visible = False LBehaelter.Visible = False Case 2: 'neue TBNR.Visible = True LChargen.Visible = False TLesejahr.Visible = False TZNR.Visible = False BJahrZurueck.Visible = False BJahrWeiter.Visible = False LBehaelter.Visible = True End Select End Sub