Datenherkunft eines Formular -> Abfrage

Hallo liebe wer-weiss-was-Gemeinde,

ich habe folgendes Anliegen: Ich habe ein Formular, indem man durch verschiedene Steuerelemente, die Datenherkunft verändern/filtern kann. Jetzt würde ich gerne ein Abfrage erstellen, die immer genau die Datenkerkunft dieses Formulars abbildet, also deren Inhalt immer das Formular repräsentiertt…Leider ist es mir bisher nicht gelungen das Recordset des Formular i-wie als Datenherkunft für die Abfrage anzugeben. Hat jm. eine Idee wie das geht?

Gruß

Konstantin

Hallo,

verstehe das nicht ganz…

Du möchtest die Abfrage von hinten aufzäumen ?

Wenn Du einen SQL-String (Abfrage) haben möchtest, die den augenblicklichen Filter-Zustand des Forms darstellt, dann muß der SQL-String „synchron“ mit den Filtervorgängen (Where-Condition der SQL)zusammengebaut werden.

Besser wäre aber, erst anhand der Filterkriterien eine kompletten/passenden SQL-String per VBA zusammen zu stellen und sowohl einer Abfrage (deren Eigenschaft „SQL“ ) als auch der Datenherkunft des Forms zuzuweisen. Es wäre auch möglich den Abfragenamen statisch in die Datenherkunft des Forms einzutragen und nach erneuten Zusammenstellen und Zuweisen des SQL-Strings an die Abfrage ein Me.Requery im Form auszulösen.

asd

„Wenn Du einen SQL-String (Abfrage) haben möchtest, die den augenblicklichen Filter-Zustand des Forms darstellt, dann muß der SQL-String „synchron“ mit den Filtervorgängen (Where-Condition der SQL)zusammengebaut werden.“

Wie lautet da der Befehl? Wenn meine Abfrage „qryPersonen_OUTPUT“ heißt, kann ich dann bsp. schreiben:

qryPersonen_OUTPUT = "SELECT * FROM qryPersonen_Versicherung WHERE […]

Danke und Gruß

Konstantin

Hallo,

so:

Currentdb.Querydefs!qryPersonen_OUTPUT.SQL = "SELECT * FROM qryPersonen_Versicherung WHERE […]

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Super, klappt 1A. Dankeschön! Gruß Konstantin

Ich bin’s doch nochmal. Jetzt hat sich nämlich folgendes ergeben. Die Abfrage, die so eben mit euerer Hilfe erstellt habe, wollte ich jetzt bei einem Serienbrief in Word als Datenquelle nutzen. Allerdings werden keien Daten angezeigt, obwohl in der Abfrage Datensetze enthalten sind. In Excel dasselbe. Bei anderen Abfragen tritt der Fehler nicht auf. Hab ihr eine Idee, woran das liegen könnte?

Gruß und Danke

Konstantin

Hallo Konstantin,

Hab ihr eine Idee, woran das liegen könnte?

ja, haben wir, aber ohne deine Abfrage zu kennen, würden wir nur raten.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo,

im Prinzip wird die Abfrage durch ein Formular „erstellt“ bzw. „gefiltert“. Im Formular sieht, dass dann so aus, wobei noch ein paar Bedingungen kommen.

Currentdb.Querydefs!qryPersonen_OUTPUT.SQL = "SELECT * FROM qryPersonen_Versicherung WHERE […]

Die Abfrage an sich funktioniert auch und zeigt das richitge an, nur der Export klappt nicht…

Gruß

Konstantin

Hallo,

im Prinzip wird die Abfrage durch ein Formular „erstellt“ bzw.
„gefiltert“. Im Formular sieht, dass dann so aus, wobei noch
ein paar Bedingungen kommen.

tja, und gerade DIESE Bedingungen sind das Entscheidende!!!

Die Abfrage an sich funktioniert auch und zeigt das richitge
an, nur der Export klappt nicht…

WIE exportierst du denn?

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Also je nachdem: Aber im Grunde genommen sieht es immer so aus:

CurrentDb.QueryDefs!qryPersonen_OUTPUT.SQL = „SELECT * FROM qryPersonen_1 WHERE (Anrede LIKE '“ & strAnrede & „*’) AND (Vorname LIKE '“ & strVorname & „*’)AND (Nachname LIKE '“ & strNachname & „*’)AND (PLZ LIKE '“ & strPLZ & „*’) AND (Alter >= '“ & strAltervon & "’) AND (Alter

Hi,

CurrentDb.QueryDefs!qryPersonen_OUTPUT.SQL = „SELECT * FROM
qryPersonen_1 WHERE (Anrede LIKE '“ & strAnrede & „*’) AND
(Vorname LIKE '“ & strVorname & „*’)AND (Nachname LIKE '“ &
strNachname & „*’)AND (PLZ LIKE '“ & strPLZ & „*’) AND (Alter
>= '“ & strAltervon & "’) AND (Alter

Danke für die Antwort. Kann man diesen Kopiervorgang i-wie automatisieren, also das bei Änderungen der Filtereigenschaften die Daten neu kopiert werden? Oder kann man zumindest i-wie einen Button schreiben der das Kopieren übernimmt, damit man das nicht jedes mal von Hand mahcen muss?

Gruß und Danke

Konstantin

Danke für die Antwort. Kann man diesen Kopiervorgang i-wie
automatisieren, also das bei Änderungen der
Filtereigenschaften die Daten neu kopiert werden?

ja, natürlich

Oder kann
man zumindest i-wie einen Button schreiben der das Kopieren
übernimmt, damit man das nicht jedes mal von Hand mahcen muss?

ja, natürlich, denn das ist auch sinnvoll :smile:

z.B.:

'nicht vergessen: erst die Tabelle leeren
docmd.RunSQL „DELETE * FROM SB_Tabelle;“

'dann SB_Tabelle mit Anfügeabfrage füllen
docmd.RunSQL „INSERT INTO SB_Tabelle SELECT * FROM DEINE_Abfrage;“

Zwei Zeilen Code und alles ist automatisiert :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Danke! Jetzt klappt das so, wie ich mir das vorgestellt habe…

Gruß und letzer großes Dankeschön

Konstantin