auf einem Formular mit Unterform möchte ich in ein Textfeld einen Wert eingeben und mit diesem dann eine Tabelle mit mehreren Spalten duchsuchen. Die gefundenen Datensätze sollen in dem Unterformular angezeigt werden…
Ich hab mir nun eine Parameter-Abfrage erstellt, die auch funktioniert.
Dim db As Database
Dim qry As QueryDef
Dim rs As Recordset
Set db = CurrentDb
Set qry = db.QueryDefs("qryParameter")
qry.Parameters("param1") = txtSuchbegriff.Value
Set rs = qry.OpenRecordset
Wie weise ich nun aber meinem Unterform in der Eigenschaft Recordsource das Ergebnis zu???
Zweiter Ansatz
Ich hab nun eine zweite Lösung, bei der zumindest die Abfrage utner Access funktioniert. Allerdings hab ich noch ein Problem bei der Umsetzung der Access-SQL Abfrage nach VBA…
So sieht mein Code in der SQL-Ansicht bei Access aus…
SELECT DateiID, KatID, DateiPath, DateiSize, DateiDate, Lang, Thema, Titel, Author, Kommentar
FROM tbl\_Datei
WHERE (((tbl\_Datei.DateiID) Like [Formulare]![frmSuche]![txtSuchbegriffe] & "\*"));
Ich weise den SQLString meinem Unterformular zu …
Form\_USuche.RecordSource = "SELECT DateiID, KatID, DateiPath, DateiSize, DateiDate, Lang, Thema, Titel, Author, Kommentar FROM tbl\_Datei WHERE DateiID Like [Formulare]![frmSuche]![txtSuchbegriff] & '\*';"
Aber er bringt mir die Ergebnisse nicht zur Anzeige… was läuft da falsch?
Danke für den Hinweis… theoretisch mag das klappen, praktisch wird bei mir im UForm aber kein Datensatz angezeigt…
Dem Formular wird der String zugewiesen in der Eigenschaft Recordsource, aber er findet nix…
Nochmal zur Erläuterung:
Ich hab eine Tabelle in der ich über ein Formular nach Textfolgen in allen Feldern suchen möchte.
Das Formular hat ein Textfeld, indem der Suchbegriff reinkommt, einen button zum Starten über den ich dem UForm die Recordsource-Eigenschaft setze, und das UForm selber…
Ich suche auch nach anderen Daten in nur einer Spalte, da funktioniert es Problemlos
Form\_USuche.RecordSource = "SELECT \* FROM tbl\_Datei WHERE Author='" & txtSuchbegriff.Value & "'"
Nur mit der - ich nenn es mal Volltextsuche - tut sich das UForm schwer…
Wenn ich das ganze wie oben im Ersten Ansatz per recordset Abfrage starte, funktionierts auch, nur ich weiss nicht, ob ich das Ergebnis (also das Recordset) direkt einem UForm zuweisen kann…
mennno, immer voll die blöden Aufträge die ich hab
Vielleicht hat ja noch jemand einen Lösungsansatz…
WHERE (((tbl_Datei.DateiID) Like
[Formulare]![frmSuche]![txtSuchbegriffe] & „*“));
suchst du in der ID nach deinem Suchbegriff!! Mehr nicht! Das
ist KEINE Volltextsuche!!
http://home.arcor.de/msregenbogen/abfrage.jpg HIER findest Du ein Bild der Abfrage aus dem Access-Editor, die funktioniert einwandfrei wenn ich sie starte und das Feld txtSuchbegriff gefüllt ist… Es werden Werte in allen Feldern gefunden
Ich weise den SQLString meinem Unterformular zu …
überflüssig, wenn du die Abfrage gleich als Datenquelle
angibst!
Hab ich versucht, aber mal wieder nur Fehler kassiert
nö so macht man das nicht. Übergebe die direkte SQL-Anweisung beim Ereignis: beim öffnen und gehe nicht über die Querydefs! und wie schon gesagt: vergesse das Requery nicht!
BTW wenn du das Formular mit den Ergebnissen öffnest, muss das Suchfenster noch offen sein!!! Schalte es auf unsichtbar und schließe es nicht! Möglicher Weise verursacht das deine Fehler?
nö so macht man das nicht. Übergebe die direkte SQL-Anweisung
beim Ereignis: beim öffnen und gehe nicht über die Querydefs!
und wie schon gesagt: vergesse das Requery nicht!
beim Öffnen vom Unterformular? requery mach ich anschliessend…
BTW wenn du das Formular mit den Ergebnissen öffnest, muss das
Suchfenster noch offen sein!!! Schalte es auf unsichtbar und
schließe es nicht! Möglicher Weise verursacht das deine
Fehler?
Ich hab ja nur ein Form, auf dem sint txtsuchbegriff, der suche-starten-button und das Unterformular für die Ergebnisse drauf…