online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon golo108 vom 17.01.2019, 19:41 Options

Access Bericht mit mehreren Abfragen

Hi,

ist es möglich in Access 2003, einen Bericht zu erstellen, der beim Öffnen nach der zugrundeliegenden Abfrage frägt ? Also dass beim Öffnen des Berichtes ein Dropdown aufgeht, indem ich die Abfrage oder Tabelle auswählen kann ?


Antwort schreiben

Antwort 1 von RalfH vom 18.01.2019, 08:17 Options

Hallo golo 108
Ja mit VBA ist das möglich.
Gruß Ralf

Antwort 2 von golo108 vom 18.01.2019, 09:44 Options

Hi Ralf,

schön so ! Gibt es vielleicht irgendwo ein Beispiel dafür für Leute wie mich, die mit VBA nichts ma Hut haben ?

Antwort 3 von Teddy7 vom 18.01.2019, 11:12 Options

Wenn´s nicht viele Abfragen sind mach verschiedene Berichte und ruf den passenden Bericht auf
Gruß
Teddy

Antwort 4 von RalfH vom 19.01.2019, 08:45 Options

Guten Morgen golo 108,

OK, ich beschreib Dir mal einen möglichen Lösungsweg.

1. Achte darauf das die Felder im Bericht auch von der jeweiligen Abfrage. bzw. Tabelle abgedeckt werden.

2. Erstell Dir ein Formular, dort erstellst Du dir eine Options-Gruppe. Hier als Beispiel 5 Optionen.

3. Einen Button erstellen " Bericht aufrufen"
RechtsKlick auf den Button - Eigenschaften-Bei Klick bitte folgendes Einkopieren:

Function Berichte_nach_Optionsgruppe()


    With CodeContextObject
        If (.Rahmen0 = 1) Then
            DoCmd.OpenReport "DEINBericht1", acViewPreview, "", "", acNormal
        End If
        If (.Rahmen0 = 2) Then
            DoCmd.OpenReport "DEINBericht2", acViewPreview, "", "", acNormal
        End If
        If (.Rahmen0 = 3) Then
            DoCmd.OpenReport "DEINBericht3", acViewPreview, "", "", acNormal
        End If
        If (.Rahmen0 = 4) Then
            DoCmd.OpenReport "DEINBericht4", acViewPreview, "", "", acNormal
        End If
        If (.Rahmen0 = 5) Then
            DoCmd.OpenReport "DEINBericht5", acViewPreview, "", "", acNormal
        End If
    End With

End Function


Gruß Ralf

Antwort 5 von erik vom 19.01.2019, 12:02 Options

Ich würde eher empfehlen, dem Bericht eine feste Abfrage zuzuweisen und vor dem Öffnen des Berichts die Abfrage inhaltlich neu zu schreiben. Es würde sogar reichen, darin ein "SELECT *" auf die aktuelle Abfrage durchzuführen. Damit fällt das mehrfache Pflegen von Berichten auch weg.

Das folgende Beispiel entscheidet anhand irgendwelcher Bedingungen, welche Abfrage heranzuziehen ist. Diese Abfrage wird wiederum in die Abfrage geschrieben, die direkt am Bericht hängen soll (hier: qryBerichtsAbfrage).

Public Sub AbfrageAendernDemo()
	Dim db As Database
	Dim qdf As QueryDef
	Dim strQuery As String

	If <Bedingung1> Then
		strQuery = "qryAbfrage1"
	ElseIf <Bedingung2> Then
		strQuery = "qryAbfrage2"
	ElseIf <Bedingung3> Then
		strQuery = "qryAbfrage3"
	Else
		strQuery = "qryAbfrage1"
	End If

	Set db = CurrentDb
	Set qdf = db.QueryDefs("qryBerichtsAbfrage")
	With qdf
		.SQL = "SELECT * FROM " & strQuery & ";"
		.Close
	End With
	Set qdf = Nothing
	Set db = Nothing
End Sub

Antwort 6 von RalfH vom 19.01.2019, 12:07 Options

@ erik,

Kompliment, eine sehr Komfortable Lösung.

Gruß Ralf

Antwort 7 von golo108 vom 19.01.2019, 17:18 Options

Hi,

vielen Dank für die Lösungen. Hören sich alle gut an und Erik deine Lösung, da werde ich mal das Wochenende brauchen, es zu verdauen....
Vielen Dank

Golo

Ähnliche Themen

Abfragen - Access
gast64  30.01.2007 - 154 Hits - 2 Antworten

Access 2 Abfragen wie zusammenführen?
Toni17  26.02.2007 - 201 Hits - 3 Antworten

Access - Bericht auf eine Seite drucken
Unerfahren  07.05.2007 - 159 Hits - 3 Antworten

Berichte mit access
Rolly  16.07.2007 - 135 Hits - 1 Antwort

Access: mehrere Abfragen in einen Bericht integrieren
Tumulus  05.04.2008 - 161 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026