0

select Bedingung

Mir ist ein seltsames Verhalten bei der  select-Abfragen aufgefallen:

select Kontaktpersonen where Nr = 1957;

1957

select Kontaktpersonen where Nr > 1956;

kein Treffer ??

 

Ich wollte die neusten Records auslesen die nach meinem Record generiert worden sind. 

Seltsamerweise bekomme ich die nicht mit der Bedienung Nr>x zurück.

Auch die Syntax mit [] ergibt das gleiche

select[Nr>1956]

 

Was mache ich falsch? 

Besten Dank

Danko

4 replies

null
    • Danko_Petrovic
    • 4 yrs ago
    • Reported - view

    ... und grad nochmals ein Nachtrag...

     

    Die Abfrage: 

    for k in (select Kontaktpersonen [Name != "Herr Hansueli Keller"]) do
    k.Name
    end

     

    ergibt: 

    InternalError: too much recursion / function anonymous(ctx,db,n0,params,cb
    ) {
    var s1;(function(cb){(function(cb){(function(cb){db.select("(select N)", function(err,nids){cb(nids||[])})})(function(vs) {
    if(!vs){cb([])}else{
    db.loadNodes(vs,function(){var ress = [];
    for(var i = 0; i < vs.length; i++) {
    var v = vs[i];
    var n = db.loadNodeSync(v);
    if(n!=null&&(ctx.evalSync(db,"N","F",n)!="Herr Hansueli Keller")) ress.push(v);
    }
    cb(ress);
    })}})})(function(vs1){if(!vs1||!vs1.length)return cb([]);var vs2=[];f(0);function f(i){if(i>=vs1.length)return cb(vs2);s1=vs1[i];(function(cb){(function(cb){cb(s1)})(function(n) {db.loadNode(n,function(err,n){cb(n?ctx.evalSync(db,"N","F",n):undefined)})})})(function(v2){if(v2!=null)vs2.push(v2);f(i+1)})}})})(cb);
    }

     

    Mach ich was komisches? Sind das Bugs? Gibt es irgendwo eine Liste mit Einschrenkungen was Select-Anweisungen angeht? 

     

    Danke & liebe Grüsse

    Danko

    • Support
    • 4 yrs ago
    • Reported - view

    Die Abfrage sollte so lauten:

    –––
    for k in select Kontaktpersonen where not(Name = "Herr Hansueli Keller") do
    k.Name
    end
    –––

    Birger

    • Robert_Haase_Sente_Gmb
    • 4 yrs ago
    • Reported - view

    Deine Frage:

    select Kontaktpersonen where Nr > 1956;

    kein Treffer ??

     

    Antwort: Datentyp-Fehler: Nr (oder Id) ist nicht der Datentyp "number" . Solche Fehler gibt es häufig auch bei Auswahlfeldern etc.

    Die Abfrage 

          select Kontaktpersonen where number(Nr) > 1956;

    funktioniert.

    Unklare Datentypen sind bei mir ein häufiges Problem gewesen (weil die Anzeige iom Formular eben nur den Text oder die Zahl anzeigt). Ninox wird die Dokumentation für Datentypen und Typkonvertierungen sicherlich noch klarer und übersichtlicher gestalten 

    Robert

    • Danko_Petrovic
    • 4 yrs ago
    • Reported - view

    Danke Birger, danke Robert!

    Ja die Datanetypen... 

    So geht es. Danke

Content aside

  • 4 yrs agoLast active
  • 4Replies
  • 1909Views