0

Suche nach ganzen Eintrag oder Teileintrag

Halle an Alle,

ich habe mir in meiner Tabelle ein Suchfeld eingebaut, was soweit auch super läuft. nun habe ich aber das problem, dass ich immer nur nach ganzen Auftragsnummern suchen kann. Gibt es eine möglichkeit, dass man nach der ganzen Auftragsnummer oder auch nur nach den letzen vier Zahlen suchen kann?

Siehe Bild und angehangenem Code

let me := this;
let myProject := me.'Projekt suchen';
select Projekt where not myProject > 0 or Autragsnummer = myProject

 

 

Ich habe hier im Forum schon so vieles hilfreiches gelesen, aber dazu leider noch nichts.

Wäre schön, wenn es da eine Möglichkeit gäbe und mir einer helfen könnte.

Schon mal danke im Voraus.

9 Antworten

null
    • Wolfgang_Hopfgartner
    • vor 5 Tagen
    • Gemeldet - anzeigen
    Autragsnummer like me.'Projekt suchen'
      • Siegfried_H
      • vor 5 Tagen
      • Gemeldet - anzeigen

       

      Erst mal danke für die schnelle Antwort. Aber irgendwie stehe ich ein wenig auf dem Schlauch. 
      Ich habe deinen Code in meinen ersetzt und bekomme immer eine Fehlermeldung, dass in Reihe 2 ein Code-Fehler aufgetreten ist. Wahrscheinlich habe ich in falsch erweitert. 

    • Siegfried_H
    • vor 4 Tagen
    • Gemeldet - anzeigen

    Ich habe noch mal alle möglichen Varianten ausprobiert, aber keine bringt mich zum erwünschtem Ergebnis.

    Entweder werden mit alle Aufträge angezeigt, oder die Tabelle ist leer. wenn ich dann was mit 4 Ziffern suche, wird mir wieder jeder Auftrag angezeigt.

    Also irgendwie mache ich was falsch an dem Code.

      • Wolfgang_Hopfgartner
      • vor 4 Tagen
      • Gemeldet - anzeigen

       

      Ich würde einfach schreiben:
      let me := this;
      select Projekt where Autragsnummer like me.'Projekt suchen'
    • Leonid_Semik.2
    • vor 4 Tagen
    • Gemeldet - anzeigen

    hallo 
    zur reine Textsuche würde ich es so gesctalten
     

    let search:=('Project suchen');
    select Projekt where not search or testx(Auftragnummer,search+"$")

    wenn kein Filter gesetzt wird, werden alle Datensätze angezeigt, wenn etwas rein geschrieben wird, dann wird geprüft nach Übereinstimmung aber "von hinten" geprüft. Ich würde das Feld Projekt Suchen nicht an server sondern an Speicher binden. Dann können auch mehrere Benutzer gleichzeitig filtern.  
     

      • Wolfgang_Hopfgartner
      • gestern
      • Gemeldet - anzeigen

       Eine Frage meinerseits: hat das "not search" eine Auswirkung auf die Ausführungszeit, oder warum macht man das? 

      • Leonid_Semik.2
      • gestern
      • Gemeldet - anzeigen

       

      man kann sich das vereinfacht so vorstellen:

      select Projekt geht Datensatz für Datensatz durch die Tabelle.

      Für jeden Datensatz wird die Bedingung ausgewertet:

      • Ist search leer (not search), ist die Bedingung automatisch wahr → der Datensatz wird angezeigt.

      • Ist search gefüllt, wird geprüft, ob Auftragnummer auf den Suchwert endet (testx(...)).

        Nur wenn das zutrifft, wird der Datensatz übernommen.

      not search dient also nicht der Performance-Optimierung, sondern der Logik:

      Ohne diese Prüfung würde bei leerem Suchfeld kein Datensatz zurückkommen.

      Der Performance-Unterschied ist in der Praxis vernachlässigbar – Ninox prüft ohnehin jede Zeile.

      • Wolfgang_Hopfgartner
      • vor 14 Stunden
      • Gemeldet - anzeigen

       Danke dir für die Erklärung. lG

    • Siegfried_H
    • vor 4 Tagen
    • Gemeldet - anzeigen

    Noch mal danke, für die viele Hilfe.

     , ich habe deinen Code eingebaut und der funktioniert genau so, wie ich es gewollt habe.

    Noch mals Danke 👍 

Content aside

  • vor 14 StundenZuletzt aktiv
  • 9Antworten
  • 62Ansichten
  • 3 Folge bereits