Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Werte durch kombinationsfeld im Unterformulars anzeigen

Begonnen von tismo, Januar 12, 2014, 14:50:57

⏪ vorheriges - nächstes ⏩

tismo

Hallo Gemeinde

folgendes Problem:

Ich habe ein Unterformular in dem Werte in anderen Steuerelmentes durch ein ungebundenes Kombinationsfeld (Kurzzeichen Kunde) übernommen werden

In meinem Hauptformular konnte ich dies folgendermaßen lösen:

Forms!Schriftverkehr![AnschriftAnrede] = DLookup("[Kundeanrede]", "[Kunde]", "[KurzzeichenKunde] =Forms!RegisterDaten![KurzzeichenKunde]")

Nun ist 'Schriftverkehr' mein Unterformular im Hauptformular RegisterDaten.

Es erschein die Fehlermeldung:

Code (vbnet) [Auswählen]
Laufzeitfehler '2450'

(...) kann das Formular Schriftverkehr nicht finden, auf dem verwiesen wird.


In einem anderem Unterformular, bei dem das kombinationsfeld eine Zahl  und kein Text ist, konnte ich das Problem wie folgt lösen:

On Error GoTo Err_Zahl1_AfterUpdate

     Dim strFilter As String
   
    ' Filter auswerten, bevor er an die Funktion DLookup() übergeben wird.
     strFilter = "[Zahl1] = " & Me![Zahl1]
     
   
    ' Entnimmt den Einzelpreis des Artikels und übergibt ihn
    ' an das Steuerelement Einzelpreis.
     Me!FremdleisterStraße = DLookup("Adresse", "Lieferanten", strFilter)
     
    ' Aktiviert die Schaltfläche, die das Formular Artikel öffnet



Exit_Zahl1_AfterUpdate:
     Exit Sub
Err_Zahl1_AfterUpdate:
     MsgBox Err.Description
     Resume Exit_Zahl1_AfterUpdate
End Sub


Wie gesagt, bei Zahlen funtioniert dies, bei einem Text nicht.
Ich hoffe, mir kann jemand helfen.

DF6GL

Hallo,

ZitatNun ist 'Schriftverkehr' mein Unterformular im Hauptformular RegisterDaten.

dann schreib den Code auch in dieses Unterform etwa so:

Me![AnschriftAnrede] = DLookup("[Kundeanrede]", "[Kunde]", "[KurzzeichenKunde] ='" & Me.Parent![KurzzeichenKunde] & "'")


Wobei ich keine Namen, Kürzel oder Ähnliches für die eindeutige Kennzeichnung von Datensätzen hernehmen, sondern nur mit dem entspr. Schlüsselfeld (im Normalfall von Daten Zahl,Long, bzw. Autowert)  würde.

Statt VBA-Statements zu nutzen, könnte der Ausdruck gleich in den Steuerelementinhalt eines Textfeldes geschrieben werden:

= DLookup("[Kundeanrede]", "[Kunde]", "[KurzzeichenKunde] ='" & Parent![KurzzeichenKunde] & "'")




Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

tismo

... wenn ich

Forms!Schriftverkehr![AnschriftAnrede] = DLookup("[Kundeanrede]", "[Kunde]", "[KurzzeichenKunde] =Forms!RegisterDaten![KurzzeichenKunde]")

mit

Me![AnschriftAnrede] = DLookup("[Kundeanrede]", "[Kunde]", "[KurzzeichenKunde] ='" & Me.Parent![KurzzeichenKunde] & "'")

austausche bekomme ich die Fehlermeldung:

Laufzeitfehler '3348'

Es können keine Datensätze eingefügt werden, der Verteilungsschlüssel der Tabelle 'Schriftverkehr' ist nicht in der Datensatzgruppe enthalten.



DF6GL

Hallo,

an welche Tabellen sind HF und UF gebunden?

Wo ( in welcher Tabelle) befindet sich "AnschriftAnrede"?

Ist das Form-Textfeld "AnschriftAnrede" an das entspr. Tabellenfeld gebunden?

Wie sind HF und UF miteinander verknüpft?

Wie lauten die Schlüsselfelder der Tabellen und wie sind die Tabellen miteinander verknüpft?

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Stapi

Hallo Tismo

Eventuell ist das hier was du suchst:
http://www.donkarl.com?FAQ4.2
Grüße aus dem schönen NRW
Stefan

tismo

Das ist die Lösung des Problems:

Forms![RegisterDaten]![UfoSchriftverkehr].Form![AnschriftAnrede] = DLookup("[Kundeanrede]", "[Kunde]", "[KurzzeichenKunde] =Forms![RegisterDaten]![UfoSchriftverkehr].Form![KurzzeichenKunde]")

Danke für den Tip. :)