PDA

Vollständige Version anzeigen : Syntax-Problem bei Parameterübergabe


Bava
06.05.2004, 14:13
Hallo liebe Leute,

In einem Formular soll in einem Feld ein bestimmter Name auftauchen. Im Feld steht:

=DomWert("[fldNachname]";"qryAnsprechpartner")

In der qry gibt es Felder wie ID_Funktion, ID_Mandant usw.

Über ID_Funktion wird bestimmt, ob der Ansprechpartner Beirat1 oder Beirat2 oder was auch immer ist (Gibt einen eigene Tabelle für die möglichen Funktiionen.
Über ID_Mandant wird bestimmt, zu welchem Mandanten er gehört. Klappt wunderbar wenn ich die IDs von Hand in der Abfrage eingebe. Da es aber gut ein Dutzend verschiedene Funktionen geben kann müsste ich ja für jede Funktion eine eigene Abfrage machen. Also:

qryAnsprechpartnerBeirat1
qryAnsprechpartnerBeirat1
.
.
.
Das liesse sich sicher so machen, scheint mir aber wenig elegant.

Ne kleine Hilfe wäre sehr nett.

Grüße

Bava, der´s mal richtig machen will

Arne Dieckmann
06.05.2004, 14:20
Und was willst Du jetzt mit der DLookup-Anweisung herausbekommen? Momentan wird doch der Nachname angezeigt, Deine Beschreibung hört sich aber so an, als ob die Funktion im Klartext erhalten willst.

Evtl. hilft Dir diese Seite: http://home.arcor.de/ar/arne.d/datenbanken/grundlagen/formulare/index.html#SEC1

Bava
06.05.2004, 16:28
Hi Arne,

da hab ich mich wohl bischen missverständlich ausgedrückt. Der Nachname funktioniert ja. Allerdings sollen in dem Formular über ein Dutzend verschiedene Ansprechpartner ausgewählt und angezeigt werden. Alle sind in einer Personentabelle gespeichert und der Benutzer gibt an wer aus der Personentabelle jetzt Beirat1 bei einem bestimmten Mandanten ist.
Ich hab das mit mächtig Forumshilfe über eine Zwischentabelle gelöst. In der steht nur ID_Ansprechpartner, ID_Person, ID_Funktion und ID_Mandant. Wird jetzt unter Beirat1 eine Person ausgewählt wird ein DS in die Zwischentabelle geschrieben. Um den Nachnamen anzuzeigen habe ich eben o.g. qry der ich aber mit dem Befehl oben nicht sagen kann:

Hol mir den Nachnamen aus dem Abfrageergebnis bei der ID_Funktion=X ist und ID_Mandant=Y.

Wie gesagt kann ich für jede Funktion (Beirat1, Beirat2....) eine eigene Abfrage schreiben in der dann die Funktion schon fest als Kriterium drinsteht. Aber dann bekomm ich eben 12 Abfragen, was ich vermeiden will.

Ich hoffe ich war diesmal etwas verständlicher?

Gruß

Bava

PS: Ich habs mit dem Beispiel von deiner Site versucht, komme aber mit:

=DomWert("[fldNachname]";"qryAnsprechpartnerKomplementaer";[ID_Funktion] =1)

nicht weiter bzw. es wird dann gar kein Nachname mehr gefunden. Syntaxfehler??

QUATSCH: Muss natrülich so heissen:

=DomWert("[fldNachname]";"qryAnsprechpartner";"[ID_Funktionen]= " & "1")


Vielen Dank also...

Bava
06.05.2004, 17:10
Und noch ein Wunsch....

Das mit

=DomWert("[fldNachname]";"qryAnsprechpartner";"[ID_Funktionen]= " & "1")

klappt vorzüglich. Allerdings hab ich jetzt das Problem dass noch ermitteln muss, welches dabei die höchste ID_Ansprechpartner ist, denn nur darüber kann ich erkennen welche Person aktuell ist.

Kann man in obigem Beispiel auch mehrere Parameter abfragen?

Danke für die Hilfe

Bava, dem schon langsam der Kopf raucht

J_Eilers
06.05.2004, 17:21
Hi,

die korrekte Sytax fürs 1. wäre wohl:

=DomWert("[fldNachname]";"qryAnsprechpartner";"[ID_Funktionen]= 1")

Oder halt als Variable:

=DomWert("[fldNachname]";"qryAnsprechpartner";"[ID_Funktionen]= '" & Variable & "'")

Man kann auch 2 Funktionen in einem verwenden:

=DomWert("[fldNachname]";"qryAnsprechpartner";"[ID_Funktionen]= DMax("fldNachname";"qryAnsprechpartner")")

Bava
06.05.2004, 17:29
Klasse!

Das ist genau das, was ich gesucht hab.

Vielen, vielen Dank.
Grüße

Bava, der sich auf den Weg zum nächsten Problem macht.