Textfeld Funktionsaufruf zuweisen

Moderator: ModerationP

Textfeld Funktionsaufruf zuweisen

Beitragvon ClausM » 02. Sep 2021, 08:41

Guten Morgen,

ich habe ein Problem bei der Zuweisung einer Formel/Funktionsaufruf innerhalb eines Berichts.

Weiße ich dem Textfeld über den Ausdruckseditor folgende Formel zu, ist alles in Ordnung.
Code: Alles auswählen
=Nz(DomSumme("[LK_UPosMenge]";"tbl_Lieferkontingent";"[LK_ANr] = [P_ANr] AND [LK_PNr] = [P_PNr]");0)


Jetzt möchte ich der Textbox unter VBA die folgende Formel zuweisen.
Code: Alles auswählen
  .ControlSource = "= myDSum(""LK_UPosMenge"", """ & GCstrTAB_Lieferkontingent & """, ""LK_ANr = """ & Nz(P_ANr, 0) & ")"


Hier kommt es zu der Fehlermeldung
2465: Produktions-Datenbank kann das in Ihrem Ausdruck angesprochene Feld 'P_ANr' nicht finden.


Ich habe den Eindruck, dass es an der Setzung der Anführungszeichen liegt.
Aber ich habe jetzt schon Stunden damit verbracht alle möglichen Kombinationen zu testen, immer ohne Erfolg.

Hat jemand von euch eine Idee?

LG
Claus
ClausM
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 125
Registriert: 16. Mär 2019, 10:28

Re: Textfeld Funktionsaufruf zuweisen

Beitragvon uwms » 02. Sep 2021, 09:30

...denke es sollte so lauten, wenn LK_ANR und P_ANR Felder der gleichen Tabelle sind:

Code: Alles auswählen
 .ControlSource = "= myDSum(""LK_UPosMenge"", """ & GCstrTAB_Lieferkontingent & """, ""LK_ANr = Nz(P_ANr, 0)"")"


Grüße
Uwe
uwms
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 314
Registriert: 20. Nov 2015, 14:44

Re: Textfeld Funktionsaufruf zuweisen

Beitragvon Bitsqueezer » 02. Sep 2021, 09:31

Hallo,

vor der letzten schließenden Klammer im String fehlt auf jeden Fall noch ein "".

Aber am einfachsten setzt Du einen Breakpoint auf die Zeile und gibst den gesamten String, den Du der ControlSource zuweisen willst, im Direktfenster mal aus und dann solltest Du sehen, wo das Problem liegt.

In einem WHERE-Filterstring kannst Du statt Anführungszeichen auch einfach Hochkomma verwenden, dann wird es einfacher.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8462
Registriert: 21. Jun 2007, 12:17

Re: Textfeld Funktionsaufruf zuweisen

Beitragvon ClausM » 02. Sep 2021, 10:14

Code: Alles auswählen
 ""LK_ANr = Nz(P_ANr, 0)"")"

Wenn ich die Funktion wie oben beschrieben aufrufe, dann wird auch genau die Zeichenfolge an die Funktion übergeben, d. h. die Zeichenfolge "Nz(P_ANr, 0)" wird nicht durch die Auftragsnummer ersetzt.

Aber am einfachsten setzt Du einen Breakpoint auf die Zeile und gibst den gesamten String, den Du der ControlSource zuweisen willst, im Direktfenster mal aus und dann solltest Du sehen, wo das Problem liegt.

Probiere ich schon seit gestern, aber entweder wird die Zeichenfolge nicht genommen oder die Auftragsnummer, bzw. das Feld wird nicht gefunden.
ClausM
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 125
Registriert: 16. Mär 2019, 10:28

Re: Textfeld Funktionsaufruf zuweisen

Beitragvon ClausM » 02. Sep 2021, 11:01

Puh, geschafft!
Code: Alles auswählen
  .ControlSource = "= myDSum(""LK_UPosMenge"", """ & GCstrTAB_Lieferkontingent & """, ""LK_ANr = "" & Nz(P_ANr, 0) & "" AND LK_PNr = "" & Nz(P_PNr, 0) & "" AND LK_Aktiv = True"")"
ClausM
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 125
Registriert: 16. Mär 2019, 10:28


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: uwms und 9 Gäste