Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: sigma5345 am Juli 01, 2010, 08:27:49

Titel: Zugriff auf Kombinationsfeld in Unterformular
Beitrag von: sigma5345 am Juli 01, 2010, 08:27:49
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
Titel: Re: Zugriff auf Kombinationsfeld in Unterformular
Beitrag von: database am Juli 01, 2010, 08:39:24
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.

Titel: Re: Zugriff auf Kombinationsfeld in Unterformular
Beitrag von: sigma5345 am Juli 01, 2010, 09:17:06
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!!
Titel: Re: Zugriff auf Kombinationsfeld in Unterformular
Beitrag von: DF6GL am Juli 01, 2010, 11:31:57
Hallo,

nur zur Klärung der Syntax:

[Forms]![frmModPE_Posteingang_anlegen]![frmModPE_UF_Posteingang_Verteiler]![cmb_verteiler].Column(1)
Titel: Re: Zugriff auf Kombinationsfeld in Unterformular
Beitrag von: database am Juli 01, 2010, 12:31:57
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
Titel: Re: Zugriff auf Kombinationsfeld in Unterformular
Beitrag von: sigma5345 am Juli 01, 2010, 12:47:30
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