621 Aufrufe
Gefragt in Datenbanken von
Hallo,

ich habe in einem Formular eine [xurl=http://jamaipa.de|Jamaipa - Suche ohne Spam und Shops]Suche[/url] implementiert, mit der ich zur Laufzeit Daten filtern kann. Ich tippe also in ein Textfeld einen Suchbegriff ein, und nur Daten, welche diesen Begriff enthalten werden angezeigt.

Der Code dazu sieht folgendermaßen aus:

[code]Private Sub txt_Schnellsuche_Change()
    Dim strFilter As String
    Dim intStart As Integer
    intStart = Me!txt_Schnellsuche.SelStart

    If Len(Me!txt_Schnellsuche.Text) <> 0 Then
        strFilter = "PersNr LIKE '*" & Me!txt_Schnellsuche.Text & "*' Or Titel LIKE '*" & Me!txt_Schnellsuche.Text & "*' Or Vorname LIKE '*" & Me!txt_Schnellsuche.Text & "*' Or Nachname LIKE '*" & Me!txt_Schnellsuche.Text & "*'"
        Me.Filter = strFilter
        Me.FilterOn = True
        Me!txt_Schnellsuche.SelStart = intStart
    Else
        Me.Filter = ""
        Me.FilterOn = False
        Me!txt_Schnellsuche.SetFocus
    End If
End Sub
[/code]


Wenn ich das Formular ausdrucken lassen möchte druckt er genau die Datensätze aus, welche durch das Filterkriterium angezeigt werden.

Ich möchte allerdings einen Bericht erzeugen lassen, der auf dem Filterkriterium der Sucheingabe beruht.

Kann mir bitte jemand helfen, wie ich das machen kann?

Wenn ich einen Bericht erzeuge und drucke, werden alle Datensätze in den Bericht aufgenommen.
Es sollen aber nur die Datensätze in den Bericht genommen werden, welche ich zur Laufzeit als Suchbegriff eingegeben habe.
Daher ist es auch nicht möglich eine extra Abfrage für den Bericht zu erzeugen, da der Suchbegriff ja variabel ist ...

Vielen Dank für Eure Hilfe :)

6 Antworten

0 Punkte
Beantwortet von
Hallo,

aus einem Formular einen Bericht erstellen, geht, soweit ich informiert bin nicht. Das ginge nur in einem Bericht selbst bzw. aus der als Basis für den Bericht dienende Abfrage.
siehe auch ab Version 2007 bis 2016:

[url=https://support.office.com/de-de/article/Filtern-von-Daten-in-einem-Bericht-d4da9e93-6527-4ad7-9ae1-e0f2fe424eeb]https://support.office.com/de-de/article/Filtern-von-Daten-in-einem-Bericht-d4da9e93-6527-4ad7-9ae1-e0f2fe424eeb[/url]

Gruß
Paul1
0 Punkte
Beantwortet von
Hallo, vielen Dank für die Antwort.

die Abfrage für den Report ist eine Kopie der Abfrage für das Formular (nur mit anderem Namen) um so beides zu trennen.
Gibt es eine Möglichkeit die Eingabe in das Feld von txt_Schnellsuche als Kriterium an die Abfrage für den Report zu übergeben?
Und wenn ja wie?

(So ähnlich wie hier: http://www.donkarl.com/FAQ/FAQ5Berichte.htm#5.9 )

Oder gibt es eine andere Möglichkeit für die Lösung des Problems?

Viele Grüße
0 Punkte
Beantwortet von
Hallo Adalrich,

Alternativ würde ich vorschlagen eine Parameterabfrage zu erstellen, wobei in den Filterkriterien für jedes Feld folgendes einzugeben, ist immer jeweils eine Zeile darunter:

Wie "*" & [SUCHE] & "*"

erstelle aus dieser Abfrage einen Bericht, Du kannst dann wahlweise je nach feld einen Suchbegriff einsetzen, der Bericht ist dann eingeschränkt auf diesen Suchbegriff und kann so ausgedruckt werden

probiers einfach aus.

Den Lösungsvorschlag lt. Antwort 2 finde ich gut, nur fehlt mir für die Nachvollziehung leider die Zeit.

Gruß
Paul1
0 Punkte
Beantwortet von
Hallo Adalrich,

mit nachfolgendem Button (Befehlsschaltfläche) kommst Du direkt in die Berichtsvorschau (Seitenansicht) und mit dem Druckbefehl kann der angepasste Bericht anschließend ausgedruckt werden:

Private Sub Befehl6_Click()
DoCmd.OpenReport "Dein Bericht", acViewPreview, , Me.Filter
End Sub

Der Button ist direkt in die Entwurfsansicht des Formulars einzubetten.

Gruß
Paul1

[sub]Excel > Access > MS-Office  
MS Windows 10 Professional 64 Bit
MS Windows 7 Professional 64 Bit
ECDL-Syllabus Version 4.0
IT-Security
FIBU/KORE/PV/KA/AB[/sub]
0 Punkte
Beantwortet von
Hallo paul_1

vielen Dank, es funktioniert einwandfrei :-)

Viele Grüße
0 Punkte
Beantwortet von
Hallo Adalrich,

danke fürs Feedback, freut mich

Gruß
Paul1
...