Seite 2 von 2

Re: Kombinationsfeld - Daten zweier Tabellen

Verfasst: Fr, 20.12.2013 19:33
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

Re: Kombinationsfeld - Daten zweier Tabellen

Verfasst: Mo, 23.12.2013 16:14
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 (:

Re: Kombinationsfeld - Daten zweier Tabellen

Verfasst: Fr, 27.12.2013 12:24
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

Re: Kombinationsfeld - Daten zweier Tabellen

Verfasst: Mi, 08.01.2014 08:35
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 (:

Re: Kombinationsfeld - Daten zweier Tabellen

Verfasst: Mi, 08.01.2014 15:42
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

Re: Kombinationsfeld - Daten zweier Tabellen

Verfasst: Do, 09.01.2014 14:41
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