none
Auswahl Kombinationsfeld und dazugehörigen Wert in Textfeld anzeigen lassen

    Frage

  • Hallo liebe Mitglieder,

    ich habe ein Formular mit Verweisen zu mehrern Tabellen mit Bestandsdaten. Ich möchte z.B. über ein Kombinationsfeld den Straßennamen auswählen und in einem Textfeld den dazugehörigen Ortsteil anzeigen lassen und bei Beendigung der Auswahl die Werte in einer Tabelle zusammen mit anderen Daten speichern lassen. Kann mir vielleicht jemand bei dem Problem helfen? Vielen Dank.



    • Bearbeitet TOM SA Freitag, 22. Februar 2013 21:52
    Freitag, 22. Februar 2013 21:14

Antworten

  • Hallo Tom SA,

    die Beschreibung Deines Problems könnte etwas präziser ausfallen...

    Hier ein Vorschlag:

    Als Datenherkunft Deines Formulares wählst Du die Tabelle, in die Du die neuen Daten schreiben möchtest. Dort navigierst Du zu einem neuen Datensatz. Dein Kombinationsfeld versiehst Du mit der gewünschten Datenherkunft, z.B.
    "SELECT tab_Adressen.ID, tab_Adressen.Straße_NR, tab_Adressen.Stadtteil, tab_Adressen.PLZ_Ort FROM tab_Adressen;"

    Das Kombinationsfeld verknüpfst Du mit einem Ereignis (einer Prozedur), das die gewünschten Daten aus dem Kombifeld (z.B. com_Straße.column(2) an das entspr. Feld Deines Formulars übergibt, z.B. beim Klicken

    "Me!txt_Zielfeld = me!com_Straße.column(2) & " " & me!txt_beliebigerInhalt"

    Denk daran, daß der Bezug auf das Kombinationsfeld über column() immer die die erste Spalte als 0 mitzählt, Du also, wenn Du den Wert aus der dritten Spalte übergeben willst, dieser mit dem Zähler (2) ausgewählt wird.

    Es stellt sich dabei natürlich die Frage, ob Du tatsächlich z.B. den Namen des Stadtteils als String, also als Textwert übergeben und insofern speicherplatzintensiv in der neuen Tabelle speichern möchtest. Andernfalls übergibst Du den tatsächlichen Wert, wie folgt:

    "Me!txt_Zielfeld1 = me!com_Straße"
    "Me!txt_Zielfeld2 = me!txt_beliebigerInhalt

    und erstellst zur Darstellung des Wertes aus der neuen Tabelle in einem dafür vorgesehenen Formular ein berechnetes Steuerlelement, das den gewünschten Wert über eine Domänenfunktion berechnet, z.B.

    "=domwert("Stadtteil";"tab_Adressen";"ID = " & me!IDWertfürStadtteil")

    oder Du erstellst auch hier wieder ein Kombinationsfeld nach obigen Muster, in welchem Du nur die Spalte für den Stadtteil sichtbar machst (Durxch die Spaltenbreite), bzw. läßt das Kombinationsfeld unsichtbar und erstellst ein Textfeld, das wiederum Bezug nimmt, z.B. mit = com_Stadtteil.column(1)

    Das müßte Dir helfen.

    Gruß

    Giorgio

    • Als Antwort markiert TOM SA Samstag, 23. Februar 2013 18:48
    Samstag, 23. Februar 2013 17:36

Alle Antworten

  • Am 22.02.2013 schrieb TOM SA:

    ich habe ein Formular mit Verweisen zu mehrern Tabellen mit Bestandsdaten. Ich möchte z.B. über ein Kombinationsfeld den Straßennamen auswählen und in einem Textfeld den dazugehörigen Ortsteil anzeigen lassen und bei Beendigung der Auswahl die Werte in einer Tabelle zusammen mit anderen Daten speichern lassen.

    Und wo genau hapert es jetzt? Für die Abhängigkeit von Kombifeldern
    untereinander hilft die FAQ: http://www.donkarl.com?FAQ4.36

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Samstag, 23. Februar 2013 15:23
  • Hallo Tom SA,

    die Beschreibung Deines Problems könnte etwas präziser ausfallen...

    Hier ein Vorschlag:

    Als Datenherkunft Deines Formulares wählst Du die Tabelle, in die Du die neuen Daten schreiben möchtest. Dort navigierst Du zu einem neuen Datensatz. Dein Kombinationsfeld versiehst Du mit der gewünschten Datenherkunft, z.B.
    "SELECT tab_Adressen.ID, tab_Adressen.Straße_NR, tab_Adressen.Stadtteil, tab_Adressen.PLZ_Ort FROM tab_Adressen;"

    Das Kombinationsfeld verknüpfst Du mit einem Ereignis (einer Prozedur), das die gewünschten Daten aus dem Kombifeld (z.B. com_Straße.column(2) an das entspr. Feld Deines Formulars übergibt, z.B. beim Klicken

    "Me!txt_Zielfeld = me!com_Straße.column(2) & " " & me!txt_beliebigerInhalt"

    Denk daran, daß der Bezug auf das Kombinationsfeld über column() immer die die erste Spalte als 0 mitzählt, Du also, wenn Du den Wert aus der dritten Spalte übergeben willst, dieser mit dem Zähler (2) ausgewählt wird.

    Es stellt sich dabei natürlich die Frage, ob Du tatsächlich z.B. den Namen des Stadtteils als String, also als Textwert übergeben und insofern speicherplatzintensiv in der neuen Tabelle speichern möchtest. Andernfalls übergibst Du den tatsächlichen Wert, wie folgt:

    "Me!txt_Zielfeld1 = me!com_Straße"
    "Me!txt_Zielfeld2 = me!txt_beliebigerInhalt

    und erstellst zur Darstellung des Wertes aus der neuen Tabelle in einem dafür vorgesehenen Formular ein berechnetes Steuerlelement, das den gewünschten Wert über eine Domänenfunktion berechnet, z.B.

    "=domwert("Stadtteil";"tab_Adressen";"ID = " & me!IDWertfürStadtteil")

    oder Du erstellst auch hier wieder ein Kombinationsfeld nach obigen Muster, in welchem Du nur die Spalte für den Stadtteil sichtbar machst (Durxch die Spaltenbreite), bzw. läßt das Kombinationsfeld unsichtbar und erstellst ein Textfeld, das wiederum Bezug nimmt, z.B. mit = com_Stadtteil.column(1)

    Das müßte Dir helfen.

    Gruß

    Giorgio

    • Als Antwort markiert TOM SA Samstag, 23. Februar 2013 18:48
    Samstag, 23. Februar 2013 17:36
  • Vielen Dank an Euch,

    manchmal steht man sich einfach nur selbst im Weg und denkt zu umständlich.

    Samstag, 23. Februar 2013 18:48