0

Performance-Probleme mit for Schleife

Guten Abend,

Ich hab zwei Tabellen. Einmal "Import Rohdaten" ca. 1000-2000 Datensätze und einmal "Leads" momentan 8000 Datensätze Tendenz steigend.

In der Tabelle "Leads" hab ich ein Funktionsfeld das prüft ob eine bestimmte Adresse auch in der Tabelle "Import Rohdaten" vorhanden ist.

Ist das der Fall wird eine 1 ausgegeben und wenn nicht eine 0. Soweit so gut!

Ich möchte nun den Wert aus dem Berechnungsfeld in ein Zahlenfeld übertragen und das für jeden Datensatz in der Tabelle "Leads".

Das hat den Hintergrund das Ninox Probleme beim Anzeigen von Berechnungsfeldern in der Tabellenansicht hat.

do as server
    for i in (select Leads) do
        i.(Zahlenfeld  := Rohdaten)
    end
end

Das Problem ist das Ninox dafür sehr lange braucht und manchmal sogar einfach abbricht oder aufhängt. Ich arbeite mit der Cloudversion und Google Chrome.

Hat jemand eine Idee was ich an dem Code ändern kann, das die Performance sich verbessert? 

Liebe Grüße und schönen Abend 

Martin :)

2 Antworten

null
    • Martin_Wackenhut
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Leute ich hab das Problem gelöst!!! War wahrscheinlich ein totaler Anfängerfehler 😂

    ich darf in der Schleife kein fx(feld) erwähnen!

    Das Feld "Rohdaten" ist ein Berechnungsfeld bei mir gewesen!

    So funktionierts rasend schnell:

    let werteins := (select 'Akquise Import')['Rohdaten' = 0];
    let wertzwei := (select 'Akquise Import')['Rohdaten' = 1];
    
    do as server
        for i in werteins do
            i.(Zahlenfeld := 0);
            for i in wertzwei do
                i.(Zahlenfeld := 1)
            end
        end
    end

    😄 

    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Moin Martin Wackenhut ,

    super und danke für deine Rückmeldung!
    Ich war grad dabei mich reinzudenken und hätte als nächstes mehr Infos von dir "angefordert". 😉
     

    VG Ronald