Access Ausdruck von Vorder- und Rückseite
Access Ausdruck von Vorder- und Rückseite
Hallo zusammen,
ich habe ein großes, großes Problem mit Access 2003, bei dem mir vielleicht jemand helfen kann.
Ich wollte mir Karteikarten mit Vokabeln und Fremdwörter erstellen. Dazu
habe ich jetzt tagelang Daten in Access 2003 eingegeben.
Wie bei jeder Lernkarteikarte gibt es eine Vorderseite:
http://www.frank-huber.homepage.t-onlin ... rseite.pdf
und eine Rückseite
http://www.frank-huber.homepage.t-onlin ... kseite.pdf
Ich habe auf jedem DIN A4 Blatt 4 Karteikarten.
(DAs hat Access nach langem Probieren so selbst erstellt. In der
Berichtansicht ist immer nur eine Karte sichtbar). Dann dachte ich mir, dass
auf der Vorderseite nur der Begriff steht, und auf der Rückseite die
Erklärung.
Wenn ich jetzt z.B. die Rückseite ausdrucke sieht das Blatt wie folgt aus:
Begriff 1 mit Erklärung Begriff 3 mit Erklärung
Begriff 2 mit Erklärung Begriff 4 mit Erklärung
Wenn ich jetzt die Vorderseite ausdrucke sieht das genau so aus
Begriff 1 mit Erklärung Begriff 3 mit Erklärung
Begriff 2 mit Erklärung Begriff 4 mit Erklärung
Da aber alles auf ein Blatt gedruckt werden soll, passt das nicht mehr.
da ich ja beim 2 Druckvorgang das Ballt rumdrehe.
Damit das ganze wieder passt bräuchte ich eine Möglichkeit beim 2 Ausdruck
Die Begriffe wie folgt auszudrucken
Begriff 3 mit Erklärung Begriff 1 mit Erklärung
Begriff 4 mit Erklärung Begriff 2 mit Erklärung
Also gerade immer den Rechten Quadranten mit dem Linken vertauschen.
Besteht die Möglichkeit das irgendwie über das Programm zu machen?
Ich Fand unter Datei Seiteneinrichten Spalten nur die Option
"Nach unten dann Quer" oder "Quer dann nach unten" was mir aber leider
nichts bringt.
ich habe mal meine Datenbank hier hingelegt.
http://www.frank-huber.homepage.t-onlin ... oerter.mdb
Die Datenbank ist 1,5MB groß.
Mittlerweile habe ich beim recherchieren im Netzt folgendes Beispiel gefunden.
Kann ich diese Lösung auch bei mir verwenden?
Hier die Quelle:
http://www.access-entwicklerbuch.de/ind ... ail&id=145
Mein Quellcode sieht wie folgt aus:
Eigenschaften\Ereignis\Beim Drucken\Ereignisprozedur
Option Compare Database
Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)
End Sub
Meine Tabelle heißt "Fremdwörter"
Mein Formular heißt auch "Fremdwörter"
Eine Abfrage habe ich noch nicht erstellt.
Mein Berichter heißen "Fremdwörter Rückseite" und "Fremdwörter Vorderseite"
Besteht jetzt vielleicht die Möglichkeit dass ich einfach
"Me.Deutsch.Left = 6000" in "Me.Fremdwörter Vorderseite = 6000" umbenenne?
Ich habe leider keine Ahnung was die Befehle bedeuten, aber ich würde halt alles Versuchen. Ich wäre jedem mehr als nur Dankbar, wenn er/sie mir vielleicht weiterhelfen könnte.
vielen Dank
gutschein
ich habe ein großes, großes Problem mit Access 2003, bei dem mir vielleicht jemand helfen kann.
Ich wollte mir Karteikarten mit Vokabeln und Fremdwörter erstellen. Dazu
habe ich jetzt tagelang Daten in Access 2003 eingegeben.
Wie bei jeder Lernkarteikarte gibt es eine Vorderseite:
http://www.frank-huber.homepage.t-onlin ... rseite.pdf
und eine Rückseite
http://www.frank-huber.homepage.t-onlin ... kseite.pdf
Ich habe auf jedem DIN A4 Blatt 4 Karteikarten.
(DAs hat Access nach langem Probieren so selbst erstellt. In der
Berichtansicht ist immer nur eine Karte sichtbar). Dann dachte ich mir, dass
auf der Vorderseite nur der Begriff steht, und auf der Rückseite die
Erklärung.
Wenn ich jetzt z.B. die Rückseite ausdrucke sieht das Blatt wie folgt aus:
Begriff 1 mit Erklärung Begriff 3 mit Erklärung
Begriff 2 mit Erklärung Begriff 4 mit Erklärung
Wenn ich jetzt die Vorderseite ausdrucke sieht das genau so aus
Begriff 1 mit Erklärung Begriff 3 mit Erklärung
Begriff 2 mit Erklärung Begriff 4 mit Erklärung
Da aber alles auf ein Blatt gedruckt werden soll, passt das nicht mehr.
da ich ja beim 2 Druckvorgang das Ballt rumdrehe.
Damit das ganze wieder passt bräuchte ich eine Möglichkeit beim 2 Ausdruck
Die Begriffe wie folgt auszudrucken
Begriff 3 mit Erklärung Begriff 1 mit Erklärung
Begriff 4 mit Erklärung Begriff 2 mit Erklärung
Also gerade immer den Rechten Quadranten mit dem Linken vertauschen.
Besteht die Möglichkeit das irgendwie über das Programm zu machen?
Ich Fand unter Datei Seiteneinrichten Spalten nur die Option
"Nach unten dann Quer" oder "Quer dann nach unten" was mir aber leider
nichts bringt.
ich habe mal meine Datenbank hier hingelegt.
http://www.frank-huber.homepage.t-onlin ... oerter.mdb
Die Datenbank ist 1,5MB groß.
Mittlerweile habe ich beim recherchieren im Netzt folgendes Beispiel gefunden.
Kann ich diese Lösung auch bei mir verwenden?
Hier die Quelle:
http://www.access-entwicklerbuch.de/ind ... ail&id=145
Mein Quellcode sieht wie folgt aus:
Eigenschaften\Ereignis\Beim Drucken\Ereignisprozedur
Option Compare Database
Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)
End Sub
Meine Tabelle heißt "Fremdwörter"
Mein Formular heißt auch "Fremdwörter"
Eine Abfrage habe ich noch nicht erstellt.
Mein Berichter heißen "Fremdwörter Rückseite" und "Fremdwörter Vorderseite"
Besteht jetzt vielleicht die Möglichkeit dass ich einfach
"Me.Deutsch.Left = 6000" in "Me.Fremdwörter Vorderseite = 6000" umbenenne?
Ich habe leider keine Ahnung was die Befehle bedeuten, aber ich würde halt alles Versuchen. Ich wäre jedem mehr als nur Dankbar, wenn er/sie mir vielleicht weiterhelfen könnte.
vielen Dank
gutschein
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
- fredy
- Hat-viel-Zeit Poster
- Beiträge: 89
- Registriert: Mi Aug 17, 2005 22:51
- Wohnort: Riehen, Schweiz
- Kontaktdaten:
Hallo Gutschein
Nur so mal auf die Schnelle, ohne programmiertechnischen Hintergrund:
Wenn Du nur 3 Karten auf einer Seite darstellen würdest, und diese auf einem A4-Blatt hoch angeordnet wären, könntest Du das Blatt beim 2.Ausdruck einfach umkehren und die Druckreihenfolge stimmt immer.
Gruss Fredy
Nur so mal auf die Schnelle, ohne programmiertechnischen Hintergrund:
Wenn Du nur 3 Karten auf einer Seite darstellen würdest, und diese auf einem A4-Blatt hoch angeordnet wären, könntest Du das Blatt beim 2.Ausdruck einfach umkehren und die Druckreihenfolge stimmt immer.
Gruss Fredy
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Gutschein
Ich habe leider kein Access zur Hand, versuche aber trotzdem mal eine Antwort, wenngleich Fredys Lösungsvorschlag der bestechend Einfachste ist...
Das Beispiel vom Entwicklerbuch kann sinngemäss verwenden werden. Hier ein paar Hinweise dazu:
Die Zahl 8448 steht für die horizontale Position in sogenannten Twips. Ein Zentimeter entspricht 547 Twips, daher 8448 ungefähr der Blattmitte bei 14.9 cm. Du musst sie noch um den linken Seitenrand verkleinern.
Ich hoffe, ich konnte das einigermassen verständlich erklären. Und natürlich auch, dass mir oben kein Tüppfäller passiert ist...
Gruss Roger
Ich habe leider kein Access zur Hand, versuche aber trotzdem mal eine Antwort, wenngleich Fredys Lösungsvorschlag der bestechend Einfachste ist...
Das Beispiel vom Entwicklerbuch kann sinngemäss verwenden werden. Hier ein paar Hinweise dazu:
- Das Wort "Me" ersetzt den Namen des aktuellen Berichts.
- Die Wörter "Deutsch" und "Englisch" stehen für Feldnamen im Bericht, also nicht für den Namen der Tabelle oder des Berichts selbst.
- Korrekterweise sollte übrigens vor Feldnamen ein "!" und nicht ein "." stehen, also"Me!Deutsch.Left" und "Me!Englisch.Left".
- Im Beispiel werden die deutschen und englischen Wörter über den gleichen Bericht ausgedruckt.
- Das Beispiel funktioniert nur, wenn ein Bereich die gesamte Breite des Berichts hat, d.h. dort werden 4 Wörter nebeneinander gedruckt.
- Damit diese nicht übereinander geschrieben werden, müssen sie je nach Zähler "i" entsprechend platziert werden.
- Im Bericht für die Vorderseite die Reihenfolge auf links oben, rechts oben, links unten, rechts ändern.
- Im Bericht für die Rückseite den Bereich auf die ganze Seitenbreite (abzüglich Rand) ändern und die Spaltenanzahl auf 1 setzen. Die Felder aber in der linken Hälfte stehen lassen. Ausserdem die für deinen Fall stark vereinfachte Prozedur einbauen:
Code: Alles auswählen
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Dim pos as Integer
Dim ctl as Control
If Me.Controls(0).Left > 8448 Then
pos = (-8448)
Me.MoveLayout = True
Else
pos = 8448
Me.MoveLayout = False
End If
For Each ctl in Me.Controls
ctl.Left = ctl.Left + pos
Next
End Sub
Ich hoffe, ich konnte das einigermassen verständlich erklären. Und natürlich auch, dass mir oben kein Tüppfäller passiert ist...
Gruss Roger
Hallo zusammen,
vielen Dank für Euere Infos.
Der Tipp von Fredy ist wirklich genial.
Das Problem welches ich dadurch jedoch habe, ist der Papierverschnitt.
Wenn ich statt 4 nur 3 Karteikarten pro Blatt ausdrucke, brauch ich ca. 30 DIN A4 Blätter mehr.
@Roger,
Wäre es für dich einen sehr großen Aufwand, meine 2 Berichte (Vorder und Rückseite mit den Programmzeilen zu ergänzen, so dass ich doch 4 Karteikarten pro Blatt ausdrucken kann?
Bis wann kämst du wieder an ein Access 2003?
Vielen, vielen, vielen herzlichen Dank euch allen.
und noch ein schönes Wochenende
Frank
PS
Das Forum ist echt klasse. Zwar tut sich bei DiashowXP seitens AS nicht mehr so viel, aber was hier an Kapazitäten und Hilfsbereiten Menschen mitliest und mithilft ist echt supper toll.
Nochmals vielen vielen DANK
vielen Dank für Euere Infos.
Der Tipp von Fredy ist wirklich genial.
Das Problem welches ich dadurch jedoch habe, ist der Papierverschnitt.
Wenn ich statt 4 nur 3 Karteikarten pro Blatt ausdrucke, brauch ich ca. 30 DIN A4 Blätter mehr.
@Roger,
Wäre es für dich einen sehr großen Aufwand, meine 2 Berichte (Vorder und Rückseite mit den Programmzeilen zu ergänzen, so dass ich doch 4 Karteikarten pro Blatt ausdrucken kann?
Bis wann kämst du wieder an ein Access 2003?
Vielen, vielen, vielen herzlichen Dank euch allen.
und noch ein schönes Wochenende
Frank
PS
Das Forum ist echt klasse. Zwar tut sich bei DiashowXP seitens AS nicht mehr so viel, aber was hier an Kapazitäten und Hilfsbereiten Menschen mitliest und mithilft ist echt supper toll.
Nochmals vielen vielen DANK
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Gutschein
Ein Access 2003 steht mir leider überhaupt nicht zur Verfügung. Eine Access 2000-Version bloss im Geschäft...
Die Änderungen sind aber wirklich einfach durchzuführen: Die Einstellungen in den Berichten selbst (Spaltenanzahl und Berichtsbreite) dürftest du selbst hinkriegen.
Zum Code: Im Bericht für die Rückseite klickst du einfach doppelt auf den mit "Detailbereich" beschrifteten Balken, wechsle auf den Reiter "Ereignis", wähle unter "Beim Formatieren" "[Ereignisprozedur]" aus und drücke danach auf den "..."-Knopf dahinter. Im Fenster, das nun erscheint, kopierst du obigen Code ein (Achtung! Die erste und letzte Zeilen sind bereits automatisch vorhanden). Evt. nun noch die Zahl 8448 überall durch eine kleinere Zahl ersetzen. Fertig!
Sicherheitshalber würde ich einfach vorher deine MDB kopieren, damit du notfalls darauf zurückgreifen kannst.
Nochmals einen herzlichen Gruss zurück
Ein Access 2003 steht mir leider überhaupt nicht zur Verfügung. Eine Access 2000-Version bloss im Geschäft...
Die Änderungen sind aber wirklich einfach durchzuführen: Die Einstellungen in den Berichten selbst (Spaltenanzahl und Berichtsbreite) dürftest du selbst hinkriegen.
Zum Code: Im Bericht für die Rückseite klickst du einfach doppelt auf den mit "Detailbereich" beschrifteten Balken, wechsle auf den Reiter "Ereignis", wähle unter "Beim Formatieren" "[Ereignisprozedur]" aus und drücke danach auf den "..."-Knopf dahinter. Im Fenster, das nun erscheint, kopierst du obigen Code ein (Achtung! Die erste und letzte Zeilen sind bereits automatisch vorhanden). Evt. nun noch die Zahl 8448 überall durch eine kleinere Zahl ersetzen. Fertig!
Sicherheitshalber würde ich einfach vorher deine MDB kopieren, damit du notfalls darauf zurückgreifen kannst.
Nochmals einen herzlichen Gruss zurück
Hallole,
Hallo "RoadRunner"
Wenn ich den Bericht jetzt anklicke werden nach wie vor 4 Karteireiter angezeigt.
Bei mir steht da unter Seite einrichten
Karteireiter Ränder:
Oben: 10
Unten:10
Links: 5,01
Rechts:5,01
Karteireiter Seite:
Quervormat
Größe A4
Quelle Automatisch wählen
Standarddrucker
Karteireiter Spalten
Spaltenzahl: 2
Zeilenabstand: 0cm
Spaltenabstand: 0,635cm
Spaltengröße: Breit 13,998cm Höhe: 9,298cm
Wie deteilbereich (ist nicht angekreuzt)
SpalenLayout: Nach unten und dann Quer
Ist das richtig so?
Ich habe hier mal die Entwurfansichten meiner Berichte aufgeführt
Rückseite Entwurfansicht
http://www.frank-huber.homepage.t-onlin ... ntwurf.jpg
Vorderseite Entwurfsansicht
http://www.frank-huber.homepage.t-onlin ... ntwurf.jpg
Jedoch kann ich nun den Bericht nicht mehr starten.
Statt dessen passiert folgendes.
ich habe das so nach deiner tollen Anweisung gemacht. (Alle Achtung so aus dem Kopf heraus). Leider kommt jetzt wenn ich auf den Bericht klicke folgende Fehlermeldung:
Klicke ich auf Debuggen erscheint dort in gelber Schrift folgendes.
Vielen Dank
Frank
Hallo "RoadRunner"
Ok, dass habe ich gemacht und verstanden.Im Bericht für die Vorderseite die Reihenfolge auf links oben, rechts oben, links unten, rechts ändern.
Wenn ich den Bericht jetzt anklicke werden nach wie vor 4 Karteireiter angezeigt.
Das verstehe ich jetzt nicht ganz.[*]Im Bericht für die Rückseite den Bereich auf die ganze Seitenbreite (abzüglich Rand) ändern
Bei mir steht da unter Seite einrichten
Karteireiter Ränder:
Oben: 10
Unten:10
Links: 5,01
Rechts:5,01
Karteireiter Seite:
Quervormat
Größe A4
Quelle Automatisch wählen
Standarddrucker
Karteireiter Spalten
Spaltenzahl: 2
Zeilenabstand: 0cm
Spaltenabstand: 0,635cm
Spaltengröße: Breit 13,998cm Höhe: 9,298cm
Wie deteilbereich (ist nicht angekreuzt)
SpalenLayout: Nach unten und dann Quer
Jetzt habe ich dann aber nur noch 2 Karteikarten statt 4.und die Spaltenanzahl auf 1 setzen.
Ist das richtig so?
Das verstehe ich nicht. Wie soll ich das machen?Die Felder aber in der linken Hälfte stehen lassen.
Ich habe hier mal die Entwurfansichten meiner Berichte aufgeführt
Rückseite Entwurfansicht
http://www.frank-huber.homepage.t-onlin ... ntwurf.jpg
Vorderseite Entwurfsansicht
http://www.frank-huber.homepage.t-onlin ... ntwurf.jpg
Habe ich für den Bericht der Rückseite gemacht.Ausserdem die für deinen Fall stark vereinfachte Prozedur einbauen:
Jedoch kann ich nun den Bericht nicht mehr starten.
Statt dessen passiert folgendes.
ich habe das so nach deiner tollen Anweisung gemacht. (Alle Achtung so aus dem Kopf heraus). Leider kommt jetzt wenn ich auf den Bericht klicke folgende Fehlermeldung:
Ich kann dann nur auf Beenden oder Debuggen klicken.Laufzeitfehler '2100':
Das Steuerelement oder Unterformular ist zu groß für die gewünschte Position.
Klicke ich auf Debuggen erscheint dort in gelber Schrift folgendes.
Hast du da noch einen Tipp?Option Compare Database
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Dim pos As Integer
Dim ctl As Control
If Me.Controls(0).Left > 8448 Then
pos = (-8448)
Me.MoveLayout = True
Else
pos = 8448
Me.MoveLayout = False
End If
For Each ctl In Me.Controls
ctl.Left = ctl.Left + pos
Next
Vielen Dank
Frank
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Gutschein
Du bist schon sehr weit gekommen, gratuliere! Also, schauen wir mal, was noch fehlt:
Vorderseite ist ok.
Rückseite:
Gruss Roger
P.S. Übrigens wars nicht ganz aus dem Kopf. Es gibt ja schliesslich noch Bücher...
Du bist schon sehr weit gekommen, gratuliere! Also, schauen wir mal, was noch fehlt:
Vorderseite ist ok.
Rückseite:
- Es ist richtig, dass vom Entwurf her nur noch 2 Karten auf einer Seite erscheinen und zwar untereinander.
- Nun musst du noch im Entwurfsfenster die Breite des Detailbereichs von derzeit 14 auf 28.7cm vergrössern, d.h. den Rand nach rechts ziehen.
- Auf Grund der seitlichen Ränder solltest du die Zahl 8448 überall durch 7900 ersetzen (evt. muss sie nach einem Testausdruck noch etwas nachjustiert werden; grössere Zahl=Felder weiter nach rechts, kleinere Zahl=Felder weiter nach links, +/-547=1cm; wenn die gleiche Fehlermeldung erscheint, ist die Zahl zu gross).
Gruss Roger
P.S. Übrigens wars nicht ganz aus dem Kopf. Es gibt ja schliesslich noch Bücher...
Hallo Roger,
ich musste bist auf 3900 im Skript runtergehen, damit die Fehlermeldung im Debuger verschwand. Jedoch kommt beim starten des Berichts immer noch folgende Fehlermeldung.
Auch werden nur 2 Karteikarten immer ausgedruckt.
Vielen Dank
Frank
ich musste bist auf 3900 im Skript runtergehen, damit die Fehlermeldung im Debuger verschwand. Jedoch kommt beim starten des Berichts immer noch folgende Fehlermeldung.
Desweiteren werden die Karteikarten jetzt überlappend angezeigt.Die Bereichsbreite ist größer als die Seitenbreite, und in dem zusätzlichen Platz gibt es keine Elemente. Daher werden einige Seiten wahrscheinlich leer sein.
Die Berichtsbreite Ist z.B. größer als die Seitenbreite.
Auch werden nur 2 Karteikarten immer ausgedruckt.
Vielen Dank
Frank
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Frank
Phuu, da stimmt wohl etwas nicht mit den Seiten- bzw. Spaltenangaben. Oder es ist gar ein Fehler im Code!? Dass mit 3900 die Felder überlappen, ist eigentlich klar.
Sorry, ich wollte dich nicht übermässig beschäftigen... Wenn du die Access-Datei im 2000er-Format abspeichern kannst, kann ichs mal anschauen.
Gruss Roger
Phuu, da stimmt wohl etwas nicht mit den Seiten- bzw. Spaltenangaben. Oder es ist gar ein Fehler im Code!? Dass mit 3900 die Felder überlappen, ist eigentlich klar.
Sorry, ich wollte dich nicht übermässig beschäftigen... Wenn du die Access-Datei im 2000er-Format abspeichern kannst, kann ichs mal anschauen.
Gruss Roger
Hallole,
leider bekomme ich die Konvertierung nicht richtig hin.
Wenn ich in der Menüleiste unter
Extras\Datenbank-Dienstprogramme\Datenbank konvertieren anklicke
ist "in Access 2000 Fromat" nur grau (inaktiv).
wenn ich "in Access 97 Fromat" anwähle bekomme ich folgende Meldung
Oder muss ich noch was sepzezielle herunterladen?
Vielen Dank
Frank
leider bekomme ich die Konvertierung nicht richtig hin.
Wenn ich in der Menüleiste unter
Extras\Datenbank-Dienstprogramme\Datenbank konvertieren anklicke
ist "in Access 2000 Fromat" nur grau (inaktiv).
wenn ich "in Access 97 Fromat" anwähle bekomme ich folgende Meldung
Geht das dann nicht?Auf Ihrem Computer fehlt mindestens eine Objektbibliothek von Microsoft Access 97. Um mit Ihrer konvertierten Datenbank arbeiten zu können, müssen Sie diese Datenbank in Access 97 öffnen und fehlende Verweise w i e derherstellen.
Klicken Sie 'OK', um den Speichervorgang fortzusetzen und diese Datenbank im Access 97-Format mit fehlenden Verweisen zu speichern, oder klicken Sie 'Abbrechen', wenn Sie diese Datenbank nicht speichern möchten.
Oder muss ich noch was sepzezielle herunterladen?
Vielen Dank
Frank
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Roger,
ich habe es jetzt mal probiert in access97 umzwandeln.
hier der Link.
http://www.frank-huber.homepage.t-onlin ... cess97.mdb
Vielen Dank
Frank
ich habe es jetzt mal probiert in access97 umzwandeln.
hier der Link.
http://www.frank-huber.homepage.t-onlin ... cess97.mdb
Vielen Dank
Frank
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Frank
Besten Dank, hat tiptop geklappt. Ich habe nun auch eine Version, bei der es funktioniert!
Der Fehler waren gerade 4 Stück:
Die ersten beiden Punkte waren die Ursache für deine zitierte Fehlermeldung und die anderen für den übereinander gelagerten Text.
Nun sollte dem fleissigen Lernen also nichts mehr im Wege stehen
Gruss Roger
Besten Dank, hat tiptop geklappt. Ich habe nun auch eine Version, bei der es funktioniert!
Der Fehler waren gerade 4 Stück:
- Unter "Datei -> Seite einrichten" muss für die Rückseite der gleiche Seitenrand eingestellt werden, wie für die Vorderseite, also Links 5.75, Rechts 5mm (statt je 10mm)
- Der Detailbereich darf nur 28.6cm breit sein
- Der Codierblock hatte tatsächlich einen klitzekleinen Fehler ( und sorry; korrigierter Code unten, es sollte ">=" statt nur ">" heissen)
- Mit dem Wert 8300 siehts bei mir gleich aus wie die Vorderseite
Code: Alles auswählen
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Dim pos As Integer
Dim ctl As Control
If Me.Controls(0).Left >= 8300 Then
pos = (-8300)
Me.MoveLayout = True
Else
pos = 8300
Me.MoveLayout = False
End If
For Each ctl In Me.Controls
ctl.Left = ctl.Left + pos
Next
End Sub
Nun sollte dem fleissigen Lernen also nichts mehr im Wege stehen
Gruss Roger
Hallo Roger,
vielen Dank für deine Arbeit.
Wenn ich den Bericht für die Vorderseite öffne, stimmt alles.
Wenn ich den Bericht für die Rückseite öffne, wird die erste Seite mit den 4 Karteikarten angezeigt. Alles i.o.
http://www.frank-huber.homepage.t-online.de/bild1.jpg
Wenn ich dann aber auf die nächste Seite vorspringe, werden nur (wie bei allen folgenden Seiten) 3 Karteikarten pro Seite angezeigt.
http://www.frank-huber.homepage.t-online.de/bild2.jpg
Vielen Dank
frank
vielen Dank für deine Arbeit.
Wenn ich den Bericht für die Vorderseite öffne, stimmt alles.
Wenn ich den Bericht für die Rückseite öffne, wird die erste Seite mit den 4 Karteikarten angezeigt. Alles i.o.
http://www.frank-huber.homepage.t-online.de/bild1.jpg
Wenn ich dann aber auf die nächste Seite vorspringe, werden nur (wie bei allen folgenden Seiten) 3 Karteikarten pro Seite angezeigt.
http://www.frank-huber.homepage.t-online.de/bild2.jpg
Der Deteilbereich ist doch das in der Entwurfansicht. Da wo ich den Rand mit Hilfe des obigen Lineales auf ca 28,6cm ziehe, Bzw Karteireiter BerichtDer Detailbereich darf nur 28.6cm breit sein
Vielen Dank
frank
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Frank
In der Tat
Manchmal siehts so einfach aus und die Probleme liegen dann im Detail (schwitz!!!). Auch das Rückwärtsblättern bzw. Überspringen von Seiten brachte das Ganze aus dem Takt. Die im Testbeispiel hattens da einfacher, da sie jeweils nur ein Feld mit bekannter Position verschieben mussten.
Also, es benötigt noch einen Ausbau:
Beim Bericht die Eigenschaften anzeigen lassen, auf "Ereignis" wechseln und unter "Beim Öffnen" sowie "Bei Seite" je die "[Ereignisprozedur]" auswählen. Danach den bestehenden Code durch folgenden ersetzen:
Hoffe, dass es nun endlich klappt. Sonst brauchst du noch mehr Papier für alle Testausdrucke als du bei der 3er-Variante mehr verbraucht hättest... Ganz zu Schweigen von der verlorenen Zeit!
Wegen deiner Frage betr. Detailbereich: Ja genau, das meinte ich.
Gruss Roger
In der Tat
Manchmal siehts so einfach aus und die Probleme liegen dann im Detail (schwitz!!!). Auch das Rückwärtsblättern bzw. Überspringen von Seiten brachte das Ganze aus dem Takt. Die im Testbeispiel hattens da einfacher, da sie jeweils nur ein Feld mit bekannter Position verschieben mussten.
Also, es benötigt noch einen Ausbau:
Beim Bericht die Eigenschaften anzeigen lassen, auf "Ereignis" wechseln und unter "Beim Öffnen" sowie "Bei Seite" je die "[Ereignisprozedur]" auswählen. Danach den bestehenden Code durch folgenden ersetzen:
Code: Alles auswählen
Option Compare Database
Option Explicit
Dim pos(-1 To 1) As Integer
Dim i As Integer
Const diff = 8300 ' Breite eines Teils inkl. Abstand in Twips (1 cm = 547 Twips)
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Dim ctl As Control
If FormatCount > 1 Then i = 1
If pos(i) <> Me.Controls(0).Left Then
For Each ctl In Me.Controls
ctl.Left = ctl.Left + diff * i
Next
End If
Me.MoveLayout = (i = -1)
i = (-i)
End Sub
Private Sub Report_Open(Cancel As Integer)
pos(1) = Me.Controls(0).Left + diff
pos(-1) = Me.Controls(0).Left
i = 1
End Sub
Private Sub Report_Page()
i = 1
End Sub
Wegen deiner Frage betr. Detailbereich: Ja genau, das meinte ich.
Gruss Roger
- fredy
- Hat-viel-Zeit Poster
- Beiträge: 89
- Registriert: Mi Aug 17, 2005 22:51
- Wohnort: Riehen, Schweiz
- Kontaktdaten:
Hallo Gutschein
Gratuliere zu Deiner Ausdauer, das Problem lösen zu wollen. Habe leider in der Zwischenzeit den Faden bei allen Euren Änderungen verloren . Wäre es Dir deshalb möglich, das funktionierende File nochmals ins Forum zu stellen? Vielleicht kann ich es dann auch noch nachvollziehen. Kompliment auch an RoadRunner!
Gruss Fredy
Gratuliere zu Deiner Ausdauer, das Problem lösen zu wollen. Habe leider in der Zwischenzeit den Faden bei allen Euren Änderungen verloren . Wäre es Dir deshalb möglich, das funktionierende File nochmals ins Forum zu stellen? Vielleicht kann ich es dann auch noch nachvollziehen. Kompliment auch an RoadRunner!
Gruss Fredy
Hallo fredy,
Ich habe hier, für dich versucht, nochmal alles zusammen zufassen.
http://www.frank-huber.homepage.t-online.de/2hilfe.doc
Die Datei von Roger findest du hier
http://www.frank-huber.homepage.t-onlin ... oerter.mdb
Interessanter weise habe ich eben noch eine zweite Lösung für das Problem gefunden, mittels einer Suchabfrage:
Vielleicht ist das für dich und Roger auch interessant.
http://www.frank-huber.homepage.t-onlin ... oerter.mdb
Abfrage1 im Entwurf öffnen, und in freie Spalte (Feld) folgendes einfügen:
sort1: Wenn(Int([Nr]/2)-[Nr]/2=0;[Nr]-1;[Nr]+1)
Wichtig:
Datenherkunft auf Abfrage1 einstellen.
Dies Lösung hat allerdings das Problem, dass die Rückseite immer auf dem Kopf steht.
Ich hoffe ich konnte jetzt von dem einwenig zurückgeben, was mir Roger zukommen lassen hat.
Gute N8
Frank
Dieses Lob kann ich nur Roger 1000fach zurückgeben.Gratuliere zu Deiner Ausdauer, das Problem lösen zu wollen
Ich habe hier, für dich versucht, nochmal alles zusammen zufassen.
http://www.frank-huber.homepage.t-online.de/2hilfe.doc
Die Datei von Roger findest du hier
http://www.frank-huber.homepage.t-onlin ... oerter.mdb
Interessanter weise habe ich eben noch eine zweite Lösung für das Problem gefunden, mittels einer Suchabfrage:
Vielleicht ist das für dich und Roger auch interessant.
http://www.frank-huber.homepage.t-onlin ... oerter.mdb
Abfrage1 im Entwurf öffnen, und in freie Spalte (Feld) folgendes einfügen:
sort1: Wenn(Int([Nr]/2)-[Nr]/2=0;[Nr]-1;[Nr]+1)
Wichtig:
Datenherkunft auf Abfrage1 einstellen.
Dies Lösung hat allerdings das Problem, dass die Rückseite immer auf dem Kopf steht.
Ich hoffe ich konnte jetzt von dem einwenig zurückgeben, was mir Roger zukommen lassen hat.
Gute N8
Frank
Windows Vista Home Premium
Quad CPU Q6600 2.4 GHz
XP Five´ler
Quad CPU Q6600 2.4 GHz
XP Five´ler
-
- Super-Extrem-Poster
- Beiträge: 350
- Registriert: Mi Apr 09, 2003 12:03
- Wohnort: Schweiz
Hallo Frank
Super, dass es nun klappt!!!
An die Variante mit dem Sortieren habe ich anfangs auch gedacht, sie allerdings verworfen, da sie eine lückenlose Nummerierung voraussetzt.
Ohne es im Detail auszuprobieren (komme heute nicht dazu), gehe ich davon aus, dass auch die aufgeführte Formel aus dem Ruder läuft, so bald du einen Datensatz rauslöschst...
Was meinst du übrigens mit "dass die Rückseite auf dem Kopf steht"?
Gruss Roger
Super, dass es nun klappt!!!
An die Variante mit dem Sortieren habe ich anfangs auch gedacht, sie allerdings verworfen, da sie eine lückenlose Nummerierung voraussetzt.
Ohne es im Detail auszuprobieren (komme heute nicht dazu), gehe ich davon aus, dass auch die aufgeführte Formel aus dem Ruder läuft, so bald du einen Datensatz rauslöschst...
Was meinst du übrigens mit "dass die Rückseite auf dem Kopf steht"?
Gruss Roger