1

Scripting. Newbie Frage

Hallo ans Forum. 

Ich habe mir mit Ninox eine Datenbank für unser aufstrebendes Plattenlabel "gebastelt" - aber jetzt komme ich ohne Programmiererfahrung an meine Grenzen. 

Zum Hintergrund. Ich habe ein Hauptlabel und ein Sub-Label. Ich würde gerne alle Songs in einer Tabelle einpflegen, benötige aber unterschiedliche Song-Nr. je Label. 

Meine Idee wäre es mit einem Counter hoch zu zählen wenn im Label A ein Song dazu kommt und entsprechend im Sublabel B. 

Zum Unterscheiden der beiden Labels habe ich ein Auswahlfeld eingebaut in dem ich dann entsprechend switchen kann. 

Im Hauptlabel habe ich nun 89 Songs und im Sublabel bin ich bei Nummer 5. 

Ist es möglich das bei einem neuen Datensatz nach Auswahl des Labels automatisch der Counter auf 90 bzw. 6 usw. hochgesetzt werden kann ? Dies auf Dauer manuell zu machen wird fände ich umständlich. Eine zweite Tabelle möchte ich eigentlich auch nicht anlegen, da ich diese Song Tabelle auch benötige um Verträge zu schreiben. 

Vielleicht kann mir ja jemand helfen hiermit. 

Hiermit habe ich einen Überblick über die kompletten Songs - aber ich bekomme es nicht alleine hin dies auch zwischen den Labels zu splitten. 

let myNumber := max((select 'All Songs since 22').number(last(split(Catalog, "-")))) + 1;
Catalog := "" + format(cnt(select 'All Songs since 22'), "00000")

 

Danke schon mal 

3 Antworten

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi Tanja. Gesetz dem Fall, dass Dein Auswahlfeld "AUSWAHLFELD" heißt und das Feld für die aufsteigende Nummer "Catalog", dann wie unten. Ich habe angenommen, dass "Catalog" ein Textfeld ist, es wird aber auch mit einem Zahlenfeld funktionieren. Das Script gehört in das Feld "Trigger nach Änderung" im Auswahlfeld.

    let me := this;
    let lastNrHauptLabel := number(last(((select 'All Songs since 22')[AUSWAHLFELD = 1] order by number(Nr)).Catalog));
    let lastNrSubLabel := number(last(((select 'All Songs since 22')[AUSWAHLFELD = 2] order by number(Nr)).Catalog));
    switch AUSWAHLFELD do
    case 1:
        me.(Catalog := lastNrHauptLabel + 1)
    case 2:
        me.(Catalog := lastNrSubLabel + 1)
    end
    
    • Garden Cactus Records & Publishing GbR
    • Tanja_Ramseger
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Mirko

    das Auswahlfeld heißt Label aber das kann ich selbst anpassen. 

    Erst einmal super danke für deine Hilfe - wird gleich ausprobiert. 

    • Garden Cactus Records & Publishing GbR
    • Tanja_Ramseger
    • vor 1 Jahr
    • Gemeldet - anzeigen

    let me := this;
    let lastNrHauptLabel := number(last(((select 'All Songs since 22')[Label = 1] order by number(Song_Nr_GC)).Song_Nr_GC));
    let lastNrSubLabel := number(last(((select 'All Songs since 22')[Label = 2] order by number(Song_Nr_CTV)).Song_Nr_CTV));
    switch Label do
    case 1:
        me.(Song_Nr_GC := lastNrHauptLabel + 1)
    case 2:
        me.(Song_Nr_CTV := lastNrSubLabel + 1)
    end

    So funktioniert es einwandfrei :) Danke dir 

Content aside

  • 1 „Gefällt mir“ Klicks
  • vor 1 JahrZuletzt aktiv
  • 3Antworten
  • 39Ansichten
  • 3 Folge bereits