Supportnet / Forum / Datenbanken
Access 2003 Ausgabe auf einen Bericht
Frage
Hallo,
Ich bin Anfänger in sachen Access udn habe die Aufgabe gestellt bekommen, dass ich Access 2.0 Datenbanken in Access 2003 Datenbanken konvertieren soll. Leider treten hierbei immerwieder Fehler in Programmen auf.
Folgendes ist mein momentanes Problem, ich hoffe ich kann es ausreichend beschreiben.
Ich gebe in einem Formular einen Wert in ein textfeld ein. Danach möchte ich genau diesen Wert in einem Bericht ausgeben. Der Wert wird dann folgendermaßen dem Feld im Bericht zugewiesen.
Reports(Aktueller_Bericht)![F_Wert] = eingegebener_Wert
Leider wird aber kein Wert im entgültigen Bericht angezeigt obwohl, die Variable eingegebener_Wert den richtigen Wert beinhaltet (Dies hab ich mit einer Message Box überprüft)
Auch wenn ich
Reports(Aktueller_Bericht)![F_Wert] = eingegebener_Wert
MsgBox(Reports(Aktueller_Bericht)![F_Wert] )
schreib, wird in der Message Box das richtige angezeit, jedoch im Bericht nicht.
Was kann ich hier machen??
danke mfg acdc
Antwort 1 von acdc
Hat jemand eine Idee??
Danke
Danke
Antwort 2 von RalfH
Hallo,
Speicherst du diesen Wert vorher in einer dem Formular zugrunde liegenden Tabelle ab ?
Wenn ja, dann versuchs mal mit:
Reports(Aktueller_Bericht)![F_Wert] = DeineTabelle!eingegebener_Wert.value
Ohne Tabelle :
Reports(Aktueller_Bericht)![F_Wert] = eingegebener_Wert.value
Gruß Ralf
Feedback nicht vergessen
Speicherst du diesen Wert vorher in einer dem Formular zugrunde liegenden Tabelle ab ?
Wenn ja, dann versuchs mal mit:
Reports(Aktueller_Bericht)![F_Wert] = DeineTabelle!eingegebener_Wert.value
Ohne Tabelle :
Reports(Aktueller_Bericht)![F_Wert] = eingegebener_Wert.value
Gruß Ralf
Feedback nicht vergessen
Antwort 3 von acdc
Danke für den Versuch!
Der Wert wird nicht in eine Tabelle gespeichert sondern der Wert gelangt über eine globale Variable ins Modul.
Ich habe nun diese Zeilen nach dem oben genannten Beispiel angepasst doch dies Funktioniert auch nicht, da er hier ein Objekt verlangt.
Versuche jetzt schon seit stunden einen Weg zu finden, vielleicht sollte ich den Konvertierungsvorgang mit Access 2000 probieren!?
Bin dankbar für jeden Tipp!
Gruß
Der Wert wird nicht in eine Tabelle gespeichert sondern der Wert gelangt über eine globale Variable ins Modul.
Ich habe nun diese Zeilen nach dem oben genannten Beispiel angepasst doch dies Funktioniert auch nicht, da er hier ein Objekt verlangt.
Versuche jetzt schon seit stunden einen Weg zu finden, vielleicht sollte ich den Konvertierungsvorgang mit Access 2000 probieren!?
Bin dankbar für jeden Tipp!
Gruß
Antwort 4 von Teddy7
Wo und zu welchem Zeitpunkt wird der Wert denn dem Bericht zugewiesen ?
Erklärung: wenn Du im Formular nach Erfassung den Wert dem Bericht zuweise und dann den Bericht öffnest ist der Wert natürlich weg.
Du mußt im Formular den Wert einer globalen Variablen (im Mudul als public definiert) zuweisen und dann im Report -z.B. im Ereignis formatieren des gentsprechenden Bereichs - das ungebundene Reportfeld füllen.
Gruß
Teddy
Erklärung: wenn Du im Formular nach Erfassung den Wert dem Bericht zuweise und dann den Bericht öffnest ist der Wert natürlich weg.
Du mußt im Formular den Wert einer globalen Variablen (im Mudul als public definiert) zuweisen und dann im Report -z.B. im Ereignis formatieren des gentsprechenden Bereichs - das ungebundene Reportfeld füllen.
Gruß
Teddy
Antwort 5 von acdc
@ Teddy7
Wenn ich deine Aussage richtig interpretiert habe, dann ist es bei mir genau der Fall, dass ich
1. in einem Formular den Wert erfasse und einer globalen Variable zuweise
2. Die Variable enthält nun diesen Wert (Habe ich mit einer MsgBox überprüft)
3. Dann wird dem ungebundenen Reportfeld (Ein Textfeld) der Wert zugewiesen [ bevor jedoch der Wert zugewiesen wird, gebe ich noch eine MsgBox aus in der ich dann den Wert anzeigen lasse um zu überprüfen ob die Variable auch den Wert besitzt ]
Aber wenn ich diese Zeile versuche:
Reports(Aktueller_Bericht)![F_Wert] = "text"
Wird mir auch nichts angezeigt.
Ich habe nichts am source code geändert und in Access 2.0 hat das Programm vollständig funktioniert. Weshalb also nicht mehr in Access 2003?
gruß acdc
Wenn ich deine Aussage richtig interpretiert habe, dann ist es bei mir genau der Fall, dass ich
1. in einem Formular den Wert erfasse und einer globalen Variable zuweise
2. Die Variable enthält nun diesen Wert (Habe ich mit einer MsgBox überprüft)
3. Dann wird dem ungebundenen Reportfeld (Ein Textfeld) der Wert zugewiesen [ bevor jedoch der Wert zugewiesen wird, gebe ich noch eine MsgBox aus in der ich dann den Wert anzeigen lasse um zu überprüfen ob die Variable auch den Wert besitzt ]
Aber wenn ich diese Zeile versuche:
Reports(Aktueller_Bericht)![F_Wert] = "text"
Wird mir auch nichts angezeigt.
Ich habe nichts am source code geändert und in Access 2.0 hat das Programm vollständig funktioniert. Weshalb also nicht mehr in Access 2003?
gruß acdc
Antwort 6 von Teddy7
Access 2.0 ist Steinzeit. Verschwende keine Gedanken daran warum das damals funktioniert hat.
Wenn die Zuweisung im Report geschieht, dann reicht
F_Wert = GlobaleVariable
((ich vermute mal, daß es sonst
reports!Berichtsname!F_Wert heißen müßte
Gruß
Teddy
Wenn die Zuweisung im Report geschieht, dann reicht
F_Wert = GlobaleVariable
((ich vermute mal, daß es sonst
reports!Berichtsname!F_Wert heißen müßte
Gruß
Teddy
Antwort 7 von acdc
Die Zeile Lautet nun
Reports!Berichtsname!F_Wert = "text"
funktioniert genau so wenig....
Kann vielleicht den Bericht irgenwie aktualisisern?
gruß
acdc
Reports!Berichtsname!F_Wert = "text"
funktioniert genau so wenig....
Kann vielleicht den Bericht irgenwie aktualisisern?
gruß
acdc
Antwort 8 von acdc
Ich wollte noch hinzufügen, dass, wenn ich den Bericht in der Entwurfansicht habe und auf "Layoutvorschau" klicke, dann werden auch keine Werte angezeigt (welche man ja sofot eingeben muss)
Antwort 9 von acdc
Muss noch hinzufügen, dass das Problem nur bei der ersten Seite des Berichts besteht - also liegt es sicher nicht am Programmcode oder?
gruß acdc
gruß acdc
Antwort 10 von Teddy7
1) Berichtsname muß natürlich durch den Namen Deines Berichts ersetzt werden !
Wie gesagt sollte aber auch F_Wert = ..... funktionieren !
2) wenn der Wert auf der ersten Seite fehlt und auf den folgenden Seiten vorhanden ist, dann kann es nur am Zeitpunkt der Wertzuweisung liegen.
Schau Dir nochmal das Ereignis an, in dem Du den Code hinterlegt hast. Findet das wirklich statt bevor der entsprechende Bereich ausgegeben wird ?
Wie gesagt sollte aber auch F_Wert = ..... funktionieren !
2) wenn der Wert auf der ersten Seite fehlt und auf den folgenden Seiten vorhanden ist, dann kann es nur am Zeitpunkt der Wertzuweisung liegen.
Schau Dir nochmal das Ereignis an, in dem Du den Code hinterlegt hast. Findet das wirklich statt bevor der entsprechende Bereich ausgegeben wird ?
Antwort 11 von acdc
Ich habe mir den Code noch mal durch den Kopf gehen lassen und auch versucht einige Zeilen umzustellen.
Meine Zeilen:
....
wert=Forms![Auswertungen_Berichte]![V_Wert]
DoCmd.OpenReport Aktueller_Bericht, acViewPreview
Reports!MeinBericht!F_Wert =wert
DoCmd.SelectObject A_REPORT, Aktueller_Bericht, False
DoCmd.Maximize
...
Ich denke die Reihenfolge stimmt!?
gruß
Meine Zeilen:
....
wert=Forms![Auswertungen_Berichte]![V_Wert]
DoCmd.OpenReport Aktueller_Bericht, acViewPreview
Reports!MeinBericht!F_Wert =wert
DoCmd.SelectObject A_REPORT, Aktueller_Bericht, False
DoCmd.Maximize
...
Ich denke die Reihenfolge stimmt!?
gruß
Antwort 12 von Teddy7
Die Wertzuweisung sollte IM BERICHT erfolgen.
Antwort 13 von acdc
Die Wertzuweisung erfolgt in einem Modul, da ich diese Funktion für mehrere Berichte benutze.
Doch der Code steht in obiger Reihenfolge.
Ich weis absolut nicht was sich hier machen lässt!
gruß acdc
Doch der Code steht in obiger Reihenfolge.
Ich weis absolut nicht was sich hier machen lässt!
gruß acdc

