Office: (Office 2003) Rezeptsuche VBA/SQL über Formular mit Eingabefeldern?

Helfe beim Thema Rezeptsuche VBA/SQL über Formular mit Eingabefeldern? in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; schön dann wär das ja auch geklärt *Smilie mmh Josep hat sich nun doch nicht mehr gemeldet? .... Abschließend präsentiere ich mein heutiges... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von schnattielein, 21. Oktober 2010.

  1. Rezeptsuche VBA/SQL über Formular mit Eingabefeldern?


    schön dann wär das ja auch geklärt *Smilie

    mmh Josep hat sich nun doch nicht mehr gemeldet? ....


    Abschließend präsentiere ich mein heutiges Eregbnis, dass dank Eurer Hilfe zustande kam *Smilie *Smilie

    P.S. Besonderes Augenmerk im Eregbnisformular, die "" vor und nach dem Suchbegriff oben in der Headline. Hat etwas gedauert bis ich es gelöst habe, dass VB mit die "" auch als "" anzeigt - das war mein letzes Erfolgserlebnis für heute in Sachen DB. Ich kann nur sagen: Ich bin wieder sehr motiviert, weiterzumachen *Smilie

    Sodele, meine Kiste fährt jetzt runter. Genug für heute *Smilie

    ICH DANKE EUCH ....

    schönen Abend noch ..

    LG Anja
     
    schnattielein, 31. Oktober 2010
    #61
  2. \@anja
    sollte klapen
     
  3. Anbei ist ein Variante mit dynamisch erzeugten Filterwerten per VBA.
    Im Formular "F3_Suche" unterteilte ich den Code etwas, damit er (zumindest für mich *biggrin.gif*) besser lesbar wird.

    @Anja: Bitte den Code nicht einfach übernehmen, sondern nur übernehmen, wenn dir klar ist, wie der Code funktioniert. *wink.gif*

    mfg
    Josef
     
    Josef P., 31. Oktober 2010
    #63
  4. Rezeptsuche VBA/SQL über Formular mit Eingabefeldern?

    Hier wäre auch noch mal eine Filtervariante mit Elementen aus kamas Vorschlag. Es fehlt noch eine Suche, die die Zutaten mit UND verknüpft.
    maike
     
  5. Ich denke nicht!
    Durch die Auswahl durch den Markierer werden ja und/oder Abfragen erzeugt.
    Ist es da wirklich notwendig nach und zu selectieren?
    wenn ja hast du hier den Ansatzpunkt lgZutat = Me!lstZutatWahl.ListCount
    Bei >1 kannst und /Oder auswählen.
     
  6. Bezüglich Und/Oder: ich verstand das so, dass bei Und nur jene Rezepte angezeigt werden sollten, in denen alle ausgewählten Zutaten benötigt werden.

    mfg
    Josef
     
    Josef P., 31. Oktober 2010
    #66
  7. So verstand ich das auch *wink.gif* .
    maike
     
  8. Rezeptsuche VBA/SQL über Formular mit Eingabefeldern?

    ja so meinte ich das auch ... ehrlichgesagt habt ihr mich verunsichert *wink.gif* . Wie bringt das mein Konzept weiter?

    erstmal: Mit der Volltextsuche sind wir ja fertig?? - Ergebnis hab ich ja gestern abend gepostet. Jedenfalls ist es optimal für mich, kanns mir nicht besser vorstellen *Smilie

    Also nun zur Zuatensuche:


    @Josef: Ich kann nur sagen, genau das wärs ... aber nein, so voll und ganz kann ich nicht nachvollziehen, was dein Code da so treibt *zähneknirsch* mmh, da liegt also ne fertige Lösung und ich darf sie nicht verwenden - dabei wär sie soooooooooo schön *wink.gif* - magst mirs vielleicht erklären?*wink.gif*?
    zu
    ... nein braucht man nicht, weil man Rezepte mit mehr als 4 Zutaten selten bis gar nicht abfragen wird. Zuviele verschiedene Geschmacksrichtungen sind gar nicht erwünscht, da die Zuaten immer wohlbedacht aufeinander abgestimmt sind. Deshalb habe ich überlegt, dass man bei der Zutatensuche nicht mehr als 4 Zutaten als Auswahl benötigt. ... Verstehtst du *Smilie??

    @Maike: Ja, interessant - das wär dann dieses "alles zusammen" .... *Smilie


    Was machen wir nun mit der Zuatensuche *grins ????
    LG ANja
     
    schnattielein, 31. Oktober 2010
    #68
  9. Wie ich schon einmal geschrieben habe stört mich alles im Codeeditor mit VBA zu machen.
    SQL im Code für mich nur dann, wenn SQL dort benötigt wird.
    Um eine Datenquelle für ein Form zu erstellen benötigt man das sicher nicht.
    Ich werde mich aber ab jetzt mal ganz raushalten, es führen ja viele Wege nach Rom.
    Ein Stichwort möchte ich aber noch in den Raum werfen: Wartbarkeit!
    Der Code ist m.E. unübersichtlich (siehe z.B. Einrückungen) und schlecht kommentiert.
    So long
    Kama
     
  10. Ich dachte dabei an so etwas wie: "Im Kühlschrank befindest sich ... => was kann ich damit alles erstellen."

    Wo gibt es Verständnisprobleme?

    Ist das Prinzip der SQL-Anweisung (ich nutzte die having-Variante aus Beitrag #53) noch verständlich?


    Noch etwas Grundsätzliches zum Code: VBA-Code sollte auf jeden Fall lesbar sein. Da stimme ich Kama zu, dass das bei dem aktuellen Code etwa schwierig ist.
    Ein Tipp: füge aber nicht viele Kommentare ein, die erklären, wie der Code funktioniert, sondern schreibe den Code so, dass er selbsterklärend wird. Sobald das der Fall ist, ist der Code mit sehr hoher Wahrscheinlichkeit nämlich auch gut wartbar, da er aus mehreren kleineren "Bausteinen" bestehen wird.
    "Monster-Prozeduren" - die nur mittels Kommentaren zu verstehen sind - würde ich vermeiden und in mehrere überschaubare Prozeduren mit klarer Aufgabenstellung aufteilen (Stichwort: Refactoring).
    Der beste Code-Kommentar ist der Code selbst. *Smilie

    mfg
    Josef
     
    Josef P., 1. November 2010
    #70
  11. ja, genau das war auch mein Gedanke, aber mehr als 4 Zutaten UND wird unwahrscheinlich. I.d.R. hat so ein Smmothie nur recht wenige Zutaten (ca. 4-6, eine davon ist meist Wasser oder ein Saft) ... Also würde eine UND-Suche mit mehr als 4 Zuaten nur in wenigen Versuchen tatsächlich ein Ergebnis liefern. Deshalb ist das schon gut so mit 4 Zutaten-Kriterien *Smilie

    ja *Smilie

    Josef: Ich schaue mir deine Suche grade detailiert an ... Wow - ich bin echt platt *Smilie. Das ist klasse ...
    mmh *räusper* darf ich sagen, dass ich ein paar kleine "Mängel" und "Fehlerchen" gefunden habe???

    Zum Prüfen füge ich deine Version an - ich habe darin ein paar kleine "Schönheißkorrekturen" (MsgBox Texte, Buttonfarbe etc - also nichts im funktioniellen Teil) vorgenommen. Zudem hänge ich auch das Ergebnis von A1 als xls an. Da sind alle Rezepte drin - damit kann man dann gezielt die Suchergebnisse kontrollieren *Smilie[/b]

    hier mal meine Liste:
    a) Die Kombi-Suche ist toll. An sonwas hatte ich gar nicht gedacht ... Hier fällt mir auf: Wenn nur Volltextbegriff eingegeben wurde und Click auf den Kombi-Button (Zutaten+Volltext, der ist jetzt blau *wink.gif*) --> werden Ergebnisse angezeigt (nur Volltext) *wink.gif* ... sollte da nicht lieber ne MsgBox kommen "es wurden keine Zutaten ausgewählt"??

    Und es kombiniert nicht richtig;
    Zutaten: Apfel, Wasser, OG=UND ==> es gibt nur ein Rezept mit Apfel und Wasser
    Text: Suppe ==> es gibt nur ein Rezept mit 'Suppe' (jedoch ein anderes als das Rezept mit den Zutaten)
    ==> Suchergebnis: es wird das passende Rezept für 'Suppe' angezeigt
    ==> da es kein Rezept mit allen Kriterien (Zutaten und Suchbegriff) gibt, dürfte die Kombisuche eigentlich kein Ergebnis liefern (oder wenn schon Ergebnis dann beide Rezepte)

    Falls das nun jecoh zu kompliziert wird, dann können wir diese Kombisuche auch weglassen

    b) ne andere Kleinigkeit am Rande - wenn möglich *wink.gif*:
    txtheadline im Suchergebnisformular F4 .... kann man die nun so biegen, dass das die Suchebgriffe trotzdem anzeigt (so wie ichs in meiner gestrigen Endlösung hatte, gehts nich mehr) ...?

    c) noch ne Kleinigkeit am Rande:
    Sortierung Suchergebnisse: Wäre schöner, wenn's a) nach SName und pro Sname nach Zname sortiert wäre ...

    d) Versuch mit 4 bestimmten Zutaten:
    Avocado, Dulsen-Algen-Blätter, Gewürzgurke, Pok Choi
    All diese Zutaten kommen nur in einem einzigen Rezept vor: Somit wäre es egal, wie die Optionsgruppe eingestellt ist - es gibt 1 passendes Rezept
    ==> ODER liefert das richtige Rezept; UND gibt MSGBox "Keine Übereinstimmung" *eek.gif*
    Das ist komisch, weil mit anderer Zutatenauswahl funzt die UND-Suche richtig.


    ... soweit erstmal (muss mich jetzt erstmal ums Mittag kümmern *wink.gif* ....


    Dankeschön Josef.

    Freue mich auf deine Antworten (auch zu #68)

    Viele liebe Grüße
    ANja
     
    schnattielein, 1. November 2010
    #71
  12. Wenn du das willst, kannst du das in der Methode "ZeigeRezepte" einbauen.
    Ich würde aber eher auf die 2 anderen Buttons verzichten und nur einen einzigen Button zum Starten der Suche nutzen, die alle beide Varianten nutzt sobald Werte vorhanden sind.

    Das stimmt. Es gibt nur ein Rezept mit Apfel und Wasser, das angezeigt wird. Apfelsaft kann die DB nicht automatisch aus Apfel und Wasser machen. *biggrin.gif*

    Warum baust du die dann nicht ein?

    Ich hätte noch einen Vorschlag zum Sortieren, der bei der Oder-Suche interessant werden könnte: jene Rezepte mit den meisten Übereinstimmungen vorne.
    Das wird möglicherweise die Und-Suche gar nicht mehr benötigt. *wink.gif*

    Schau dir das Rezept einmal etwas geauer an. Dort kommen Zutaten mehrmals im Rezept vor. Aus diesem Grund stimmt der Vergleich im Having-Teil nicht.
    => Du müsstest zuvor doppelte Zutaten über die SQL-Anweisung ausschließen und erst dann zusammenzählen.

    Methode "ZutatenFilter":
    Code:
    mfg
    Josef
     
    Josef P., 1. November 2010
    #72
  13. Rezeptsuche VBA/SQL über Formular mit Eingabefeldern?

    Noch etwas ist mir aufgefallen:
    Code:
    Da es in der Tabelle "TV12_Rezept" Einträge ohne Einheitenkennung gibt, werden diese Einträge bei einem Inner join nicht angezeigt.
    => zur Sicherheit Left Join verwenden.

    mfg
    Josef
     
    Josef P., 1. November 2010
    #73
  14. edit: Letzte Anwort erst jetzt gelesen: Ja danke, habs auch geändert - neue VERSION liegt im Anhang

    ok, ich fass mal zusammen:

    Zu a) – Teil MsgBox
    ... im Case select? Aber ich weiß nicht wo genau ich was ändern müßte


    Zu a) – Teil "es kombiniert nicht richtig"

    ... naja, wie gesagt:
    Falls das aber kompliziert wird, dann lieber nur Zuatensuche ODER Volltextsuche ohne Kombisuche?

    Zu b) – txtheadline
    geht das irgendwie?? Sonst kann ich das auch auf "Subegriff x von y" kürzen ...

    Zu c) – sortieren
    Ehrliche Antwort? Weil ich nicht weiß, wo genau. Und das ORDER BY müßte ja nach der Where-Klausel kommen, die hast du ja aber "felxibel" gedtalltet ... Wie gesagt: Ich kann nicht wirklich peu a peu nachvollziehen, wie die Kriterien im Code "verarbeitet" werden

    wie gefragt
    ... da müßte ich antworten: fast überall im Klassenojekt zu F4 und F4 *redface *redface - ausser die SQL-Strings, die versteh ich, naja jedenfalls teilweise *grins
    SQL-Entwurfansicht versteh ich aber besser *wink.gif* ... da weiß ich wenigstens, wann welche Abfrage wie ausgeführt wird *wink.gif* *wink.gif*

    Zu d) Versuch mit 4 bestimmten Zutaten
    das ist erledigt *Smilie

    Jetzt denkst su sicher: "oh gott, warum hab ich mich auf diesen Tread eingelassen" *tongue.gif*

    trotzdem danke Josef *Smilie Und du hast ja schon die Erfahrung gemacht, dass meine Anliegen nicht ganz unkompliziert sind *grins ... Vielleicht erinnerst dich noch? Das Diagrammthema? Ja, dass war aber ne VB-freie DB von mir, wo ich fast alles ohne Hilfe geschafft habe - bis auf das Diagramm *Smilie. Und dafür bin ich dir heute noch sehr dankbar!!

    Lieber Gruß Anja
     
    schnattielein, 1. November 2010
    #74
  15. Wenn du beim Zutaten+Text-Filter keine fehlenden Werte auf einer Seite zulassen willst, wird der Code sogar kürzer. *Smilie
    Code:
    Ich dachte du meinst die Kombination der Zutaten. *Smilie

    Bei Zutaten in Kombination mit Text-Suche fehlt eine Klammer um die Textfilter, da diese mit OR verknüpft sind.
    =>
    Code:
    Die Suchtext der Textsuche könnte man schon noch herausarbeiten. Falls du aber auch noch die Zutaten benötigst, müsstest du diese zuerst in einen lesbaren Text umwandeln.

    Damit das alles etwas besser bedienbar wird, würde ich die Filterübergabe etwas umgestalten.
    z. B. eine extra Methode im Anzeigeformular, an die der Filtertext und eine passende Beschreibung übergeben wird.


    Code:
    mfg
    Josef
     
    Josef P., 1. November 2010
    #75
Thema:

Rezeptsuche VBA/SQL über Formular mit Eingabefeldern?

Die Seite wird geladen...
  1. Rezeptsuche VBA/SQL über Formular mit Eingabefeldern? - Similar Threads - Rezeptsuche VBA SQL

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  6. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  7. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  8. Rezeptsuche per Zutatenfilter

    in Microsoft Access Hilfe
    Rezeptsuche per Zutatenfilter: Guten Abend Leute, nach langem hin und her. Habe ich mich doch entschieden, dass ich euch um Hilfe bitten muss. Es handelt sich um ein Projekt. Dabei soll von Gruppen eine Datenbank erarbeitet...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden