Office: Such-Formular mit Ausgabe als Bericht

Helfe beim Thema Such-Formular mit Ausgabe als Bericht in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich verzweifele gerade an der Erstellung eines Such-Formulars. Ich finde viel über die SuFu, aber leider nicht genau das, was ich suche... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von MadMo, 12. Mai 2011.

  1. MadMo Erfahrener User

    Such-Formular mit Ausgabe als Bericht


    Hallo,

    ich verzweifele gerade an der Erstellung eines Such-Formulars. Ich finde viel über die SuFu, aber leider nicht genau das, was ich suche

    Ich beschreib mein Problem mal ganz detailiert:

    Eine Tabelle mit 2 Spalten –Eine mit dem Namen, die Andere ein Memofeld mit Text.
    Ich möchte ein Formular erstellen, wo man in einer Textbox das Wort eingeben kann, nach dem Spalte 2 durchsucht werden soll (mit Sternchen und Leerzeichen).
    Die Ausgabe soll ein tabellarischer Bericht sein, in dem alle Namen und die jeweils dazugehörigen Texte aus Spalte 2 aufgelistet sind.
    Kann mir jemand bitte Hilfestellung geben, wie ich das machen soll (über eine Abfrage?) und einen entsprechenden Code programmieren?
    Bin leider noch ziemlich unbeholfen mit Access.. Such-Formular mit Ausgabe als Bericht :oops:

    Vielen Dank im Voraus!

    Gruß
    Mad
     
    MadMo, 12. Mai 2011
    #1
  2. miriki Erfahrener User
    Ich hab mir das mal angeguckt... Neue Datenbank, Tabelle erstellt:
    Code:
    tbl_Eintrag:
    EintragID   Auto/Zufall (primary)
    EintragName   Text (50)
    EintragBemerkung   Memo
    Darauf eine Abfrage, jedes Feld einzeln aufgeführt, nach "EintragName" aufsteigend sortiert.

    Dann hab ich mal 8 Beispiel-Datensätze eingetippert. Bei 4en kommt das Wort "test", bei den anderen 4 das Wort "versuch", innerhalb des Memo-Felds vor - Am Anfang, am Ende, in der Mitte und als zusammengesetztes Wort (z.B. "testweise").

    Die Query gibt mir die 8 Datensätze aus, also hab ich dann eine Kopie der Query erstellt und bei "Kriterien" im Feld "EintragBemerkung" mal eingegeben:
    Code:
    wie "*test*"
    Siehe da, es werden nur noch die 4 passenden Datensätze der Query ausgegeben. Und im SQL-Code der Query steht:
    Code:
    SELECT tbl_Eintrag.EintragId, tbl_Eintrag.EintragName, tbl_Eintrag.EintragBemerkung
    FROM tbl_Eintrag
    WHERE (((tbl_Eintrag.EintragBemerkung) Like "*test*"))
    ORDER BY tbl_Eintrag.EintragName;
    Das sieht Access-üblich etwas unübersichtlich aus und läßt sich noch prima zusammenstauchen:
    Code:
    SELECT
      EintragId, EintragName, EintragBemerkung
    FROM
      tbl_Eintrag
    WHERE
      EintragBemerkung LIKE "*test*"
    ORDER BY
      EintragName
    ;
    Deine Suchmaske muß also z.B. auf Button-Klick nichts weiter machen, als obigen SQL-Code zusammenzubauen und als Datenquelle für den Bericht einzusetzen. Oder noch einfacher:

    Wenn Du nur die Zeile
    Code:
      EintragBemerkung LIKE "*test*"
    per Parameter an den Bericht übergibst, filtert der Bericht das ganz von alleine für Dich.

    Wenn Du per Wizard einen Button erstellst, mit dem ein Bericht in der Seitenvorschau geöffnet werden soll, dann erzeugt das ca. folgenden Code:
    Code:
    Private Sub btn_Berichtsvorschau_Eintrag_Click()
    On Error GoTo Err_btn_Berichtsvorschau_Eintrag_Click
    
        Dim stDocName As String
    
        stDocName = "rpt_Eintrag"
        DoCmd.OpenReport stDocName, acPreview
    
    Exit_btn_Berichtsvorschau_Eintrag_Click:
        Exit Sub
    
    Err_btn_Berichtsvorschau_Eintrag_Click:
        MsgBox Err.Description
        Resume Exit_btn_Berichtsvorschau_Eintrag_Click
        
    End Sub
    Und die "OpenReport"-Zeile ist der springende Punkt. Dort kann man auch noch den Filter unterbringen:
    Code:
        DoCmd.OpenReport stDocName, acPreview, , stWhereCondition
    Noch schnell die Deklaration oben dazupacken:
    Code:
        Dim stWhereCondition As String
    Und sich dann Gedanken machen, wie man das Ding sinnvollerweise gefült bekommt. Das grobe Gerüst steht:
    Code:
        stWhereCondition = "EintragBemerkung LIKE ""*[suchtext]*"""
    Jetzt muß nur noch "[suchtext]" mit dem tatsächlich gesuchten Text ersetzt werden. Und das holen wir uns aus dem Feld "edt_Filter_Eintrag", was ein Textfeld auf dem Formular mit dem Button ist.
    Code:
        stWhereCondition = Replace(stWhereCondition, "[suchtext]", Trim$(Me!edt_Filter_Eintrag.Value & " "), 1, -1, vbTextCompare)
    Und das ganze sieht dann so aus:
    Code:
    Private Sub btn_Berichtsvorschau_Eintrag_Click()
    On Error GoTo Err_btn_Berichtsvorschau_Eintrag_Click
    
        Dim stDocName As String
        Dim stWhereCondition As String
    
        stDocName = "rpt_Eintrag"
        stWhereCondition = "EintragBemerkung LIKE ""*[suchtext]*"""
        stWhereCondition = Replace(stWhereCondition, "[suchtext]", Trim$(Me!edt_Filter_Eintrag.Value & " "), 1, -1, vbTextCompare)
        DoCmd.OpenReport stDocName, acPreview, , stWhereCondition
    
    Exit_btn_Berichtsvorschau_Eintrag_Click:
        Exit Sub
    
    Err_btn_Berichtsvorschau_Eintrag_Click:
        MsgBox Err.Description
        Resume Exit_btn_Berichtsvorschau_Eintrag_Click
        
    End Sub
    Gruß, Michael
     
    miriki, 16. Mai 2011
    #2
  3. MadMo Erfahrener User
    Hallo Miriki,

    Vielen, vielen Dank für deine Antwort -Das ist ja mal echt der Hammer!!! Such-Formular mit Ausgabe als Bericht :oops:
    Nicht nur, dass du das Ding schon komplett fertig gemacht hast und als Download zur Verfügung stellst -Du gibst hier gleich noch mal ne Lehrstunde...
    Ich hab es mir schon einige Male durchgelesen, aber werd es noch ein paar mal machen, bis ich wirklich alles verstanden habe.
    So macht das natürlich richtig spaß hier :mrgreen: :mrgreen: :mrgreen:

    Beste Grüße
    Mad
     
    MadMo, 17. Mai 2011
    #3
  4. miriki Erfahrener User

    Such-Formular mit Ausgabe als Bericht

    Das ist bei Fragen zu Access fast unvermeidlich. Während man für Excel Fragen nach Formeln oft noch "aus'm Kopp" beantworten kann, führt es bei Access fast unweigerlich zum Nachbauen des Problems, um die Lösung zu finden.

    Code:
     -Du gibst hier gleich noch mal ne Lehrstunde...
    Das ist mir meist eigentlich wichtiger, als nur die Antwort selbst zu geben. Es geht so in Richtung "Hilfe zur Selbsthilfe". Ich find's schon wichtig, daß man auch versteht, warum und wie man das macht, um in einer ähnlichen Situation nicht wieder "vor der Wand" zu stehen.

    Freut mich auf alle Fälle, wenn ich helfen konnte und Du weiter kommst.

    Gruß, Michael
     
    miriki, 17. Mai 2011
    #4
Thema:

Such-Formular mit Ausgabe als Bericht

Die Seite wird geladen...
  1. Such-Formular mit Ausgabe als Bericht - Similar Threads - Formular Ausgabe Bericht

  2. Suchfeld in Formular

    in Microsoft Access Hilfe
    Suchfeld in Formular: Hallo zusammen Ich bin eine Datenbank am erstellen, wo ich Mitarbeiter und Kurse erfassen kann und schlussendlich den Mitarbeitern die besuchten Kurse zuteilen. Nun habe ich ein Formular...
  3. Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?

    in Microsoft Excel Hilfe
    Formularsteuerelement Textfeld: Selbe Formatierung wie verlinkte Zelle?: Hallo, ich bin ja gerade dabei ein Bestellformular mit Excel zu realisieren. Das ganze sieht soweit auch schon sehr gut aus und funktioniert weitgehendst. Die Textfelder sind nun alle verlinkt...
  4. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  5. Aktuelles Datum und Uhrzeit in Formular

    in Microsoft Word Hilfe
    Aktuelles Datum und Uhrzeit in Formular: Hallo, zunächst ein herzlichen Dank für die Aufnahme in diesem Forum und hoffe, dass mir jemand bei meinem Problem behilflich sein kann. Ich bin aktuell dabei ein Formular zu erstellen. Das...
  6. Access Neuer Datensatz im Formular

    in Microsoft Access Hilfe
    Access Neuer Datensatz im Formular: Hallo - ich bin neu hier und Anfängerin im VBA Programmieren. Ich habe eine Frage zu VBA: In meinem Formular kann ich Daten eingeben, wenn ich das Formular wieder öffne, wird der letzte...
  7. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  8. erstellte Formulare versenden

    in Microsoft Outlook Hilfe
    erstellte Formulare versenden: Hallo zusammen, als Rookie direkt mal eine Outlookfrage (MS 365) i.S. Formulare: Onkel Google hat mir ja erklärt, wie man Formulare erstellt, das funzt jetzt auch soweit *:)* Ich speichere die...
  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