Dim f_linr(0 To 1000) As Long Dim f_count As Long Private Sub BLöschen_Click() Dim i As Integer If MsgBox("Wollen Sie die ausgewählten Lieferungen wirklich löschen?", vbYesNo) = vbYes Then For i = 0 To LLieferungen.ListCount - 1 If LLieferungen.Selected(i) Then If DFirst("Gewicht", "TLieferungen", "LINR=" + Format(LLieferungen.ItemData(i))) > 0 Then If MsgBox("Die Lieferung mit LINR=" + Format(LLieferungen.ItemData(i)) + " enthält ein Gewicht > 0. Wollen Sie sie wirklich löschen ?", vbYesNo) = vbYes Then 'Löschen LieferscheinLöschen (LLieferungen.ItemData(i)) End If Else 'Löschen LieferscheinLöschen (LLieferungen.ItemData(i)) End If End If Next i LLieferungen.Requery End If End Sub Sub LieferscheinLöschen(LINR1 As Long) Dim db1 As Database Set db1 = CurrentDb db1.Execute ("DELETE * FROM TLieferungAbschlag WHERE LINR=" + Format(LINR1) + ";") db1.Execute ("DELETE * FROM TLieferungen WHERE LINR=" + Format(LINR1) + ";") End Sub Private Sub BWeiter_Click() TLesejahr = TLesejahr - 1 BuildList End Sub Private Sub BZurueck_Click() TLesejahr = TLesejahr + 1 BuildList End Sub Private Sub Form_Open(Cancel As Integer) If Month(Date) > 7 Then TLesejahr = year(Date) Else TLesejahr = year(Date) - 1 End If BuildList End Sub Private Sub LLieferungen_DblClick(Cancel As Integer) If LLieferungen.ListIndex >= 0 Then DoCmd.OpenForm "FLieferungen", , , "LINR=" + Format(LLieferungen.ItemData(LLieferungen.ListIndex + 1)) End If End Sub Private Sub TLesejahr_Exit(Cancel As Integer) BuildList End Sub Sub BuildList() Dim db1 As Database Dim rs1 As Recordset Dim where2 As String Dim query1 As String Dim where1 As String Dim order1 As String Dim order2 As String query1 = "SELECT LINR, Lieferscheinnummer, TLieferungen.Datum, TLieferungen.Uhrzeit, TLieferungen.SNR, TSorten.Bezeichnung, TLieferungen.MGNR, TMitglieder.Nachname, TMitglieder.Vorname, TLieferungen.Gewicht, TLieferungen.Oechsle, TLieferungen.Storniert FROM TMitglieder RIGHT JOIN (TSorten RIGHT JOIN TLieferungen ON TSorten.SNR = TLieferungen.SNR) ON TMitglieder.MGNR = TLieferungen.MGNR" order2 = " ORDER BY LINR" f_count = 0 where2 = "AND Year(TLieferungen.Datum)=" + Format(TLesejahr) Set db1 = CurrentDb Set rs1 = db1.OpenRecordset("SELECT LINR FROM TMitglieder RIGHT JOIN (TSorten RIGHT JOIN TLieferungen ON TSorten.SNR = TLieferungen.SNR) ON TMitglieder.MGNR = TLieferungen.MGNR WHERE (Lieferscheinnummer Is Null Or Nachname is null or Bezeichnung is null or Oechsle is null or Gewicht is null) " + where2 + order2) While Not rs1.EOF f_linr(f_count) = rs1!LINR f_count = f_count + 1 rs1.MoveNext Wend rs1.Close where1 = " WHERE LINR IN (-1," For i = 0 To f_count - 1 where1 = where1 + Format(f_linr(i)) + "," Next i where1 = Left(where1, Len(where1) - 1) + ")" order1 = " ORDER BY LINR" LLieferungen.RowSource = query1 + where1 + order1 LLieferungen.Requery End Sub