Kombinationsfeld - Daten zweier Tabellen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Kombinationsfeld - Daten zweier Tabellen

Beitrag von RobertG »

Hallo Steffi,

ich habe die Abfrage einmal zu einer Abfrage mit korrelierenden Unterabfragen geändert. Vielleicht hilft Dir das etwas weiter. Die Kosten solltest Du auf keinen Fall in der Tabelle "Main" als Feld aufführen. Die berechnest Du.

Gruß

Robert
Dateianhänge
BeispielDB_TabelleListenfeld(1).odb
(29.61 KiB) 93-mal heruntergeladen
S_teffi
**
Beiträge: 26
Registriert: Do, 12.12.2013 15:31

Re: Kombinationsfeld - Daten zweier Tabellen

Beitrag von S_teffi »

Hallo Robert,

ja das hilft mir weiter und funktioniert super - mit solch einer Abfrage bleiben dann auch die anderen Felder der Tabelle editier- und speicherbar (:

Dankeschön und frohe Weihnachten (:
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Kombinationsfeld - Daten zweier Tabellen

Beitrag von RobertG »

Hallo Steffi,

ich habe jetzt noch einmal an dem Makro für Kombinationsfelder als Ersatz für Listenfelder gearbeitet. Inzwischen habe ich das so weit, dass keine Zusatzinformationen mehr in das Makro eingegeben werden müssen. Die werden jetzt alle aus den Formularfeldern und entsprechenden Eingaben in den Zusatzinformationen der Formularfelder erstellt.

Ich hänge die entsprechende Beispieldatenbank für das kommende Handbuch der Version LO 4.2 einmal an.

Gruß

Robert
Dateianhänge
Combobox_Listfeld.odb
Combobox zur Eingabe in Fremdschlüsselfelder
(50.5 KiB) 130-mal heruntergeladen
S_teffi
**
Beiträge: 26
Registriert: Do, 12.12.2013 15:31

Re: Kombinationsfeld - Daten zweier Tabellen

Beitrag von S_teffi »

Hallo Robert,

bin jetzt endlich mal dazu gekommen es auszuprobieren (: habe die Variante ohne Abfrage genutzt aus dem Formular "Name".
Dank deinem automatisierten Code ists ja eigentlich nur:

- Kombifeld erstellen mit einem SQL-Befehl (in meinem Fall: SELECT "Name" FROM "TA_Kunde" ORDER BY "Name" ASC) und an das Ereignis "Text modifiziert" das Makro "Datensatzaktion_erzeugen" hängen
- numerisches Feld mit der ID von TA_Kunde erstellen, also: Kunden_ID
- an das Formular die Aktionen "TextAuswahlWertSpeichern" (Vor der Datensatzaktion) und "TextAnzeigen" (Nach dem Datensatzwechsel) fügen.

aber irgendwie kommt beim Ausführen eine NoSuchElementException, weil er scheinbar das betreffende Kombifeld nicht findet - es wird dann auf die Codezeile

Code: Alles auswählen

aComboboxen() = Split(oForm.getByName("Comboboxen").Tag,",") 'Ermittelt aus dem Startformular die betroffenen Comboboxen
verwiesen.

Woran könnte das liegen? Vllt daran, dass ich neben dem Combifeld noch Listenfelder in meinem Formular habe?

Liebe Grüße & noch ein frohes neues Jahr (:
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Kombinationsfeld - Daten zweier Tabellen

Beitrag von RobertG »

Hallo Steffi,

in der Schilderung, was Du bisher erledigt hast, fehlt
- Gründung eines versteckten Steuerelementes mit dem Namen "Comboboxen", in dem der Name der verschiedenen eingebauten Kombinationsfelder (in den Zusatzinformationen) steht.
- Eintrag in den Zusatzinformationen der Kombinationsfelder, welchen Namen das Feld trägt, das den Fremdschlüssel beherbergt. (bei Dir also in dem Kombifeld: "Kunden_ID")

Wenn die Fehlermeldung bereits bei den "Comboboxen" auftaucht, dann fehlt schlicht dieses (versteckte) Steuerelement.
Schau Dir das Ganze einfach einmal in den Formularen an, indem Du auch den Formularnavigator zu Hilfe nimmst. Die versteckten Steuerelemente tauchen ja sonst nirgendwo auf.

Gruß

Robert
S_teffi
**
Beiträge: 26
Registriert: Do, 12.12.2013 15:31

Re: Kombinationsfeld - Daten zweier Tabellen

Beitrag von S_teffi »

ohja, das habe ich wirklich übersehen. Jetzt funktioniert es (:

Musste allerdings im Makro "ID" zu "Kunde_ID" ändern, wodurch dann leider mein zweites Combifeld (Stationsort_ID) mit dem Makro nicht funktioniert. Nenne dummerweise meine Primärschlüssel nicht nur ID, sondern "Sonstewas_ID" also je nach Tabelle unterschiedlich :/ Hab jetzt gedacht ich benenne die Primärschlüssel einfach um, aber das zerschießt meine ganzen Beziehungen und Tabellen.

Naja zumindest klappt es dann bei Kunde > Ort, beim Stationsort behalte ich dann einfach die andere Variante zum Eintragen eines neuen Datensatzes über ein externes Formular.

Danke für deine Hilfe! (:

Liebe Grüße, Steffi
Antworten