PDA

Vollständige Version anzeigen : Bericht mit visual basic


Gast
07.05.2004, 09:44
Hallo,
ich möchte einen Bericht erstellen dessen daten durch ein vb-code selektiert werden. das ich grundsätzlich auf eine abfrage oder tabelle zugreifen muss, habe ich schon gelesen. nur wie kann ich gegebenenfalls mein vb code in die abfrage oder in den bericht einbauen?
Besten dank + gruss Felix

J_Eilers
07.05.2004, 10:02
Hi Felix,

kannst du das Problem etwas genauer beschreiben, was du machen möchtest?
Wenn dein Bericht auf einer Abfrage aufbaut, kann man diese zur Laufzeit mit dem QueryDefs-Objekt bearbeiten. Ansonsten kann man auch einen SQL-String als RecordSource an den Bericht übergeben.

stpimi
07.05.2004, 10:05
So ganz habe ich das jetzt nicht verstanden.

Willst Du den Bericht aus dem VBA-Code öffnen? Dann brauchst Du ein DoCmd.OpenRecord mit den entsprechenden Parametern.

Anderenfalls kannst Du die Tabelle/Abfrage in den Berichtseigenschaften als Datenherkunft angeben bzw. im VBA-Code über die Eigenschaft RecordSource beeinflussen.

Mfg, MIchael

Gast
07.05.2004, 10:19
Hallo,
ich versuchs besser zu erklären!
ich habe ein db mit nur einer tabelle
in dieser tabelle möchte ich einen wert aus einer spalte auswählen und alle davon abhängigen zeilen bekommen (über ein zweites feld kann ich die abhängigkeit feststellen) von diesen abhängigen möchte ich wieder alle abhänigen usw. das habe ich mit einem formular und einer vba routine schon hinbekommen (!!!das ist gar nicht das eigentliche problem!!! nur zur erklärung). in diesem formular wähle ich in einem kombifeld den wert aus und in einer listbox erscheinen dann alle davon abhängigen (sozusagen der abhängige baum).

jetzt möchte ich dieses gerne in einem bericht hinbekommen!

also am anfang einen wert eingeben und alle abhängigen zeilen der tabelle im bericht aufgelistet bekommen. nur leider habe ich von berichten 0 ahnung. meiner erster gedanke war halt den schon funktionierenden vba code einfach dort wiederzuverwenden...

würde mich über tipps und anregungen freuen!

gruss+dank
Felix

J_Eilers
07.05.2004, 10:23
Verwende die Abfrage des Listenfeldes als Datenherkunft für den Bericht. Leider gibt es in einem Bericht keine Möglichkeit eine Auswahl zu treffen, da hier nur Werte angezeigt und nicht bearbeitet werden können. Somit kannst du einen gefilterten Bericht öffnen.

Gast
07.05.2004, 10:28
erstmal danke!
aber die vba funktion benötigt doch einen eingabewert, ohne gehts nicht, kann ich den nicht irgendwie manuel immer eingeben (ist bei abfragen doch möglich?)
dank + gruss
felix

J_Eilers
07.05.2004, 10:31
Du könntest dir einen Button in den Bericht setzen und dort einen Inputbox öffnen, die ihren Wert an die Abfrage übergibt. Dann noch ein Requery auf den Bericht und es sollte gehen. Aber ob es funktioniert, ka.

Gast
07.05.2004, 11:10
so komm ich da nicht weiter!
ich bin jetzt aber auf die idee gekommen in die abfrage die vba routine als funktion einzubauen, nur leider weiss ich nicht wie ich die abfrage in vb anspreche bzw. wie ich die selektierten datensätze in der abfrage darstellen kann, könnt ihr mir da helfen?

J_Eilers
07.05.2004, 11:29
Das Ergebnis einer Abfrage wird beim Aufrufen oder einer Zuweisung angezeigt. Ein Bericht zeigt immer nur das temporäre Ergebnis an! Dort kannst du mit einem Requery arbeiten, welches das Ergebnis auffrischt. ZB nach Aktualisierung des Kombi's im Formular.

Gast
07.05.2004, 11:57
sorry aber ich versteh nur noch bahnhof,
ich will doch nur in der abfrage das ergebnis der vba routine darstellen, formular, bericht und sonst was sind doch erst mal total egal! ich will NUR wissen wie das geht!!!!!!

dank + gruss
felix

J_Eilers
07.05.2004, 12:06
FAQ 3.15 (www.donkarl.com)?

Ansonsten, wenn du einen SQL-String hast, kannst du diesen mittels Debug.Print ins Direktfenster schreiben lassen und ihn dann in eine leere Abfrage kopieren.