Datenübertagung von Formularfeld in Writer
Moderator: Moderatoren
Datenübertagung von Formularfeld in Writer
Hallo zusammen nun muss ich doch mal ein eigenes Thema auf machen und zwar habe mich mir eine Datenbank zur Erstellung der Dokumentation über durchgeführte Prüfungen von Ausrüstung zur Absturzsicherung erstellt.
Mein Problem das ich nun habe ich kann aus einem Formular heraus ein Writer Dokument öffnen und dort möchte ich das der Aktuelle Datensatz dann dann angezeigt wird.
Mit F4 und Auswahl bekomme ich es hin nur ein Makro für die Übertragung der Daten will mir nicht gelingen da mir da die Ahnung dazu fehlt.
Und ich aus den hier gegebenen Erklärungen nicht schlau werde.
Wäre schön wenn mir jemand helfen könnte.
Meine Datenbank kann ich auch hoch laden wenn das Helfen würde.
Viele Grüße
Abstusi
Mein Problem das ich nun habe ich kann aus einem Formular heraus ein Writer Dokument öffnen und dort möchte ich das der Aktuelle Datensatz dann dann angezeigt wird.
Mit F4 und Auswahl bekomme ich es hin nur ein Makro für die Übertragung der Daten will mir nicht gelingen da mir da die Ahnung dazu fehlt.
Und ich aus den hier gegebenen Erklärungen nicht schlau werde.
Wäre schön wenn mir jemand helfen könnte.
Meine Datenbank kann ich auch hoch laden wenn das Helfen würde.
Viele Grüße
Abstusi
Re: Datenübertagung von Formularfeld in Writer
Anbei mein Makro
Sub Main
oDoc = thisComponent
oForm = oDoc.Drawpage.Forms(0)
oColumns = oForm.Columns
REM Pfad zur Vorlage zusammensetzen
Globalscope.BasicLibraries.loadLibrary("Tools")
sURL = oDoc.Parent.URL
sURL = DirectoryNameoutofPath(sURL,"/") & "/"
sURL = sURL & "Vorlage_Prüf-Kontrollkarte_Datenbank.odt"
REM Vorlage öffnen
Dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "AsTemplate"
args(0).Value = True
newDoc = StarDesktop.loadComponentFromURL(sURL,"_blank",0,args)
REM Textfelder holen
enumTextfields = newDoc.Textfields.createEnumeration
Do While enumTextfields.hasMoreElements
thisTextfield = enumTextfields.nextElement
If thisTextfield.supportsService("com.sun.star.text.TextField.JumpEdit") Then
sColumnname = thisTextfield.PlaceHolder
If oColumns.hasByName(sColumnname) Then
nIndex = oForm.findColumn(sColumnname)
thisTextfield.Anchor.String = oForm.getString(nIndex)
End If
End If
Loop
End Sub
Re: Datenübertagung von Formularfeld in Writer
Guten Morgen
hier nun meine Datenbank und das Writerdocukemt für die Kontrollkarte.
Mir ist da noch ein Problem aufgefallen einen Datensatz per Button zu kopieren, da wäre ich auch für Hilfe dankbar.
Hoffe ihr könnt mir helfen.
Gruß
Abstusi
hier nun meine Datenbank und das Writerdocukemt für die Kontrollkarte.
Mir ist da noch ein Problem aufgefallen einen Datensatz per Button zu kopieren, da wäre ich auch für Hilfe dankbar.
Hoffe ihr könnt mir helfen.
Gruß
Abstusi
- Dateianhänge
-
- Vorlage_Prüf-Kontrollkarte_Datenbank.odt
- (13.79 KiB) 77-mal heruntergeladen
-
- Prüfdatenbank_Abstusi.odb
- (21.1 KiB) 79-mal heruntergeladen
Re: Datenübertagung von Formularfeld in Writer
Danke dir für deine Hilfe werde nun meine Dokumente Anpassen und mich dann um das Kopieren kümmern sollte ich nicht weiter kommen melde ich mich dann noch mal.
Re: Datenübertagung von Formularfeld in Writer
Nun bekomme ich direkt ein neues Problem die Platzhalter wo ein Datum drin steht werden nicht so ausgegeben wie sie in der Tabelle stehen.
Ich glaub das ich noch ganz am Anfang bin mit dem uUmgang um Datenbanken zu erstellen.
Ich glaub das ich noch ganz am Anfang bin mit dem uUmgang um Datenbanken zu erstellen.
Re: Datenübertagung von Formularfeld in Writer
HalloHarald,
danke sehr für die Hilfe. Bin nun schon um einiges weiter wie du dir im Anhang ja auch ansehen kannst jetzt habe ich aber beim Kopierenbutton etwas komisches es funktioniert aber er erstellt drei falsche Felder. Finde nur keinen Fehler.
Hier mein Makro
danke sehr für die Hilfe. Bin nun schon um einiges weiter wie du dir im Anhang ja auch ansehen kannst jetzt habe ich aber beim Kopierenbutton etwas komisches es funktioniert aber er erstellt drei falsche Felder. Finde nur keinen Fehler.
Hier mein Makro
Und das mit den Berichten direkt in der Datenbank ist gut nur möchte ich nur genau den aktuellen Datensatz nutzen geht das dort auch?Sub Kopieren
oDoc = thisComponent
oForm = oDoc.Drawpage.Forms("Abstusi")
sProdukt = oForm.getString(2)
sTyp = oForm.getString(3)
sHersteller = oForm.getString(4)
sSeriennummer = oForm.getString(5)
sArtikelnummer = oForm.getString(6)
sNorm = oForm.getString(7)
dHerstellungsjahr = oForm.getDate(8)
sBetriebNutzer = oForm.getString(9)
sNameNutzer = oForm.getString(10)
dKaufdatum = oForm.getDate(11)
dDatumErstnutzung = oForm.getDate(12)
sErgaenzungsteile = oForm.getString(13)
sEinsatzbereich = oForm.getString(14)
SBemerkungen = oForm.getString(15)
dAblagereife = oForm.getDate(16)
d1Datum = oForm.getDate(17)
s1Bemerkung = oForm.getString(18)
sVerladen = oForm.getString(19)
dnaechstePruefung = oForm.getDate(20)
oForm.moveToInsertRow
oForm.updateString(2, sProdukt)
oForm.updateString(3, sTyp)
oForm.updateString(4, sHersteller)
oForm.updateString(5, sSeriennummer)
oForm.updateString(6, sArtikelnummer)
oForm.updateString(7, sNorm)
oForm.updateDate(8, dHerstellungsjahr)
oForm.updateString(9, sBetriebNutzer)
oForm.updateString(10, sNameNutzer)
oForm.updateDate(11, dKaufdatum)
oForm.updateDate(12, dDatumErstnutzung)
oForm.updateString(13, sErgaenzungsteile)
oForm.updateString(14, sEinsatzbereich)
oForm.updateString(15, SBemerkungen)
oForm.updateDate(16, dAblagereife)
oForm.updateDate(17, d1Datum)
oForm.updateString(18, s1Bemerkung)
oForm.updateString(19, sVerladen)
oForm.updateDate(20, dnaechstePruefung)
End Sub
- Dateianhänge
-
- Prüfdatenbank_Abstusi.odb
- (47.92 KiB) 64-mal heruntergeladen
-
- 2012-06-01_175209.jpg (23.74 KiB) 2304 mal betrachtet
Re: Datenübertagung von Formularfeld in Writer
Hallo Harald,
danke für die Erklärung da hätte man drauf kommen können habe es aber am Formular ausgeheckt und nicht mit der Quelle.
Danke Danke.
Gruß
Abstusi
danke für die Erklärung da hätte man drauf kommen können habe es aber am Formular ausgeheckt und nicht mit der Quelle.
Danke Danke.
Gruß
Abstusi
Re: Datenübertagung von Formularfeld in Writer
Hallo,
ich komme da nicht wirklich weiter habe nun einen Bericht erstellt der müsste aber auf zwei Seiten und das ist das erste was nicht klappen will das zweite ist dann der Aufruf im Formular das es nur der Aktuelle Datensatz ist.
ich komme da nicht wirklich weiter habe nun einen Bericht erstellt der müsste aber auf zwei Seiten und das ist das erste was nicht klappen will das zweite ist dann der Aufruf im Formular das es nur der Aktuelle Datensatz ist.
Re: Datenübertagung von Formularfeld in Writer
Hallo Abstusi,
Den aktuellen Datensatz könntest Du erreichen, indem Du den Bericht an eine Abfrage koppelst. Mit Deinem Aufrufbutton verbindest Du dann einen Updateaufruf an eine Tabelle, in der z.B. der Primärschlüsselwert des aktuellen Datensatzes gespeichert wird. Dann rufst Du den Bericht auf und es wird nur ein Datensatz tatsächlich ausgegeben.
Gruß
Robert
Ich habe den Thread jetzt nicht komplett gelesen, da mich die Verbindung von Base zum Writer wenig interessiert. Ich nutze eben diese Berichte, bei denen Du jetzt gelandet bist. Ein Bericht muss natürlich von der Größe her auch mehr Platz einnehmen können als eine Seite. Hast Du aber wirklich so viele Daten in einem Datensatz? Ist im Allgemeinen doch eher ungewöhnlich. So große Datensätze habe ich mit Berichten noch nicht verarbeitet.Abstusi hat geschrieben: ich komme da nicht wirklich weiter habe nun einen Bericht erstellt der müsste aber auf zwei Seiten und das ist das erste was nicht klappen will das zweite ist dann der Aufruf im Formular das es nur der Aktuelle Datensatz ist.
Den aktuellen Datensatz könntest Du erreichen, indem Du den Bericht an eine Abfrage koppelst. Mit Deinem Aufrufbutton verbindest Du dann einen Updateaufruf an eine Tabelle, in der z.B. der Primärschlüsselwert des aktuellen Datensatzes gespeichert wird. Dann rufst Du den Bericht auf und es wird nur ein Datensatz tatsächlich ausgegeben.
Gruß
Robert
Re: Datenübertagung von Formularfeld in Writer
Ja ich habe wirklich so viele Datensätze den eine Kontrollkarte hat eines was berücksichtigt werden muss.
Anbei ein Beispiel:
Anbei ein Beispiel:
- Dateianhänge
-
- Vorlage_Kontrollkarte_Datenbank.ott
- (14.35 KiB) 34-mal heruntergeladen
Re: Datenübertagung von Formularfeld in Writer
hallo Abstusi,
habe das gerade im Reportgenerator getestet. Ich kann einen Bricht locker über mehrere Seiten gehen lassen. Zum Spaß habe ich den Bereich "Details einfach einmal auf 40 cm gestellt um zu sehen, was denn passiert. Anschließend habe ich Felder an diese Position gelegt. Sie erschienen dann auf der 3. Seite ganz oben.
Ich habe mir die Prüfkarte entsprechend angesehen. Das müsste auf diese Art und Weise auch zu erhalten sein. Allerdings würde ich die Gruppierungsfunktion nutzen und die Rückseite dann über einen Seitenumbruch in den Detailbereich schieben.
Da Du ja sowieso nur einen Datensatz im Detailbereich abbildest dürfte die Gruppierung z.B. nach der ID kein Problem darstellen.
Gruß
Robert
habe das gerade im Reportgenerator getestet. Ich kann einen Bricht locker über mehrere Seiten gehen lassen. Zum Spaß habe ich den Bereich "Details einfach einmal auf 40 cm gestellt um zu sehen, was denn passiert. Anschließend habe ich Felder an diese Position gelegt. Sie erschienen dann auf der 3. Seite ganz oben.
Ich habe mir die Prüfkarte entsprechend angesehen. Das müsste auf diese Art und Weise auch zu erhalten sein. Allerdings würde ich die Gruppierungsfunktion nutzen und die Rückseite dann über einen Seitenumbruch in den Detailbereich schieben.
Da Du ja sowieso nur einen Datensatz im Detailbereich abbildest dürfte die Gruppierung z.B. nach der ID kein Problem darstellen.
Gruß
Robert
Re: Datenübertagung von Formularfeld in Writer
Ok danke dir für das ausprobieren dann muss ich nur noch hin bekommen das ich einen Datensatz dort ausgebe.
Wobei ich jetzt erst schlimmers reparieren muss mir ist Base abgestürzt und nun erscheint die Fehlermeldung!
Wobei ich jetzt erst schlimmers reparieren muss mir ist Base abgestürzt und nun erscheint die Fehlermeldung!
- Dateianhänge
-
- 2012-06-02_203324.jpg (25.17 KiB) 1557 mal betrachtet
Re: Datenübertagung von Formularfeld in Writer
Ich hänge einmal die Datenbank mit einem Bericht an, der über 2 Seiten geht, wobei der Detailbereich nach einem Seitenumbruch startet - wie ich es für die Tabellenansicht machen würde.
Gruß
Robert
Gruß
Robert
- Dateianhänge
-
- Prüfdatenbank_Abstusi.odb
- Bericht über 2 Seiten
- (90.22 KiB) 42-mal heruntergeladen
Re: Datenübertagung von Formularfeld in Writer
Hallo Abstusi,
Gruß
Robert
Warum ist in der Meldung von einer externen Datenquelle die Rede? Du hast hier doch eine interne Datenbank gepostet.Abstusi hat geschrieben: Wobei ich jetzt erst schlimmers reparieren muss mir ist Base abgestürzt und nun erscheint die Fehlermeldung!
Gruß
Robert
Re: Datenübertagung von Formularfeld in Writer
Wenn ich das wüsste hatte im Report Builder gearbeitet der Ist abgestürzt und nun dies.