nun möchte ich in einem Report (lst) mehrere unabhängige Tabellen darstellen
das mit den Berichtscontainer bekomme ich in Access erst garnicht angezeigt (Denke das das evtl. über die OCX anbindung nicht möglich ist)
Wie kann ich das ganze am besten lösen?
Berichtscontainer? Wenn ja wie kann ich dort einzelne Recordsets erstellen
oder so wie es in der Anleitung mit der OCX steht - aber verstehe ich es überhaupt nicht wie ich 2 Recordsets in einem Bericht bekomme
Die Datenherkunft in Access sind immer eingebundene Tabellen - mal kommen die aus einer Access DB oder aus einem MSSQL Server
tmetternich
(combit Support - Thomas Metternich)
2
Das OCX unterstützt den Berichtscontainer nicht direkt. In deinem Fall solltest du die Druckschleife selbst programmieren. So bald du über LlDbAddTable mehrere Tabellen angemeldet hast, steht dir der Berichtscontainer zur Verfügung. In der Online-Dokumentation ist das hier beschrieben.
Für Visual Basic gibt es hierfür ein ausführliches Beispiel. Es befindet sich im Unterverzeichnis „Beispiele\Visual Basic\Printing Sub Reports, Multiple (Cross-)Tables and Charts“ der List & Label Installation.
Vielen Dank für die INFO
habe mir das Access beispiel mit MULTITAB.MDB rausgesucht - welches wohl das schon so macht wie ich es benötige
aber
Ich benötige ja fast nie die Komplette tabelle oder die Kompletten Daten der Tabelle - kann ich auch über diese weise einen “sql String” als Datenquelle/Tabelle übergeben - dazu finde ich leider nicht wirklich was
um nur bestimmte Tabellen oder Daten zu verwenden, muss in der Private Sub FillSchemaInfo() Funktion die Zeile "DataTable(i).sSQL= "SELECT * FROM [" & RS("TABLE_NAME") & "]" angepasst werden.
Zum Beispiel reicht es aus “SELECT TOP 3 From *…” zu verwenden, um nur die ersten Datensätze anzuzeigen oder du ergänzt die Abfrage mit einer WHERE-Bedingung.
Alternativ hast du auch die Möglichkeit Berichtsparameter zu verwenden, um die Daten zu filtern (siehe Berichtsparameter und deren Verwendung). Wichtig ist, dass du zuerst den Berichtsparameter im Designer erstellst und erst danach die Vorschau druckst.
Falls du jedoch einen eigenen SQL-String verwenden möchtest, müsstest du in der Funktion InitADOConnection() die Zeile m_sConnStr= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDBPath &";;" anpassen.