Hallo liebe NG,
vielen Dank erstmal für all die Hilfen, leider funktioniert es nicht.
Ich habŽ esjetzt mal mit einer einfacheren Abfrage probiert, die Ihr unten
seht.
Später möchte ich die Abfrage noch entsprechend verändern, da Sie praktisch
mit Daten aus einem Formular gefüllt wird und somit als "Suchmaschine"
verwendet wird.
Die ausgewählten Datensätze kann man dann durch Doppelklick direkt ändern.
Das machŽ ich natürlich aber mit getrennten SubŽs.
Nur, damit Ihr wisst, was noch alles passiert und warum ich diesen Aufwand
mache.
In diesem Zusammenhang habŽ ich dann auch schon das zweite Problem. In der
größeren SQL sind verschiedene Abfragen miteinander in Beziehung gesetzt,
meist 1:n. Um zu vermeiden, dass mir also 5 Datensätze angezeigt werden,
weil ich 5 Datensätze in der n zu dem einen Datensatz habe, soll ich die
Diestinct verwenden. Keine Ahnung, wo ich die einbaue. HabŽ schon einiges
probiert.
Mein größtes Problem ist aber erstmal, dass ich keine Daten angezeigt
bekomme.
Der SQL müsste eigentlich passen, oder ?
An was kann das noch liegen? Ich habŽ das in einer anderen DB schonmal
ausprobiert und es hat geklappt. HabŽ alles genau verglichen. Im Grunde ist
alles identisch.
Also, Ihr seht in der ersten Sub die einfache SQL und wie es dann weiter
gehen sollte, als Kommentare bezeichnet.
Private Sub Datensuche()
Dim a, b, strsql, strkrit, strorder As String
a = "SELECT tbl_master.IDMain, tbl_master.LfdNr, tbl_master.EAS,
tbl_master.Datum, tbl_master.Uhrzeit, tbl_master.JahrMonat,
tbl_master.Geheim, tbl_master.Dringlich, tbl_master.Ersteller,
tbl_master.Abgeschlossen, tbl_master.Zeit "
b = "FROM tbl_master;"
strsql = a & b
'strkrit = " WHERE 1=1"
'If Not IsNull(Forms!frm_suche!idmain) Then
'strkrit = strkrit & " AND (qry_master_suche.IDMain like '" &
Forms!frm_suche!idmain & "*') "
'End If
'strOrder = " ORDER BY tbl_master.IdMain "
'strSQL = strSQL & " " & strKrit & " " & strOrder
Forms!frm_suche!lst_search.RowSource = strsql ' Datenherkunft für das
Listenfeld aus dem SQL-String bestimmen
Forms!frm_suche!lst_search.ColumnCount = 11 ' Spaltenanzahl
Forms!frm_suche!lst_search.ColumnWidths = "3cm, 3cm, 3cm, 3cm, 3cm, 3cm,
3cm, 3cm, 3cm, 3cm, 3cm" ' Spaltenbreite
End Sub
Die große SQL sieht so aus. Der Rest bleibt ja dann eigentlich gleich, bis
auf das, dass ich die Spalten verändere und mehere Kriterien hinzukommen
sowie die strsql mit mehrerne Variablen definiert wird.
Private Sub Datensuche()
...
a = "SELECT qry_master_suche.IDMain, qry_master_suche.LfdNr,
qry_master_suche.EAS, qry_master_suche.Datum, qry_master_suche.Uhrzeit,
qry_master_suche.Geheim, qry_master_suche.geheimhaltung,
qry_master_suche.Dringlich, qry_master_suche.Dringlichkeit,
qry_master_suche.Ersteller, qry_master_suche.Abgeschlossen,
qry_master_suche.Zeit, qry_absender_suche.Absender,
qry_absender_suche.Abkuerzung, qry_absender_suche.AZ_Absender,
qry_absender_suche.FSNR_Absender, qry_absender_suche.Ursprungsdatum,
qry_absender_suche.Bearbeiter, qry_absender_suche.Zeit,
qry_weitergeleitet_suche.Weitergeleitet,
qry_weitergeleitet_suche.Abkuerzung,
qry_weitergeleitet_suche.AZ_Weitergeleitet,
qry_weitergeleitet_suche.FSNR_Weitergeleitet,
qry_weitergeleitet_suche.tbl_weitergeleitet.Uebermittlung,
qry_weitergeleitet_suche.tbl_uebermittlung.Uebermittlung,
qry_weitergeleitet_suche.Bearbeiter, qry_weitergeleitet_suche.Zeit,
qry_empfaenger_suche.idorganisation, qry_empfaenger_suche.Abkuerzung, "
b = "qry_empfaenger_suche.tbl_empfaenger_join.Uebermittlung ,
qry_empfaenger_suche.tbl_uebermittlung.Uebermittlung,
qry_empfaenger_suche.Erreichbarkeit, qry_empfaenger_suche.Notiz,
qry_empfaenger_suche.Uhrzeit, qry_empfaenger_suche.Bearbeiter,
qry_empfaenger_suche.Zeit, qry_etb_suche.idetb, qry_etb_suche.ETB,
qry_etb_suche.lfdnr, qry_etb_suche.Bearbeiter, qry_etb_suche.Zeit,
qry_schlagwort_suche.tbl_schlagwort_join.Schlagwort,
qry_schlagwort_suche.tbl_schlagwort.Schlagwort,
qry_schlagwort_suche.Bearbeiter, qry_schlagwort_suche.Zeit,
qry_bearbeitungsvermerk_suche.Vermerk,
qry_bearbeitungsvermerk_suche.Benutzer, qry_bearbeitungsvermerk_suche.Zeit "
c = "FROM (((((qry_master_suche LEFT JOIN qry_etb_suche ON
qry_master_suche.IDMain = qry_etb_suche.idmain) LEFT JOIN
qry_empfaenger_suche ON qry_master_suche.IDMain =
qry_empfaenger_suche.idmain) LEFT JOIN qry_bearbeitungsvermerk_suche ON
qry_master_suche.IDMain = qry_bearbeitungsvermerk_suche.IDMain) LEFT JOIN
qry_schlagwort_suche ON qry_master_suche.IDMain =
qry_schlagwort_suche.IDMain) LEFT JOIN qry_absender_suche ON
qry_master_suche.IDMain = qry_absender_suche.IDMain) LEFT JOIN
qry_weitergeleitet_suche ON qry_master_suche.IDMain =
qry_weitergeleitet_suche.IDMain "
strsql = a & b & c
......
End Sub
Vielen Dank, MfG
Jörg Meier