Hallo
Ich habe gerade folgendes Problem:
Ich will ein Formular erstellen um Bestellungen auszufüllen welche dann auf Klick als PDF abgespeichert werden.
Pro PDF darf nur eine Produktnummer vorkommen, es ist aber bis jetzt so dass öfters mehr eingegeben wird und wenn ich meinen Mitarbeitern dies in Zukunft untersage bin ich der Böse.
Deshalb war meine Idee im Formular zwar eine gewisse Anzahl an Textfeldern für die Eingabe bereit zu stellen, im Bericht nachher dann aber nur ein Textfeld davon anzeigen lassen und halt mehrere Berichte gleichzeitig erstellen.
Ich hab jetzt folgenden Code versucht:
Public Sub Save_Click()
Dim i As Integer
For i = 4 To 1 Step -1
If IsNull("Test" & i) Then
Else
strWhere = "[ID] = " & Me.[ID]
' Me.rptTest.Text0.ControlSource = "Test" & i
DoCmd.OpenReport "rptTest", acViewDesign
rptTest.RecordSource = tblTest
Text0.ControlSource = "Test" & i
DoCmd.Save
DoCmd.OpenReport "rptTest", acViewPreview, , strWhere
myPath = "C:\Users\Admin\Test\"
strReportName = Me.ID & ". Product " & Me.i & ".pdf"
DoCmd.OutputTo acOutputReport, "", acFormatPDF, myPath & strReportName, False
DoCmd.Close acReport, "rptTest"
End If
Next i
End Sub
Wenn ich nun den Save-Button klicke passiert allerdings überhaupt nichts.
Weiss einer voran das liegen könnte?
Oder kennt jemand ne elegantere/bessere Lösung für mein Problem?
Hallo,
Text0.ControlSource = "Test" & iDie ControlSource ist normal immer an ein Tabellen-/Abfragefeld
gebunden.
In deiner tblTest müsste es also Felder mit den Namen "Test" & i
geben. Wenn das so ist, solltest du ein Bild des Beziehungsfensters
hier hochladen, denn dann ist das Datenmodell überarbeitungsbedürftig.
Ansonsten kannst du evtl. den Wert per Variable übergeben.
Public Sub Save_Click()
Dim i As Integer
Dim sText as String
For i = 4 To 1 Step -1
If IsNull("Test" & i) Then
Else
strWhere = "[ID] = " & Me.[ID]
' Me.rptTest.Text0.ControlSource = "Test" & i
DoCmd.OpenReport "rptTest", acViewDesign
rptTest.RecordSource = tblTest
Text0.Value = sText
'Text0 muss dabei [i]ungebunden[/i] sein
ZitatPro PDF darf nur eine Produktnummer vorkommen, es ist aber bis jetzt so dass öfters mehr eingegeben wird
Wenn sich das nicht schon durch ein korrektes DM unterbinden lässt,
sollte man es zumindest per Code tun.
gruss ekkehard
Hi sry hat ein bisschen gedauert, musste zuerst noch was anders fertig machen.
Also die Sache ist die, ich hab hier jetzt nur eine Tabelle mit 5 Feldern, also ID und Text1-4, ein Formular um Datensätze damit zu erzeugen und einen Bericht der aber nur die ID und 1 Textfeld enthält, das ganze jetzt nur um rauszufinden ob mein Plan überhaupt funktioniert, danach würde ich das ganze in die richtige Datenbank übertragen.
Ich hatte aber jetzt noch ne Idee dass es besser wäre wenn für jedes ausgefüllte Textfeld ein eigener Datensatz angelegt wird und die Texte halt alle in die gleiche Spalte eingefügt warden. Wäre das möglich?
Hallo,
ZitatIch hatte aber jetzt noch ne Idee dass es besser wäre wenn für jedes ausgefüllte Textfeld ein eigener Datensatz angelegt wird und die Texte halt alle in die gleiche Spalte eingefügt warden. Wäre das möglich?
das ist nicht nur möglich, das solltest Du unbedingt so machen.
Diese Tabelle benötigt dann aber einen Fremdschlüssel zur eigentlichen Datentabelle.