0

Such Button erstellen

Hallo, ich möchte einen eigenen Suchbutton am Dashboard programmieren, so  dass ich aus meiner Kundenliste einen Kunden auswählen kann, nach der Auswahl soll der Suchbutton wieder leer sein. Sollte der Kunde gefunden werden, soll sich der Kundenstamm öffnen. Ich möchte nicht den Suchbutton von Ninox verwenden, da der nicht in der Maske liegt. Ich habe ein paar Bilder hinzugefügt. Vielleicht kann mir wer helfen. Danke.

15 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Sabine, ich weiß nicht, wonach genau du suchen willst und was du mit "Kundenliste" meinst. Aber eine einfache, naheliegende Möglichkeit wäre die Suche nach dem Namen. Dazu bräuchte man ein Textfeld zur Eingabe des Namensbestandteils ('Suche'), nach dem gesucht werden soll. In der Ansicht 'Kunden' könnte man unter "Formel" folgenden Code hinterlegen:

    if Suche then
       let myN := lower(Suche);
       select Kunden where contains(lower(Name), myN)
    else
       select Kunden
    end

    Zum Leeren des Suchfeldes könnte man einen Button mit folgendem Code erstellen:

    Suche := null
    
      • Unternehmerin Kosmetik
      • oswald
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hallo Planox, danke für deine Hilfe, wollte mich jetzt schon bedanken. Werde es am Abend probieren und mich bei dir nochmals melden, wenn ich Hilfe brauche, darf ich das? LG.

      • Ninox-Professional
      • planoxpro
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Ja, klar. Immer her mit den Fragen. Irgendjemand wird sie sicher beantworten. 😉

      • Unternehmerin Kosmetik
      • oswald
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hallo Planox, und alle, die mir helfen können. Ich habe von Ninox-Support eine Programmierung für den "Suche-Button" bekommen, was ja auch grundsätzlich funktioniert, aber nicht ganz nach meinen Vorstellungen, denn nach dem Drücken des "Such-Buttons" sollte die Listen "Kunden" aufscheinen mit den selektieren Namen (z.B. alle die mit dem Namen "Mayer" beginnen oder im Namen haben. Zur Erklärung ein paar Bilder, Danke für die Hilfe. Lg.

      • mirko3
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hi. Im Grunde reicht das Textfeld "Suche" aus, welches Du mit Enter bestätigst. In deiner "Liste", was ein Ansichtfeld ist, schreibst Du dann den Code

      let search := Suche;
      (select Kunden)[contains(lower(Nachname), lower(search)) or contains(lower(Vorname), lower(search))]
      

      damit werden die Namen gefiltert, ob Du nun einen Vornamen oder einen Nachnamen in das Suchfeld geschrieben hast. Vor- und Nachname in das Suchfeld zu schreiben gelingt nicht. Entweder, oder. Dann klickst Du auf den Namen in der Ansicht und öffnest damit den Record für die Person. Mirko

    • Heinrich Frey Maschinenbau GmbH
    • Christian_Rott
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Sabine, ich habe es bei mir so gelöst das ich ein Formelfeld im Kundenstamm mit allen Informationen die ich auch suchen will befülle.

    Formelfeld anlegen mit dem Code: Vorname + " " + Nachname + " " + Strasse + " " + Ort +
    " " +
    PLZ dieses Feld habe ich fxSuche genannt und ausgeblendet.

    Nun habe ich in der Ansicht wie  schon geschrieben hat mir ein Textfeld "Suche" angelegt und im Code für die Ansicht dann 

    let myS :=Suche;

    select Kunden where contains (fxSuche) 

    und sobald du Enter drückst findet die Ansicht alles was du in dein Suchfeld eingeben hast

    Ob nun Vorname,PLZ,Ort,Nachname oder eben auch Vor und Nachname 

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 1 Jahr
      • Gemeldet - anzeigen

       

      • Unternehmerin Kosmetik
      • oswald
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Christian Rott Danke für die Hilfe, Christian. Habe das Problem gelöst, dank Forum. Deine Datenbank sieht super aus. LG

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Das freut mich das Dir hier geholfen wurde. Auch mir wurde immer geholfen ist ein super Forum hier. 

      Ja so langsam wird sie immer besser 😉

      • Unternehmerin Kosmetik
      • oswald
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hallo Christian, kannst du mir vielleicht hierzu einen Tipp geben:

      Ein Feld erzeugen, wo ein Code eingegeben wird, dann kann der MA die Kundendatei und anderer Dateien öffen, wenn ein Kunde kommt, gebe ich einen Code in das Feld ein, und er kann nur sein leeres Kundenblatt ausfüllen. Ich möchte keine zusätzliche Lizenz kaufen, weil das für den Kunden nicht so oft benutzt wird. Vielleicht hast eine Idee. Danke.

      • Developer by Smartplanung
      • smartplanung
      • vor 1 Jahr
      • Gemeldet - anzeigen

       es gibt da verschiedene Möglichkeiten.

      Die einfachste:

      • Ja/Nein Feld 1 erstellen (für Textfeld Sichtbarkeit) - Standardwert = nein; Zuweisung = Globale Variable im Speicher (Browser)
      • Ja/nein Feld 2 erstellen (für die validierung des Codes) - Standardwert = nein; Zuweisung = Globale Variable im Speicher (Browser)
      • Button erstellen (Passwort eingabe anzeigen) - bei Klick: Ja/Nein Feld 1 := true; Sichtbar wenn: not Ja/Nein Feld 1
      • Button erstellen (Code prüfen) - bei Klick:
      if Textfeld = "mein Code 123" then
      Ja/Nein Feld 1 := false;
      Ja/Nein Feld 2 := true;
      else
      Textfeld := null;
      alert("Falscher Code");
      end;
      • Textfeld erstellen (für die Code Eingabe) - Zuweisung = Globale Variable im Speicher (Browser)

      Die Ja/Nein Felder werden permanent ausgeblendet. Das Textfeld wird eingeblendet, wenn Ja/Nein 1 = Ja ist

      Der Button zum Prüfen des Codes wird nur eingeblendet, wenn Ja/Nein 1 = Ja ist

      Wenn noch nicht vorhanden, eine Registerkarte hinzufügen (vor alle Felder schieben, sodass Sie an erster Stelle steht) und dort in den Einstellungen unter "Trigger vor Anzeige" noch folgendes rein setzen:

      Ja/Nein Feld 1 := false
      Ja/Nein Feld 2 := false

      Falls man die Datenbank mal schließt, würde sich die Freigabe somit jedes mal zurücksetzen, wenn man die Seite erneut öffnet. Alternativ könnte man mit einem weiteren Button die Ja/Nein Felder wieder zurücksetzen, um die Ansicht zu sperren.

      Die gewünschte Anzeige wird dann abhängig von Ja/Nein Feld 2 gemacht.

       

      Die etwas komplexere Variante wäre mit weiteren Pages zu arbeiten. Quasi kann man für den Kunden eine Page bereitstellen, wo man nur mit einem Code wieder raus kommt.

      • Heinrich Frey Maschinenbau GmbH
      • Christian_Rott
      • vor 1 Jahr
      • Gemeldet - anzeigen

       hat Patrick unten schon ausführlich beschrieben und ich wäre da auch sicher an meine bescheidenen Grenzen gestoßen. 

      Aber wie gesagt immer fragen hier wird Dir fast immer geholfen.

      Super Weg das so umzusetzen

      • Unternehmerin Kosmetik
      • oswald
      • vor 1 Jahr
      • Gemeldet - anzeigen

       vielen Dank für die Hilfe an euch alle.

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    So geht es auch für zwei Namen. Mirko

    let result := split(Suche, " ");
    let search := for i in result do
            lower(i)
        end;
    select Kunden where contains(search, lower(Vorname)) or contains(search, lower(Nachname))
    
      • Unternehmerin Kosmetik
      • oswald
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hallo Mirko, vielen Dank für deine Hilfe, werde mir den Code auf jeden Fall notieren, kann ihn wo anders auch nochgebrauchen.