none
abhängiges Kombinationsfeld von datensatz im UFO

    Frage

  • Hi,

    Ich habe Problem beim erstelllen eines abhängigen Kombinationsfeldes. Ich möchte ein Kombinationsfeld erstellen das aus einer lange Datenliste mir nur die Daten zu der jeweiligen Version anzeigt die in einer andere Spalte steht.

    Unzwar habe ich in einem UFO ein Textfeld das von dem Steuerelement Version aus tbl25M abhängig ist. Da neben habe ich ein Kombinationsfeld (Datensatzherkunft aus tblFINsuffix, Steuerelement: Layout). Die tblFINsuffix enthält die Spalte Version und die Spalte Layout.

    Habt ihr eine Idee wie man das Problem lösen kann?

    Ich habe es über einen VBA code versucht jedoch komme ich hier nicht weiter. Könnt ihr mir sagen wie der Code lauten muss?

    Gruß,
    Alex

    Freitag, 17. Januar 2014 08:33

Antworten

  • Am 22.01.2014 schrieb a.becker92:

    Das Formular der Datei enthält unter Layout Kombinationsfelder. Ich möchte das diese Kombinationsfelder nur die gültigen Layouts der jeweiligen Version wie in tblFIN definiert anzeigt. Bsp. In den zeilen wo TS01 steht soll ich nur zwischen LM13 und LM12 auswählen können.

    Dieser Artikel zeigt dir wo es langgeht:
    http://www.donkarl.com?FAQ4.36

    Zuerst sorge dafür dass ein Control immer einen passenden Namen hat.
    Präfix für ein Textfeld wäre z.B. ein txt. In deinem Fall mach aus dem
    Textfeld Version ein txtVersion. Die Datenherkunft passt so. Im
    Kombinationsfeld die Datensatzherkunft ändern. Klick auf die 3 Punkte ganz rechts, erstell eine Abfrage.

    SELECT tblFIN.ID, tblFIN.Version, tblFIN.Layout
    FROM tblFIN
    WHERE (((tblFIN.Version)=[Formulare]![tbl25M]![Version]));

    Klick Links oben auf den Pfeil unterhalb von Ansicht und wähle die SQL
    Ansicht. Dort den obigen Code einfügen. Jetzt auf Ausführen und dann
    auf Entwurfsansicht. Siehst Du was gemeint ist? Schliessen, speichern
    und das Formular mit F5 starten. Bei mir wird jetzt passend gefiltert.


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    • Als Antwort markiert a.becker92 Freitag, 24. Januar 2014 09:34
    Donnerstag, 23. Januar 2014 17:44

Alle Antworten

  • Am 17.01.2014 schrieb a.becker92:

    Ich habe Problem beim erstelllen eines abhängigen Kombinationsfeldes. Ich möchte ein Kombinationsfeld erstellen das aus einer lange Datenliste mir nur die Daten zu der jeweiligen Version anzeigt die in einer andere Spalte steht.

    Unzwar habe ich in einem UFO ein Textfeld das von dem Steuerelement Version aus tbl25M abhängig ist. Da neben habe ich ein Kombinationsfeld (Datensatzherkunft aus tblFINsuffix, Steuerelement: Layout). Die tblFINsuffix enthält die Spalte Version und die Spalte Layout.

    Wenn ich dich richtig verstanden habe, müsste diese FAQ helfen: http://www.donkarl.com?FAQ4.36

    Ich habe es über einen VBA code versucht jedoch komme ich hier nicht weiter. Könnt ihr mir sagen wie der Code lauten muss?

    Zeig doch den Code, evtl. kann man damit etwas anfangen.


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Freitag, 17. Januar 2014 17:05
  • Hallo Winfried,

    Danke für deine Antwort. Die FAQ ähnelt meinem Thema bei mir ist der Unterschied das mein Kombinationsfeld einen Datenverlgeich über ein Textfeld machen soll.

    Ich habe es unteranderem mit folgendem VBA Code beim klicken versucht.

    Private Sub lay_Click()
     Me.RecordSource = "SELECT * FROM tbl_FINsuffix WHERE ([Version] = Table![tblFINsuffix]![Version])"
    End Sub

    Anbei noch ein Bild zu meinem Formular. Das Kombinationsfeld soll nur eine Auswahl der Layout zeigen wo die Spalte Version aus dem Formular gleich der Spalte Version  in tbl Finsuffix ist.

    Danke schon einmal für die Hilfe

    Gruß

    Alex

    Montag, 20. Januar 2014 15:08
  • Am 20.01.2014 schrieb a.becker92:

    Danke für deine Antwort. Die FAQ ähnelt meinem Thema bei mir ist der Unterschied das mein Kombinationsfeld einen Datenverlgeich über ein Textfeld machen soll.

    OK.

    Ich habe es unteranderem mit folgendem VBA Code beim klicken versucht.

    Private Sub lay_Click()
     Me.RecordSource = "SELECT * FROM tbl_FINsuffix WHERE ([Version] =
    Table![tblFINsuffix]![Version])"
    End Sub

    Das kann so nicht funktionieren, lass dir vorher den Inhalt von
    Table!... in eine Stringvariable schreiben, dann könnte der Code so
    aussehen:

    [/code]
    Private Sub lay_Click()
    dim strFINSuffix as String
    strFINSuffix = Table![tblFINsuffix]![Version]
      Me.RecordSource = "SELECT * FROM tbl_FINsuffix WHERE ([Version] = "' & strFINSuffix & "'")
     End Sub
    [/code]

    Anbei noch ein Bild zu meinem Formular. Das Kombinationsfeld soll nur eine Auswahl der Layout zeigen wo die Spalte Version aus dem Formular gleich der Spalte Version  in tbl Finsuffix ist.

    Bild ist keines dabei.


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Montag, 20. Januar 2014 17:43
  • Danke Winfried. Der Code scheint logischer. Jedoch findet Access noch einen Fehler.  Er meckert an der Stelle:

    strFINsuffix = Table![tblFINsuffix]![Version]

    Markiert Table und es kommt folgende Fehlermeldung:

    Fehler beim Kompilieren. Variable nicht definiert.

    Weißt du woran das liegt? Ich kann leider keine Bilder einfügen, da mein Konto noch nicht geprüft werden kann.

    Gruß,

    Alex

    Dienstag, 21. Januar 2014 08:37
  • Jedoch findet Access noch einen Fehler.  Er meckert an der Stelle:

    strFINsuffix = Table![tblFINsuffix]![Version]

    Markiert Table und es kommt folgende Fehlermeldung:

    Fehler beim Kompilieren. Variable nicht definiert.

    Mach's mit DLookup:

    strFINsuffix = DLookup("Version", "tblFINsuffix")


    Viele Grüße Stefan

    Dienstag, 21. Januar 2014 10:20
  • danke Stefan, die Fehlermeldung ist jetzt verschwunden jedoch meckert er jetzt an einer anderen Stelle. Mir fehlt auch langsam der Ansatz. Das Problem liegt jetzt an dieser Stelle:

    ([Version] = "' & strFINSuffix & "'")

    Es erscheint die Fehlermeldung:

    "Das Makro oder die Funktioon, das bzw. die für dieses Feld auf die Eigenschaft 'Vor aktuatlisierung oder 'Gültigkeitsregel' festgelegt ist, hinder _____ daran, die Daten im Feld zu speichern."

    Erkennt ihr den Fehler?

    Hab auch Zweifel ob es überhautp funktionieren kann. Ist es generell möglich die Auswahl eines Kombinationsfeld in einem Formular von einzelnen Daten  in einer Zeile abhängig zu machen?

    Dienstag, 21. Januar 2014 13:36
  • Am 21.01.2014 schrieb a.becker92:

    Weißt du woran das liegt? Ich kann leider keine Bilder einfügen, da mein Konto noch nicht geprüft werden kann.

    Du kannst deinen Account verifizieren lassen. In diesem Thread melden,
    nach einem Tag sollte es erledigt sein.
    http://social.microsoft.com/Forums/en-US/200c33c9-abe9-494a-953a-bf53fccb3c76/verify-your-account-11?forum=reportabug


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Dienstag, 21. Januar 2014 17:22
  • Am 21.01.2014 schrieb a.becker92:

    danke Stefan, die Fehlermeldung ist jetzt verschwunden jedoch meckert er jetzt an einer anderen Stelle. Mir fehlt auch langsam der Ansatz. Das Problem liegt jetzt an dieser Stelle:

    ([Version] = "' & strFINSuffix & "'")

    Es erscheint die Fehlermeldung:

    "Das Makro oder die Funktioon, das bzw. die für dieses Feld auf die Eigenschaft 'Vor aktuatlisierung oder 'Gültigkeitsregel' festgelegt ist, hinder ___ daran, die Daten im Feld zu speichern."

    Wer oder was ist [Version]? Ein Textfeld in einem Formular? Wenn es
    ein ungebundenes Textfeld ist, dann kannst Du das hier einsetzen:

    Me![Version] =  "' & strFINSuffix & "'"

    Ansonsten ein abgespecktes Beispiel uploaden, dann kann man sich das
    anschauen.


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Dienstag, 21. Januar 2014 17:24
  • Version ist ein gebundenes textfeld mit dem Steuerelement Version aus tbl25m und steht im Detailbereich des des Formulars.

    Ich lasse gerade meinen Account verifzieren. Hoffe das ich dann morgen die Dummy Datei hochladen kann.

    Gruß,

    Alex

    Mittwoch, 22. Januar 2014 12:45
  • Am 22.01.2014 schrieb a.becker92:

    Version ist ein gebundenes textfeld mit dem Steuerelement Version aus tbl25m und steht im Detailbereich des des Formulars.

    Bei einem gebundenen Textfeld wird es schwer die Source zu ändern.

    Ich lasse gerade meinen Account verifzieren. Hoffe das ich dann morgen die Dummy Datei hochladen kann.

    Dazu brauchst den Account nicht verifizieren zu lassen, schaden kann
    es natürlich trotzdem nicht. Mit einer Microsoft ID hast Du
    automatisch Skydrive bekommen, dort uploaden und den Link hier posten.
    Wie das geht steht in diesem Link:
    http://answers.microsoft.com/de-de/windows/forum/windows_7-networking/wie-nutze-ich-skydrive/af6c55f1-0e82-460e-babb-794ff26e5698


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Mittwoch, 22. Januar 2014 17:22
  • Hi Winfried,

    hier ein abgespecktes Beispiel von dem Problem.

    DummyDatei

    Das Formular der Datei enthält unter Layout Kombinationsfelder. Ich möchte das diese Kombinationsfelder nur die gültigen Layouts der jeweiligen Version wie in tblFIN definiert anzeigt. Bsp. In den zeilen wo TS01 steht soll ich nur zwischen LM13 und LM12 auswählen können.

    Danke schon einmal für die Hilfe,

    Gruß,

    Alex

    Mittwoch, 22. Januar 2014 17:41
  • Hier noch mal über skydrive.

    Dummy Datei

    Mittwoch, 22. Januar 2014 18:15
  • Am 22.01.2014 schrieb a.becker92:

    Das Formular der Datei enthält unter Layout Kombinationsfelder. Ich möchte das diese Kombinationsfelder nur die gültigen Layouts der jeweiligen Version wie in tblFIN definiert anzeigt. Bsp. In den zeilen wo TS01 steht soll ich nur zwischen LM13 und LM12 auswählen können.

    Dieser Artikel zeigt dir wo es langgeht:
    http://www.donkarl.com?FAQ4.36

    Zuerst sorge dafür dass ein Control immer einen passenden Namen hat.
    Präfix für ein Textfeld wäre z.B. ein txt. In deinem Fall mach aus dem
    Textfeld Version ein txtVersion. Die Datenherkunft passt so. Im
    Kombinationsfeld die Datensatzherkunft ändern. Klick auf die 3 Punkte ganz rechts, erstell eine Abfrage.

    SELECT tblFIN.ID, tblFIN.Version, tblFIN.Layout
    FROM tblFIN
    WHERE (((tblFIN.Version)=[Formulare]![tbl25M]![Version]));

    Klick Links oben auf den Pfeil unterhalb von Ansicht und wähle die SQL
    Ansicht. Dort den obigen Code einfügen. Jetzt auf Ausführen und dann
    auf Entwurfsansicht. Siehst Du was gemeint ist? Schliessen, speichern
    und das Formular mit F5 starten. Bei mir wird jetzt passend gefiltert.


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    • Als Antwort markiert a.becker92 Freitag, 24. Januar 2014 09:34
    Donnerstag, 23. Januar 2014 17:44
  • Danke Winfried funktioniert super. :):)

    Ich musste nur noch bei den Formulareigenschaften unter Beim anzeigen und unter fokuserhalt cbo feld akualisieren hinzufügen damit er bei jedem Datensatz die richtigen Versionen anzeigt und nicht nur beim ersten.

    Freitag, 24. Januar 2014 09:34
  • Am 24.01.2014 schrieb a.becker92:

    Danke Winfried funktioniert super. :):)

    Freut mich für Dich und Danke für die Rückmeldung. ;)


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Freitag, 24. Januar 2014 15:28