Untertabelle blättern
Hallo, ich möchte gerne in einem Script durch alle zugeordneten Einträge einer Untertabelle blättern und Felder auslesen. Ich fand bei meiner Recherche irgendwie nicht den richtigen Code.... kann mir da jemand einen Tipp geben ?
13 Antworten
-
Hallo. Ich weiß leider nicht genau, was Sie erreichen möchten.
Birger
-
Ich habe eine Tabelle A, die mit einer Untertabelle B verknüpft ist. Jetzt hat jeder Eintrag in der Haupttabelle A mehrere Verknüpfungen zu Einträgen in der Untertabelle B. In der Haupttabelle A möchte ich ein Script starten, dass dann aus allen verknüpften Datensätzen der Untertabelle B einzeln Werte ausliest und verarbeitet. D.h. ich möchte per script durch die Untertabellen-Einträge blättern und Werte auslesen.
-
Hallo Dirk,
dafür musst du lediglich die Untertabelle ohne "select" ansprechen. z.B.
---
for i in 'Untertabelle B' do
....
end
---
oder
---
delete 'Untertabelle B'
---
so werden nur die verknüpften Datensätze gelöscht (mit delete select 'Untertabelle B' wären dann alle Datensätze gewesen)
Grüße
Leo
-
Spannend, passt nur noch nicht ganz:
for i in Uploads do
'Upload-Code' := 'Upload-Code' + Uploads.'10_Objekt'.'Objekt-Nr' + " "
end;Ich habe in der Untertabelle 2 Einträge und möchte dort das Feld Objekt-Nr. auslesen und in einem Textfeld Upload-Code aneinander reihen (jetzt mal als Beispiel).
Ergebnis am Ende im Textfeld ist:
Wert1Wert2 Wert1Wert2D.h. er läuft die Schleife zwar 2 mal durch, sammelt aber jedesmal beide Werte zusammen ein....
Wo ist mein Fehler ? -
mit der Schleife hast Uploads als "i" deklariert. Wenn du in der Schleife Uploads nochmals mit dem Namen Uploads ansprichst, läft ninox quasi noch eine Schleife durch. Richtiger wäre:
---
for i in Uploads do
'Upload-Code' := 'Upload-Code' + i.'10_Objekt'.'Objekt-Nr' + " "
end;---
Leo
-
Noch spannender ist bei Ninox, dass du solche Aufgaben auch ohne Schleife erledigen kannst. Wenn 'Upload-Code' ein Berechnungsfeld wäre, dann würde die Formel dafür so aussehen:
---
join(Uploads.'10_Objekt'.'Objekt-Nr'," ")
---
Leo
-
Ja cool - es funzt - super, danke !! Dann werde ich das mal noch mit Select und Join mal austesten... diese Funktionen sind schon mächtig.
-
Hm - jetzt habe ich ein anderes Zielfeld angegeben - schon tut's nicht mehr.
Dieser Code tut - aber es kommt wieder alles 2 mal:for i in Uploads do
'Upload-Code' := 'Upload-Code' + Uploads.Code_Vorlage + "
"
end;setzte ich ein i davor, dann Fehler
-
Fehlen vielleicht schlichtweg die einfachen Anführungszeichen bei 'Code_Vorlage'?
-
nein - leider schon getestet, sowohl i.'Uploads.Code_Vorlage' als auch i.'Uploads'.'Code_Vorlage' usw....
Das Feld Code_Vorlage ist ein Berechnungsfeld (Textblock) -
Versuch bitte den "Uploads" zwischen "i"und "Code_Vorlage" zu entfernen.
Leo
-
Krass - jetzt geht es! Muss ich das verstehen ??
-
Ich versuch's zu erklären. Wenn du die Schleife anfängst (for i in Uploads do) ersetzt du in jedem schritt der Schleife den Namen der durchlaufende Tabelle (Uploads) dirch "i". Innerhalb der Schleife heißen jetzt alle Felder der Uploads - i.Nr, i.'Code Vorlage' usw.
Content aside
- vor 6 JahrenZuletzt aktiv
- 13Antworten
- 3571Ansichten