Hallo!
Problem: Ich habe eine Tabelle in einem Recordset gespeichert, damit ich diese dann in einem Report einfügen und danach ausdrucken kann. Damit nicht über 400 Seiten ausgedruckt werden, kommt erstmal ein Formular bei dem man dann entweder "Alles ausdrucken" oder "Bestimmte Datensätze: Von _ Bis _" auswählen kann.
Wenn bestimmte Datensätze ausgewählt werden, habe ich die gewünschten Datensätze mit dem GetRows-Befehl ausgelesen und in ein Array gespeichert. Das ganze schaut dann so aus:
(Erklärung noch kurz: txtDataNoto is Textfeld für das "bis" und das txtDataNoFrom "von"
)
Mein Problem: EIgentlich klappt alles, bis auf die sache, dass in dem Array die Spalten auf einmal zeilen sind und andersrum. So dass dann die Tabelle falschrum ausgedruckt wird, bzw. nur noch Laufzeitfehler kommen.
Könntet ihr mir bitte sagen warum das so kommt und wie ich das ändern könnte?
Vielen Dank im Vorraus, ihr schafft das
-----------------
asphyxia:
ich war mal so frei, den code
etwas zu formatieren und
einzurücken, damit man das
besser lesen kann.
Problem: Ich habe eine Tabelle in einem Recordset gespeichert, damit ich diese dann in einem Report einfügen und danach ausdrucken kann. Damit nicht über 400 Seiten ausgedruckt werden, kommt erstmal ein Formular bei dem man dann entweder "Alles ausdrucken" oder "Bestimmte Datensätze: Von _ Bis _" auswählen kann.
Wenn bestimmte Datensätze ausgewählt werden, habe ich die gewünschten Datensätze mit dem GetRows-Befehl ausgelesen und in ein Array gespeichert. Das ganze schaut dann so aus:
(Erklärung noch kurz: txtDataNoto is Textfeld für das "bis" und das txtDataNoFrom "von"

Code:
Private Sub rsChangeLogFilter(rsChangeLog As ADODB.Recordset, arrChangeLog As Variant)
Dim lRows As Long
' Anzahl an Zeilen ermitteln, die ausgelesen werden sollen
lRows = CInt(txtDataNoTo.Text) - CInt(txtDatanoFrom.Text) + 1
' Jetzt gehe ich zur ersten zeile der tabelle und geh so lange hoch bis ich zur Zeile angekommen bin, ab der ich rauslesen will (textfeld "von")
If rsChangeLog.RecordCount <> 0 Then
rsChangeLog.MoveFirst
Do While rsChangeLog.EOF <> True
If rsChangeLog("Nr1") = CInt(txtDataNoFrom.Text) Then
Exit Do
End If
rsChangeLog.MoveNext
Loop
End If
' Jetzt lese ich die Daten aus und kopiere sie in das Array
arrChangeLog = rsChangeLog.GetRows(lRows, adBookmarkCurrent)
rsChangeLog.Close
End Sub
Mein Problem: EIgentlich klappt alles, bis auf die sache, dass in dem Array die Spalten auf einmal zeilen sind und andersrum. So dass dann die Tabelle falschrum ausgedruckt wird, bzw. nur noch Laufzeitfehler kommen.
Könntet ihr mir bitte sagen warum das so kommt und wie ich das ändern könnte?
Vielen Dank im Vorraus, ihr schafft das

-----------------
asphyxia:
ich war mal so frei, den code
etwas zu formatieren und
einzurücken, damit man das
besser lesen kann.
