Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access 2000: Abfrage aktualisieren auf Knopdruck in Formular

Begonnen von Glaurung, Januar 24, 2011, 16:16:11

⏪ vorheriges - nächstes ⏩

Glaurung

Hallo
ich habe ein Formular mit ein paar Textfeldern und einem Button. Über die Textfelder gebe ich Suchparameter ein. Über den Button errechne ich aus den Parametern eine Where-Klausel und weise diese einer Select-Abfrage zu (CurrentDb.QueryDefs("Abfrage").sql = clause). Soweit funktioniert es. Schließlich will ich, dass diese Abfrage mit ihrer neuen Where-Klausel neu ausgeführt wird. Und genau daran hakt es.

Ich habe meine Abfrage in einem Unterformular in dem Formular, in dem auch die Textfelder und der Button stecken. Die Frage ist nun, wie ich der Abfrage mitteilen soll, dass sie noch einmal suchen soll. Me!ufo.Form.Requery funktioniert nicht.

Wahrscheinlich ist es ganz einfach, aber ich komme nicht drauf.

Die Alternativlösung mit einer Abfrage außerhalb des Formulars, die sich auf Knopfdruck öffnet, funktioniert zwar, allerdings öffnet sie sich genau auf meinem Formular, so dass ich meine Suchparameter nicht mehr sehe. Außerdem muss vor jedem Knopfdruck die Abfrage geschlossen werden, damit sie richtig geöffnet werden kann.

database

Hallo,

m.E. sprichst du das Unterformular nicht richtig an.

sieh mal hier rein:

http://www.donkarl.com?FAQ4.2
sowie den in der FAQ enthaltenen Link auf Dev Ashish

HTH

DF6GL

Hallo,

warum eigentlich so umständlich über die SQL-Eigenschaft einer gespeicherten Abfrage?

Wenn sich der Button ("btnSuchen") und die Textfelder in demjenigen Formular befinden, das auch die gefilterten Daten anzeigen soll , dann:

Sub btnSuchen_Click()
Dim clause as String
' clause = " Select * from tblTabelle where ID = 1"   ' hier den SQL-String wie gewünscht zusammensetzen
Me.Recordsource =clause    ' SQL-String der Form- Eigenschaft Recordsource zuweisen
End Sub


Mit der gespeicherten Abfrage halt:


Sub btbSuchen_Click()
Dim clause as String
' clause = " Select * from tblTabelle where ID = 1"   ' hier den SQL-String wie gewünscht zusammensetzen
CurrentDb.QueryDefs("Abfrage").sql = clause
Me.Recordsource ="Abfrage"     ' Abfrage(name) der Form- Eigenschaft Recordsource erneut (!) zuweisen
End Sub

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Glaurung

Danke für die Vorschläge, ich werde es ausprobieren, wenn ich Zeit habe.