Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Textfelder mit Abfrage verbinden

97 views
Skip to first unread message

Frank Fürst

unread,
Jun 7, 2004, 6:59:07 AM6/7/04
to
Ist es möglich ein textfeld mit einer Abfrage zu
Verbinden, welche nicht im aktuell verwendeten Formular
benutzt wird. Hintergrund: Ich habe eine Wert im
aktuellen Formular (Detailbereich) [Anzahl abgefüllter
Flaschen]. Mit diesem möchte ich eine Differenz bilden
welche aus den vorhin genannten Wert und einen Wert aus
einer anderen Abfrage besteht. Ist das überhaupt möglich.
Ich arbeite übrignes mit ACCESS 2000

Vielen Dank für eventuelle Antworten!

Marc Derndorff

unread,
Jun 7, 2004, 7:46:01 AM6/7/04
to
Hallo, Frank!

>"Frank Fürst" <fue...@bkraft.de> schrieb im Newsbeitrag
news:1903501c44c7e$7496d9d0>$a401...@phx.gbl...

Das Zauberwort heißt vermutlich DOMWERT. Je nachdem, was Du machen willst,
könnte die Datenquelle des Textfeldes z.B. so aussehen:

=me![Anzahl abgefüllter Flaschen] - domwert("Feld1";"Abfrage";"Kriterien")

[Feld1] ist das abzufragende Feld in Deiner Abfrage "Abfrage". Wenn Deine
Abfrage nur eine einzige Zeile liefert, dann kannst Du die Kriterien auch
weglassen. Sonst kannst Du Kriterien bauen nach dem Muster "feld1='123' und
feld2='abc'" usw. Voraussetzung ist natürlich auch, dass sowohl [Anzahl
abgefüllter Flaschen] als auch [Feldname] Zahlenfelder sind.

Hoffe, es hat Dir geholfen!

Gruß

Marc


Frank Fürst

unread,
Jun 7, 2004, 9:01:16 AM6/7/04
to
Hallo Marc!

Ersteinmal vielen Dank für die prompte Antwort!
Der Vorschlag ist auch echt gut und habe ihn sofort
ausporobiert.
Leider bekomme ich immer wider die Fehlermeldung #Name?
im Textfeld angezeigt, obwohl alle Angaben (Namen etc)
richtig eingegeben sind. Solche Kleinigkeiten bringen
mich echt zur Verzweifelung


>-----Originalnachricht-----

>.
>

Ekkehard Böhme

unread,
Jun 7, 2004, 10:56:01 AM6/7/04
to

"Frank Fürst" <anon...@discussions.microsoft.com> schrieb im Newsbeitrag
news:190f901c44c8f$85109fb0$a401...@phx.gbl...
Hallo Marc!

Ersteinmal vielen Dank für die prompte Antwort!
Der Vorschlag ist auch echt gut und habe ihn sofort
ausporobiert.
Leider bekomme ich immer wider die Fehlermeldung #Name?


Dann liefert Deine Bedingung wahrscheinlich keinen Wert (DS) zurück.
Versuch es mit
Nz(domwert("Feld1";"Abfrage";"Kriterien"),0)

Marc Derndorff

unread,
Jun 7, 2004, 5:05:32 PM6/7/04
to
Hallo, Frank!

>"Frank Fürst" <anon...@discussions.microsoft.com> schrieb im Newsbeitrag
news:190f901c44c8f$85109fb0$a401...@phx.gbl...

>Leider bekomme ich immer wider die Fehlermeldung #Name?


>im Textfeld angezeigt, obwohl alle Angaben (Namen etc)
>richtig eingegeben sind. Solche Kleinigkeiten bringen
>mich echt zur Verzweifelung

Nich verzweifeln, alles wird gut!

1. Teste doch die domwert-Anweisung am Besten erst einmal im Direktfenster
von Access (dieses vorher bei geöffneter Datenbank mit Alt F11 aufrufen und
nötigenfalls über das Ansicht-Menü einschalten). Dazu gibst Du dort
folgendes ein (Achtung! leicht abweichende Syntax):

debug.print dlookup("Feld1","Abfrage","Kriterien")

Wenn alles richtig ist, dann erscheint im gleichen Fenster das Ergebnis
Deiner Abfrage. Dann stimmt schon einmal dieser Teil. Wenn was falsch ist,
dann kommt zumindest eine aussagekräftige Fehlermeldung.

Dann kannst du mit

debug.print Forms![Dein Formularname]![Anzahl abgefüllter Flaschen]

den Wert dieses Feldes überprüfen. Und dann schließlich und letztlich

mit

debug.print Forms![Dein Formularname]![Anzahl abgefüllter Flaschen] -
dlookup("Feld1","Abfrage","Kriterien")

das Ergebnis zusammenbauen. Wichtig ist bei den letzten beiden Beispielen,
dass im Hintergrund Dein Formular geöffnet ist und [Anzahl abgefüllter
Flaschen] irgend einen vernünftigen Wert enthält.

Wenn das alles nicht hilft, dann hilft bestimmt ...

2. Bitte kopiere doch mal die genaue Zeile Deiner Formel in die Antwort auf
diese Nachricht. Dann sieht man vielleicht auch schon, wo der Fehler liegt.

Gruß

Marc


Frank Fürst

unread,
Jun 8, 2004, 4:09:50 AM6/8/04
to
Also auf die Idee hätte ich ja mal selber kommen können.
Vielen Dank. Also im Direktfenster funktioniert die
Geschichte Perfekt:

Forms![frm_Abfüllbericht_FP]![VA_Anzahl] - dlookup
("Anzahl","qry_VAB_Summe")

Wenn ich diesen Ausdruck dann in mein textfeld als
Steuerelementinhalt einfüge bekomme ich wiederum die
Ausgabe #Name? als Fehlermeldung im angezeigten Formular.

Das kann doch nur ein Formatfehler sein. Wenn ja welcher?
Und wo kann ich diesen abstellen.

Vielen Dank im Vorraus

Frank
>-----Originalnachricht-----

>.
>

Frank Fürst

unread,
Jun 8, 2004, 4:48:13 AM6/8/04
to
Habe das Problem mit einer Krücke gelöst ;-)

Ich bekomme den Wert (Anzahl entnommener Flaschen) sauber
über die Abfrag ermitteltet. Frage mich nicht warum, aber
ich kriege keine direkte Berechnung mit den Feld Anzahl
abgefüllter Flaschen. Ich habe also ein zweites Feld
angelegt, in dem ich nun die Berchnung mit den beiden
Werten durchführen (Anzahl abgefüllter Föaschen -
textfeld). Nun stimmt das Ergebnis und ich kann damit
arbeiten.


>-----Originalnachricht-----

>.
>

Marc Derndorff

unread,
Jun 8, 2004, 4:51:01 AM6/8/04
to
Hallo, Frank!

>"Frank Fürst" <anon...@discussions.microsoft.com> schrieb im Newsbeitrag

news:1981801c44d2f$f892d2f0$a401...@phx.gbl...

>Forms![frm_Abfüllbericht_FP]![VA_Anzahl] - dlookup
("Anzahl","qry_VAB_Summe")

>Wenn ich diesen Ausdruck dann in mein textfeld als
>Steuerelementinhalt einfüge bekomme ich wiederum die
>Ausgabe #Name? als Fehlermeldung im angezeigten Formular.

>Das kann doch nur ein Formatfehler sein. Wenn ja welcher?

Hm... bitte prüfe doch noch einmal Folgendes:

1. Es handelt sich bei Deinem Feld um ein Textfeld, NICHT um ein
Bezeichnungsfeld?
2. Die Zeile unter 'Daten' sieht wie folgt aus:

=[VA_Anzahl] - domwert ("Anzahl";"qry_VAB_Summe")

3. Unter Format sollte "Standardzahl" oder etwas ähnliches stehen.
4. musst Du natürlich dafür sorgen, dass Dein neu zu berechnendes Feld NACH
der Eingabe von [VA_Anzahl] neu berechnet wird

Dies führt zu folgender sinnvollen Alternative:

Schreibe KEINE Formel in Dein Ergebnisfeld. Nimm einfach ein ungebundenes
Textfeld. Schreibe im "Nach Aktualisierung"-Ereigniscode vom Feld
[VA_Anzahl] einfach

me![Ergebnisfeld] = me![VA_Anzahl] - dlookup ("Anzahl","qry_VAB_Summe")

Kannst wenn Du willst, noch ein paar Plausibilitätsabfragen einbauen. Denn
wird jedes Mal nach einer Eingabe in [VA_Anzahl] und NUR dann das Feld
[Ergebnisfeld] neu berechnet.

Das ist wahrscheinlich sowieso das Sinnvollste! Hoffentlich geht's jetzt ...
;-)

Gruß

Marc


0 new messages