Neuigkeiten:

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

Mobiles Hauptmenü

Zugriff auf Kombinationsfeld in Unterformular

Begonnen von sigma5345, Juli 01, 2010, 08:27:49

⏪ vorheriges - nächstes ⏩

sigma5345

Hallo,

ich habe mir eine Funktion geschrieben die einen Termin in Outlook anlegt. Im Betreff möchte ich den Wert aus einem Kombinationsfeld übergeben, dass in einem Unterformular steckt. Das ist in soweit kein wirkliches Problem und bis hier hin klappt das auch:
[Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler]

Allerdings wird mir da logischerweise nur die hinterlegte ID übergeben und nicht der Wert an sich. Ich habe also auf verschiedene Art und Weise probiert noch die Eigenschaft Column(1) an das Kombifeld zu hängen - leider ohne Erfolg.

Kann mir einer die richtige Syntax sagen um den Wert des Kombinationsfeldes zu bekommen?

Besten Gruß
sigma

database

#1
Hallo,

der Eintrag in Column(x) ist ein String - beim Auslesen daher beachten!
Zitatauf verschiedene Art und Weise probiert
da gibts eigentlich nur eine ...  cmb_verteiler.Column(1)

Altenativ KÖNNTEST du mit der ermittelten ID auch ein DLookup auf die Herkunftstabelle des Kombis starten.


sigma5345

#2
da ich die richtige Syntax nicht wusste habe ich es einmal so probiert
[Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler.Column(1)]
Da kommt der Fehler, dass er das angegebene Feld nicht finden kann.

und so hab ich es auch probiert:
[Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler]![Column(1)]
Da kommt der Fehler "Let-Prozedur der Eigenschaft ist nicht definiert, und Get-Prozedur hat kein Objekt zurückgegeben (Fehler 451)"

Zu deiner Alternative -  ich habe mit den Domänenfunktionen noch nicht so viel gemacht und habe es so probiert:

Dim verteilerid As Integer
Dim verteiler_name As String
verteilerid = [Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler]
verteiler_name = DLookup("[verteiler]", "dbo_mod_Posterfassung_nt_verteiler", "[verteiler_id]= verteilerid")


da bekomme ich den Laufzeitfehler 2001 "Sie haben die vorherige operation abgebrochen".
Hab ich da auch einen Syntaxfehler?

EDIT: Ok die Alternative funzt :-) - man muss natürlich die Variable aus den Anführungszeichen nehmen. Supi - die Lösung ist gut.

Danke!!

DF6GL

Hallo,

nur zur Klärung der Syntax:

[Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler].Column(1)

database

Hallo,

und dann noch schnell zur Klärung der Alternativ-Syntax:

verteiler_name = DLookup("[verteiler]", "dbo_mod_Posterfassung_nt_verteiler", "[verteiler_id]=" &  _
                         [Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler])


;D

sigma5345

Zitat von: DF6GL am Juli 01, 2010, 11:31:57
[Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler].Column(1)

Dann war das bei mir also ein klarer Fall von falsch geraten. :D

Ich danke euch beiden!!!

gruß
sigma