0

Suchmaske erstellen

Hallo,

wir sind auf der Suche nach einer Möglichkeit eine Suchmaske ähnlich wie z.B. in Access zu erstellen.

D.h. wir benötigen mehrere Suchfelder. Dabei sollen Freitextfelder, Auswahlfelder, Mehrfachauswahlfelder, Zahlenfelder oder auch Datums- und Terminfelder durchsucht werden können.

Aus dieser Suchauswahl soll dann eine Tabelle erstellt werden, welche bspw. auch nach Excel exportiert werden kann.

Des Weiteren soll ein Button alle Suchfelder wieder löschen?

Gibt es hierfür eine Möglichkeit?

Und noch eine Frage, die bis zur Fertigstellung der Suchmaske die Arbeit erleichtern würde. Gibt es eine Möglichkeit alle Filter in einer Tabelle gleichzeitig zu löschen?

Vielen Dank im Voraus

11 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 5 Monaten
    • Gemeldet - anzeigen

    Hallo Ninox Nutzer ,  in einer Tabellenansicht mehrere Filter gleichzeitig zu entfernen, geht m. W. nicht. Über das Plus-Zeichen lassen sich aber individuelle Ansichten erstellen, die jeweils eigene Spalten, Filter, Sortierungen und Gruppierungen haben können. Über das Zahnrad-Menü lassen sich die Daten einer solchen Ansicht dann auch im CSV- oder Excel-Format exportieren.

    Ich weiß nicht, mit der "Suchmaske ähnlich wie z.B. in Access" genau gemeint ist. Um eine Tabelle auf verschiedene Datenfelder und -typen abzufragen, kann man sich eine Art Dashboard erstellen, im Formular die gewünschten Suchfelder platzieren sowie eine Ansicht, welche die Suchfelder abfragt und die Daten automatisch entsprechend filtert. Mit einem Button könnte man diese Daten dann auch in eine eigene Tabelle schreiben oder direkt eine CSV-Datei daraus erstellen.

    Die Schritte dazu jetzt hier vorauseilend im Detail zu beschreiben, würde den Rahmen sprengen. Ist alles kein Hexenwerk, aber vielleicht genügt ja schon der erste Hinweis mit den Tabellenansichten.

    Ach so, der Code für einen Button, um die Suchfelder im Dashboard zu leeren, wäre sehr simpel:

    Suchfeld1 := null;
    Suchfeld2 := null;
    ... usw.

    Der Datentyp spielt dabei keine Rolle.

      • ninox_nutzer
      • vor 5 Monaten
      • Gemeldet - anzeigen

      Danke für den Hinweis mit dem Löschbutton.

      Ich suche genau so eine Suche meine ich. Wie ich die Suchfelder und die Ansicht erstelle weiß ich. Leider bekomme ich es bisher nicht hin, in der Ansicht nicht nur UND-Verknüfungen für das Filtern zu nutzen. Ich benötige UND und ODER-Verknüfungen.

      Auch wie ich einen Button programmiere, um das Ergebnis in Excel raus zu fahren, fehlt mir leider noch.

      Danke für die Unterstützung.

      • Developer by Smartplanung
      • smartplanung
      • vor 5 Monaten
      • Gemeldet - anzeigen

       viele scheitern daran, dass sie die ODER Bedingungen nicht in Klammern setzen.

      Hier ein kurzes Beispiel mit 4 Feldern.

      A = null
      B = null
      C = null
      D = "d"

      if A = "a" and B = "b" or C = "c" or D = "d" then...

      es wird true ausgegeben

      if A = "a" and (B = "b" or C = "c" or D = "d") then...

      es wird false ausgegeben

       

      Ein weiteres Beispiel:

      if A = "a" or B = "b" and C = "c" or D = "d" then...

      es wird true ausgegeben

      if (A = "a" or B = "b") and (C = "c" or D = "d") then...

      es wird false ausgegeben

      • ninox_nutzer
      • vor 5 Monaten
      • Gemeldet - anzeigen

      Danke! Ja es war tatsächlich ein Klammerfehler, allerdings an anderer Stelle 🙈

      • ninox_nutzer
      • vor 5 Monaten
      • Gemeldet - anzeigen

      Hallo planox. pro ich habe es nun geschafft, die Suche zu erstellen. Mir fehlt nun nur noch der Button für den Export in eine eigene Tabelle bzw. in eine CSV-Datei. Kann mir da vielleicht jemand einen Code einstellen?

      Vielen Dank!

      • Ninox-Professional
      • planoxpro
      • vor 5 Monaten
      • Gemeldet - anzeigen

       Das Erstellen der CSV-Datei an sich ist mit createTextfile() recht simpel. Da man aber nicht direkt auf die Daten einer Ansicht zugreifen kann, muss man zum Selektieren der zu exportierenden Daten nochmal dieselben Filter anwenden wie in der Ansicht. Da schon häufiger danach gefragt wurde, habe ich mal eine kleine Beispiel-DB unter "Tipps & Tricks" eingestellt.

      https://forum.ninox.de/t/m1y3ywb/tipp-ansicht-filtern-und-als-csv-exportieren

      Die Filter selbst sind dort einfach gehalten, aber da setzt man ja ohnehin seine eigenen ein.

    • Klaus_J
    • vor 5 Monaten
    • Gemeldet - anzeigen

    Hallo ich habe hier mal eine Suche erstellt , Ich suche ein Buch !

    1. Artikel Nr , oder 2. Titel oder 3. Autor oder 4. In der Beschreibung .

    Eine History erleichtertdas Rückwertssuchen . klappt sehr gut . die Suchfelder sind Dynamische Auswahlfelder.

    schöne 1.Advend Klaus

     

    • ninox_nutzer
    • vor 5 Monaten
    • Gemeldet - anzeigen

    Hallo Klaus J.,

    danke für deine Antwort. Die Idee mit den Auswahlfeldern gefällt mir.

    Gibt es dort eine Möglichkeit eine ODER Verküpfung für die Suche zu erstellen? Mit AND und OR gemischt, komme ich derzeit nicht weiter.

    Vielen Dank!

      • Klaus_J
      • vor 5 Monaten
      • Gemeldet - anzeigen

       Hallo wenn es weiter hilft kann ich dir ja ein kleinen Auszug der Tabelle Schicken .

      • ninox_nutzer
      • vor 5 Monaten
      • Gemeldet - anzeigen

      Was mir fehlt ist, die Formel in der gefilterten Tabelle. Wenn du mir dafür die Formel hier einstellen könntest, ist mir wahrscheinlich sehr geholfen. Vielen Dank!

      • Klaus_J
      • vor 5 Monaten
      • Gemeldet - anzeigen

       hier der Code für die Ansicht.

      ---
      "Ansicht erstellen"
      ---;
      let mySuche := lower('ArtNr AutorNachname Titel Schreiben');
      let myShop := text(InAbeBooks);
      let myShopE := text(ImShopEbaySuchen);
      let mySuchF := text('FilterSuche-Felder');
      let myStatus := text(SuchenInStatus);
      let mySatusVerk := if SucheOhneVerkauft then "Verkauft/Rech." else "" end;
      if text('FilterSuche-Felder') = "Buch-Nr" then
          select Artikel
              where 'Buch-Nr' like mySuche and contains(text(AbeBooks), myShop) and
                      contains(text(Ebay), myShopE) and
                  contains(text(Status), myStatus) and
              text(Status) != mySatusVerk
      else
          if text('FilterSuche-Felder') = "Autor" then
              select Artikel
                  where lower(AutorNachname) like mySuche and contains(text(AbeBooks), myShop) and
                          contains(text(Ebay), myShopE) and
                      contains(text(Status), myStatus) and
                  text(Status) != mySatusVerk
          else
              if text('FilterSuche-Felder') = "Titel" then
                  select Artikel
                      where contains(lower(Titel), mySuche) and contains(text(AbeBooks), myShop) and
                              contains(text(Ebay), myShopE) and
                          contains(text(Status), myStatus) and
                      text(Status) != mySatusVerk
              else
                  if text('FilterSuche-Felder') = "Beschreibung" then
                      select Artikel
                          where contains(lower(Beschreibung), mySuche) and contains(text(AbeBooks), myShop) and
                                  contains(text(Ebay), myShopE) and
                              contains(text(Status), myStatus) and
                          text(Status) != mySatusVerk
                  else
                      if 'FilterSuche-Felder' = 5 then
                          select Artikel
                              where contains(lower(text('Verlag/OrtAlt')), mySuche) and contains(text(AbeBooks), myShop) and
                                      contains(text(Ebay), myShopE) and
                                  contains(text(Status), myStatus) and
                              text(Status) != mySatusVerk
                      else
                          if 'FilterSuche-Felder' = 6 then
                              select Artikel
                                  where contains(ErscheinungsjahrAlt, mySuche) and contains(text(AbeBooks), myShop) and
                                          contains(text(Ebay), myShopE) and
                                      contains(text(Status), myStatus) and
                                  text(Status) != mySatusVerk
                          else
                              if 'FilterSuche-Felder' = 7 then
                                  select Artikel
                                      where KatalogsNr like mySuche and contains(text(AbeBooks), myShop) and
                                              contains(text(Ebay), myShopE) and
                                          contains(text(Status), myStatus) and
                                      text(Status) != mySatusVerk
                              else
                                  if 'FilterSuche-Felder' = 8 then
                                      select Artikel
                                          where contains(text(AbeBooks), myShop) and contains(text(Ebay), myShopE) and
                                              contains(text(Status), myStatus) and
                                          text(Status) != mySatusVerk
                                  end
                              end
                          end
                      end
                  end
              end
          end
      end

Content aside

  • vor 4 MonatenZuletzt aktiv
  • 11Antworten
  • 139Ansichten
  • 5 Folge bereits