Hallo Beate,
so richtig komm ich noch nicht klar, da ich auf die
unterschiedlichsten tabellen und Abfragen zurückgreife:
stammt der Code von dir, oder von jemanden anderen?
Mein Formular, aus dem ich in die berichte springen will, hat
als Datenquelle die Abfr_Übersicht.
Da es bei der Datenbank um
Etikettendruck geht (einige Materialnummern sollen mehrfach
gedruckt werden), werden die Daten beim Drücken des Button
bericht in eine neue Tabelle TmpDruck geschrieben.
ok, das ist auch ne Möglichkeit
Auf diese Tabelle greifen die Berichte zurück. Ich schreib einfach
mal meinen langen Quelltext dazu.
Wäre nett, wenn du mal drüber schauen könntest, wo der Fehler liegt:
ähm weiß nicht wo ich anfangen soll, eigentlich ist es kein Fehler, eher viel zu umständlich, und dadurch unübersichtlich. Mit ein wenig SQL kann man das alles viel einfacher gestalten:
Sub btnWSDrucken_Click()
Dim X
Dim Dummy_ID
Dim SQL as String
Dim db As Database
Dim rs_abfr As Recordset
Dim rs_druck As Recordset
Set db = CurrentDb()
Set rs_abfr = db.OpenRecordset(„Abfr_Übersicht“, dbOpenDynaset)
Set rs_druck = db.OpenRecordset(„TMPdruck“, dbOpenDynaset)
Me.Requery
'--------------------------------------------------
’ Beginn Übertragung an TMPdruck
'--------------------------------------------------
'erst mal die TMPdruck Tabelle leeren
SQL = „DELETE * FROM TMPdruck;“
DoCmd.RunSQL SQL
'keine Ahnung wofür du das brauchst, aber hier die
'Anfügeabfrage für die Bedingung DRUCK = True und NEU = True
SQL = „INSERT INTO TMPdruck ( DRUCK, NEU ) SELECT * FROM Abfr_Übersicht WHERE (((Abfr_Übersicht.DRUCK)=True) AND ((Abfr_Übersicht.NEU)=True));“
DoCmd.RunSQL SQL
'kommen wir nun zum ELSE:
'Deinen Zähler ließt du aus der Variablen [AnzBeh]
With rs_abfr
.MoveLast
.MoveFirst
Do while not .EOF
if !DRUCK and not !NEU then
Dummy_ID = !Zuordnung_ID
SQL = "INSERT INTO TMPdruck ( DRUCK, NEU ) SELECT * FROM
Abfr_Übersicht WHERE ((TMPdruck.Zuordnung_ID = " & Dummy_ID & „));“
For I = 1 To !AnzBeh
DoCmd.RunSQL SQL
Next I
endif
.MoveNext
Loop
.Close
end with
'--------------------------------------------------
’ Ende der Übertragung an TMPdruck
'--------------------------------------------------
'--------------------------------------------------
’ Beginn Ausruck
'--------------------------------------------------
With rs_druck
.MoveLast
.MoveFirst
Do While Not .EOF
If !Druck = True Then DoCmd.OpenReport !Brichtart
.MoveNext
Loop
End With
'--------------------------------------------------
’ Ende Ausruck
'--------------------------------------------------
Exit_btnWSDrucken_Click:
Exit Sub
Err_btnWSDrucken_Click:
MsgBox Err.Description
Resume Exit_btnWSDrucken_Click
End Sub
'--------------------------------------------------
’ Ende Code
’ unter Vorbehalt und ohne Gewähr, da nicht getestet
'--------------------------------------------------
Grüße aus Essen
Wolfgang