0

Befüllen mittels Button

Hallo miteinander

Nachdem ich nun schon länger herumspiele - stelle ich hier die Frage.
Ich habe zwei Tabellen: 
Liste_Jagd mit den Felder 

 Gamswildräume

wobei Nr ist die eindeutige Datensatznummer.

Ziel: 

Befüllen des Feldes Nummer_aus _Jagd mit der Datensatznummer des Jeweiligen Jagdgebietes aus der Tabelle Liste_Jagd auf Basis Jagdrevier in der Tabelle Gamswildraum 

Jagdrevier = Jagdgebiet  --> Datensatznummer in Nummer_aus_Jagd 
(In der Tabelle Gamswildraum kommt das Jagdrevier öfters vor, das Jagdgebiet in der Tabelle Liste_Jagd ist eindeutig)

Mein Versuch:

alert("Warte.....");
for i in select 'Gamswildräume' do
    let Jagd := (select 'Gamswildräume').Jagdrevier;
    i.(Nummer_aus_Jagd := first(select Liste_Jagd where Jagdgebiet = Jagd.Jagdgebiet.Nr))
end;
alert("Warte ...
Fertig!")

derzeitiger Fehler: Expression does not return a record

weiß nicht mehr weiter  - 

6 Antworten

null
    • Wolfgang_Hopfgartner
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Warum benötigst du ein eigenes Feld "Nummer_aus_Jagd", wenn die Liste_Jagd als Jagdrevier bereits verknüpft ist ?

    Sowas müsste aber funktionieren :

    for i in select 'Gamswildräume' do

    let Jagd := i.Jagdrevier;

     i.(Nummer_aus_Jagd := first(select Liste_Jagd where Jagdgebiet = Jagd.Jagdgebiet.Nr))

    end

    • bernhard_morscher
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Grund:
    Jagdrevier und Hegegemeinschaft ist eine 1:n Verbindung - wobei das Jagdrevier eindeutig ist in der Tabelle

    beim Gamswildraum ist es anders - mehrere Jagdgebiete haben mehrere Gamwildräume 

    Im einem Formular für die Gamsbewertung, soll sowohl die Hegegemeinschaft, wie auch der Gamswildraum automatisch ausgefüllt werden, wenn das Jagdgebiet eingegeben wird. Für die Hegemeinschaft funktioniert das bereits (mit der Datensatznummer aus der Tabelle Liste_Jagd)

    Spannend wird für mich nun noch, wie ich das Feld Gamswildraum als Auswahlfeld mache auf Grund des Jagdgebietes: Thema - manches Jagdgebiet hat nur einen Gamswildraum, einige aber zwei oder drei und diese müssen dann ausgewählt werden können - da bin ich noch gespannt

    • Wolfgang_Hopfgartner
    • vor 2 Wochen
    • Gemeldet - anzeigen

    sowas?

    • bernhard_morscher
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Anbei eine Kopie mit einem Auszug aus meiner db 

    Im Formular BZ_Gams wird die HGNr und die Hegegemeinschaft automatisch ausgefüllt, wenn das Jagdrevier ausgewählt wird. Nun soll auch das Auswahlfeld Gamswildraum (Wunsch) die, den Jagdgebieten zugeteilten Gamswildräume, als Auswahl zur Verfügung stehen. (so wie im Formular eingefüllt - nur automatisch auf Grund der Eingabe des Jagdreviers)

    • Wolfgang_Hopfgartner
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Also ich würde das dringend überarbeiten..

    So werden dir nur die Räume im "Gamswildraum (Wunsch)" angezeigt, die die selbe Nummer haben 

    let f:= this;
    if f.Jagdgebiet != null then
        let gg := record(Liste_Jagd,number(f.Jagdgebiet));
        select 'Gamswildräume' where Nummer_aus_Jagd = gg.Nr
    end

    • bernhard_morscher
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Vielen Dank auf alle Fälle mal vorab - wahrscheinlich wäre eine Lösung mit einer Untertabelle sinnvoll gewesen - aber eigentlich sollen nur diese Gamswildräume zur Auswahl stehen, in die dieses Jagdrevier/gebiet auch hineinfällt.

    Vielen Dank vorab 

    Bernhard