Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Listenfeld mittels Kombifeld filtern

Begonnen von claudia2324, September 18, 2012, 17:01:04

⏪ vorheriges - nächstes ⏩

claudia2324

Dankeschön...  :)

Ich habe mir nochmal alles angeguckt und keinen Fehler gefunden soweit ?!  ???

Kann es auch daran liegen, dass ich die Kursgebühr dann nicht an den Bericht übergeben kann. Diese wird einfach in ein Textfeld im Access-Formular eingegeben und und bisher über die Eigenschaft des entsprechenden Textfelder im Bericht angezeigt:

=[Formulare]![Orga_Kurse]![Kursgebuehr]

Die Kursgebühr soll nun einfach als Text und nicht als Währung behandelt werden für andere Berechnungen...

Ich würde mich freuen wenn ihr mir nochmal helfen könnt.

LG

Claudia

DF6GL

Hallo,


die Fehlermeldung deutet darauf hin, dass es keine Abfrage gibt entspr. dem Inhalt von "stDocName"

claudia2324

#32
Aber die Abfrage gibt es doch schon. Sonst würde das Aufrufen der Access-Berichte ja nicht funktionieren über die Variante die bereits exsistiert. Oder muss ich extra für diese Funktion (Drucken des Berichts als pdf) nochmal eine Identische Abfrage mit anderem Namen erstellen?

Die exsistente Abfrage enthält neben den für die Berichte verwendeten Daten noch weitere Felder. Aber das stört nicht bei der bereits funtionierenden Funktion bei der der Bericht aufgerufen wird.

Was verstehe ich also nicht bzw. wo könnte der Fehler liegen neben dem von euch schon genannten?

Und das mit dem Anzeigen der Kursgebühr als Text, welches in der Eigenschaft des Berichtsfeldes geregelt wird (siehe meine vorherige Frage) wird auch beim Drucken direkt ins pdf funktionieren? Oder gibt es da noch etwasd zu bedenken?

Hmm, hoffe ihr könnt mir weiterhelfen.  :)


DF6GL

#33
Hallo,

nochmal: gibt es eine Abfrage, die entspr. dem akt. Inhalt (Haltepunkt setzen und nachsehen!)  der Variablen "stDocName"  heißt (z. B. "abf_Bericht_1") und die dem Bericht "Bericht_1" in seiner Datenherkunft zugewiesen ist?



Das gilt sinngemäß für alle Berichte, die mit dem Kombi "Me!KKursraum" bearbeitet werden.


Die Übernahme sollte funktionieren....Wenn nicht, gibt es andere Möglichkeiten (z. B. Formular-Textfeld-Verweis (oder besser gleich den Wert aus dem Textfeld) in die SQL der Abfrage einbauen und ein Berichtsfeld daran binden) .


claudia2324

#34
Ja, gibt es!!!

Problem ungelöst, was das drucken direkt ins pdf angeht...


claudia2324

ok, muss ich vorbereiten.

Hoffe ich schaffe das noch heute, sonst gehts bei mir spätestens nächste Woche weiter.

LG und vielen Dank  :)

claudia2324

Asche auf mein Haupt... Und es lag ja doch an den Abfrage  ::)

Es geht klappt nun also!  :)

1) Nur, dass leider immer alle Daten im Bericht also im pdf-Duck angezeigt werden und nicht die nach Raum gefilternten.[/b] Was klappt hier nicht, sodass die Filterung im Bericht nicht funktioniert?

Hab alles so auf gebaut wie von DF6GL aufgezeigt, wie folgt:

Private Sub Kursliste_Click()
Dim stDocName As String, strSQL as String
strSQL=" Select * from tblTabellexYZ        Where [Raumnr]='" & Me!KKursraum & "'"     'stellvertretend für Deine "Kurs_Abfrage"
stDocName = "abf_Bericht_" & Me!KKursraum
Currentdb.Querydefs(stDocName).SQL =  strSQL
DoCmd.OutputTo acOutputReport, "Bericht_" &  Me!KKursraum , acFormatPDF, "c:\Bericht_" &  Me!KKursraum & ".pdf"
End Sub


2) Nun soll es so sein, dass die pdf-Berichte immer am Speicherort der Datei abgelegt werden sollen. Ich hab hierfür mal folgendes versucht:

DoCmd.OutputTo acOutputReport, "Bericht_" & Me!KKursraum, acFormatPDF, CurrentProject.Path & Me!KKursraum & ".pdf" ---> Effekt: die Datei wird so benannt wie der Order in dem die DB liegt und eine "Dateiablageebene" darüber abgelegt. Auch ungefiltert, siehe Problem unter 1) beschrieben.

Wie kann ich die Datei auf der Ebene der DB ablegen und mit folgender Dateibenennung "Raumnr_Kursnr_Datum"?

Freue mich über hilfreiche Tipps.  :)

LG

Claudia


DF6GL

Hallo,

1)

"strSQL=" Select * from tblTabellexYZ        Where [Raumnr]='" & Me!KKursraum & "'"     'stellvertretend für Deine "Kurs_Abfrage"


Das Rote mußt Du durch den eigentlichen SQL-String Deiner Abfrage ersetzen!




2)


Also das solltest Du selber jetzt hinbekommen ( den String für den Dateinamen zusammenzusetzen)  ....  :o


ZitatWie kann ich die Datei auf der Ebene der DB ablegen und mit folgender Dateibenennung "Raumnr_Kursnr_Datum"?"


Wirklich so?  Oder eher doch so:  C:\MeineDb\1_1_25.09.2012.pdf

Woher kommt   (Wo steht) KursNr?
Ist  Datum das "heutige" (akt.) Datum?

DoCmd.OutputTo acOutputReport, "Bericht_" & Me!KKursraum, acFormatPDF, CurrentProject.Path & "\" & Me!KKursraum & "_" & Me!KursNr &  Format(Date, "\_dd.mm.yyyy") & ".pdf"

claudia2324

Hallo DF6GL,

vielen Dank für die hilfreichen Tipps.

Zu deinem letzten Beitrag (September 25, 2012, 19:00:05)...

...1) Sorry, ich hatte natürlich bereits an der Stelle Select * from tblTabellexYZ den SQL-Code entsprechend angepasst. War ein "copy-paste-Fehle" von mir bei der Beitragserstellung hier :-\

...2) Ablage des PDFs und Benennung klappt  :)

Beschreibung aktuelles Problem:

Ich habe das Problem mit der Filterung der Datensätze bei der Generierung des PDFs leider noch nicht gelöst. Es werden immer alle Datensätze ohne Filterung nach der Raumnummer im PDF gedruckt. Allerdings ist es so, wenn ich mir zunächst die Berichte in Access anzeigen lasse mittels der Prozedur "Private Sub Kursliste_Click"() und dann die Fuktion zur "Private Sub pdf_Kursliste_Click()" bei geöffnetem Bericht in Access anwende, dann funktioniert die Filterung und das PDF wird korrekt generiert.

Was klappt da nicht? Ich hoffe ihr habt einen passenden Tipp für mich.

Viele Grüße

Claudia

claudia2324

Hallo liebe Access-Profis,

leider konnte ich mein Problem, siehe meinen vorherigen Betrag und hier nochmals gepostet noch nicht lösen.

Ich würde mich sehr freuen, wenn ihr mir nochmal helfen könnt...

Beschreibung aktuelles Problem:

Ich habe das Problem mit der Filterung der Datensätze bei der Generierung des PDFs leider noch nicht gelöst. Es werden immer alle Datensätze ohne Filterung nach der Raumnummer im PDF gedruckt. Allerdings ist es so, wenn ich mir zunächst die Berichte in Access anzeigen lasse mittels der Prozedur "Private Sub Kursliste_Click"() und dann die Fuktion zur "Private Sub pdf_Kursliste_Click()" bei geöffnetem Bericht in Access anwende, dann funktioniert die Filterung und das PDF wird korrekt generiert.

Wo könnte der Fehler sein?

LG

Claudia



DF6GL

Hallo,

verrat halt mal den Code der Prozedur     pdf_Kursliste_Click() ....


oder lad die DB hier hoch, wie vorher schon empfohlen...


Du kannst auch mal einen Haltepunkt in die Prozedur setzen und im Einzelschritt die Inhalte der Variablen und den Codeablauf überprüfen...

claudia2324

Sorry, hier der Code...

Private Sub pdf_Kursliste_Click()
Dim stDocName As String, strSQL As String

strSQL = "SELECT Tblxy.Var1, Tblxy.Var2, Tblxy.Var3, Tblxy.Var4, Tblxy.Var5, Tblxy.Var6 FROM Tblxy Where [Raumnr]='" & Me!Var1 & "'"

stDocName = "abf_Kursliste_" & Me!Var2 'Var2=Kursnummer

CurrentDb.QueryDefs(stDocName).SQL = strSQL

DoCmd.OutputTo acOutputReport, "Kursliste_" & Me!Var2, acFormatPDF, CurrentProject.Path & "\Kursliste-" & Me!Var2 & "_" & "Raum-" & Me!Var1 & Format(Date, "\_yyyy-mm-dd") & ".pdf"

End Sub


Würde mich über Tipps freuen.

DF6GL

Hallo,


???


entspricht


strSQL = "SELECT Tblxy.Var1, Tblxy.Var2, Tblxy.Var3, Tblxy.Var4, Tblxy.Var5, Tblxy.Var6 FROM Tblxy Where [Raumnr]='" & Me!Var1 & "'"

tatsächlich der realen Tabellensituation?



Ist in der Datenherkunft des Berichtes  (Kursliste_" & Me!Var2)
wirklich der Text aus der Variablen stDocName    (abf_Kursliste_" & Me!Var2 ) 
eingesetzt?


Lad das Ding doch mal hoch, sonst stochern wir immer weiter im Nebel herum .....

claudia2324

Ok, muss ich noch heute abend vorbereiten mit dem hochladen.
Ich hab die Variablen einfach anonymisiert...

Hatte den Code gemäß deinem Vorschlag aufgebaut und unten noch die Dateibenennung und Ablage verändert :

Private Sub Kursliste_Click()
Dim stDocName As String, strSQL as String
strSQL=" Select * from tblTabellexYZ        Where [Raumnr]='" & Me!KKursraum & "'"     'stellvertretend für Deine "Kurs_Abfrage"
stDocName = "abf_Bericht_" & Me!KKursraum
Currentdb.Querydefs(stDocName).SQL =  strSQL
DoCmd.OutputTo acOutputReport, "Bericht_" &  Me!KKursraum , acFormatPDF, "c:\Bericht_" &  Me!KKursraum & ".pdf"
End Sub


Ich sollte hierfür Abfragen 'abf_Bericht_' für jeden der Berichte für die Kurslisten generieren.