Hallo zusammen,
Ich habe mal wieder ein oder auch zwei Probleme, meine Formulare habe ich dank Robert mittlerweile so weit am laufen.
Jetzt wollte ich zu dem noch einen Bericht erstellen, da dies bei mir etwas komplizierter zu sein scheint musste ich den Bericht mittels einer Abfrage erstellen.
Der Bericht klappt auch wenn auch sehr langsam, solange ich Ihn von Hand öffne. (die Abfrage kann eigentlich nicht der Grund für die bescheidene Geschwindigkeit sein, die wertet im Editor recht schnell aus)
Öffne ich genau diesen Bericht über ein Makro aus einem Formular will er noch einen Wert haben (diesen würde ich übrigens gene aus dem Formula auslesen, anstatt ihn von Hand eingeben zu müssen) stürzt Base komplett ab.
Ich mein Gut wenn ich im Bericht eine Größenäderung an irgendetwas machen möchte muss ich dies über die Eigenschaften machen, ansonsten passiert das gleiche wie beim Aufruf über ein Makro, denn auch hier stürzt Base dann komplett ab.
Noch ein kleiner hinweis, starte ich das Makro über Extras, wird der Bericht nach der Parameterabrage geöffnet.
Verion ist LO 4.0, Betriebssystem ist Windows xp SP.3
Das Problem ist offensichtlich nicht Systemabhänig, ich hab es gerade mit Debian6 und Open Office 3.2 getestet exakt das Gleiche....
Solangsam Verzweifle ich an Base.
Ich klebe mal das Muster hinten drann:
[Update]
OK Das Absturzproblem hat sich erledigt, nachdem ich den Button von Ereignis: aktion bestätigen auf aktion ausführen geändert habe.
Jetzt fehlt mir nur noch die Werteübergabe. Wie bekomme ich die RNR aus dem Formular in die RNR der Abfrage, die den Bericht mit Daten füttert.
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[GELÖST]Base stürzt bei Bericht aus Formular ab.
[GELÖST]Base stürzt bei Bericht aus Formular ab.
- Dateianhänge
-
- Muster.zip
- (140.4 KiB) 184-mal heruntergeladen
Zuletzt geändert von thorgo am Do 14. Mär 2013, 13:41, insgesamt 1-mal geändert.
Re: Base stürzt bei Bericht aus Formular ab.
Hallo Thorgo,
siehe Dir einfach einmal den anderen dazu gerade laufenden Thread an:
http://www.libreoffice-forum.de/viewtop ... 10&t=11768
Die Parameterangabe ersetzt Du durch ein Einlesen aus einer Tabelle mit nur einem Datensatz. Diese Tabelle wird durch ein Makro mit dem Wert versorgt, der in Deinem Formular der aktuelle Wert ist.
Gruß
Robert
siehe Dir einfach einmal den anderen dazu gerade laufenden Thread an:
http://www.libreoffice-forum.de/viewtop ... 10&t=11768
Die Parameterangabe ersetzt Du durch ein Einlesen aus einer Tabelle mit nur einem Datensatz. Diese Tabelle wird durch ein Makro mit dem Wert versorgt, der in Deinem Formular der aktuelle Wert ist.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Base stürzt bei Bericht aus Formular ab.
Vielen Dank Robert, jetzt klappt es.
Das war ein Gewurstel
, da die Abfrage auf eine weitere Abfrage zugegriffen hat, wars ein wenig tricky aber nun gehts.
Allerdings lassen sich die neuen Abfragen nur noch im SQL-Modus bearbeiten, was aber nicht weiter schlimm ist.
Um Suchenden eine Hilfestellung zu geben trage ich meine Lösung nach.
Zunächst habe ich eine weitere Tabelle ohne Beziehungen angelegt.
Dann mussten die Abfragen ergänzt bzw. hinzugefügt werden.
Die Abfrage "RD_Summe" musste neu erstellt werden, da die Abfrage "Summe" für das Formular benötigt wird, und von "RD_Summe" nicht abgelößt werden kann.
Achtung! bei dieser Abfrage Finger weg von der grafischen Bearbeitung, Base stürzt sofort ab.
Dann muste die Abfrage "Rechnung_Druck" wie folgt umgeschrieben werden.
Auch diese Abfrage stürzt im Grafischen Modus ab.
Im nächsten Schritt habe ich das Makro von Robert angepasst, und im Formular dem Button Rechnung erstellen mit Aktion ausführen belegt.
am Bericht musst nichts weiter geändert werden Daten werden 1:1 übernommen.
VG
Thorsten
Das war ein Gewurstel

Allerdings lassen sich die neuen Abfragen nur noch im SQL-Modus bearbeiten, was aber nicht weiter schlimm ist.
Um Suchenden eine Hilfestellung zu geben trage ich meine Lösung nach.
Zunächst habe ich eine weitere Tabelle ohne Beziehungen angelegt.
Code: Alles auswählen
CREATE TABLE "FILTER" ("ID" BOOLEAN NOT NULL PRIMARY KEY, "Integer" INT)
Die Abfrage "RD_Summe" musste neu erstellt werden, da die Abfrage "Summe" für das Formular benötigt wird, und von "RD_Summe" nicht abgelößt werden kann.
Code: Alles auswählen
SELECT SUM( "E-Preis" * "Menge" ) AS "Summe", "Rechnung"."RNR", ( SELECT "Filter"."Intrger" FROM "Filter" WHERE "Filter"."ID" = TRUE ) AS "DAT" FROM "Repos", "Rechnung", "Filter" WHERE "Repos"."R_RNR" = "Rechnung"."RNR" AND "Rechnung"."RNR" = "DAT" GROUP BY "Rechnung"."RNR"
Dann muste die Abfrage "Rechnung_Druck" wie folgt umgeschrieben werden.
Code: Alles auswählen
SELECT "Anrede"."Anrede" || ' ' || IFNULL( "Kunde"."Titel", ' ' ) || "Kunde"."Vorname" || ' ' || "Kunde"."Name" || CHAR( 13 ) || "Kunde"."Straße" || ' ' || "Kunde"."Hausnummer" AS "Adresse", "Kunde"."PLZ", "Kunde"."Ort", "Rechnung"."RNR", "Kunde"."KDNR", "Rechnung"."Datum", "Rechnung"."Anfahrt", "Rechnung"."Zeit", "Rechnung"."Kommentar", "Repos"."Positionsnummer", "Repos"."E-Preis", "Repos"."Menge", "Leistung"."Leistung", ( SELECT "Filter"."Intrger" FROM "Filter" WHERE "Filter"."ID" = TRUE ) AS "DAT", "RD_Summe"."Summe" AS "Summe" FROM "Kunde", "Anrede", "Rechnung", "Repos", "Leistung", "Filter", "RD_Summe" WHERE "Kunde"."A_Anrede" = "Anrede"."Anrede-ID" AND "Rechnung"."K_KD-NR" = "Kunde"."KDNR" AND "Repos"."R_RNR" = "Rechnung"."RNR" AND "Repos"."L_Leistungs-ID" = "Leistung"."Leistungs-ID" AND "Rechnung"."RNR" = "DAT"
Im nächsten Schritt habe ich das Makro von Robert angepasst, und im Formular dem Button Rechnung erstellen mit Aktion ausführen belegt.
Code: Alles auswählen
SUB Rechnung_oeffnen
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oDatenquelle AS OBJECT
DIM oVerbindung AS OBJECT
DIM oSQL_Anweisung AS OBJECT
DIM stSql AS STRING
DIM stInhalt AS STRING
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Rechnung")
oFeld = oForm.getByName("Rechnungsnummer")
stInhalt = oFeld.getCurrentValue()
oDatenquelle = ThisComponent.Parent.CurrentController
If NOT (oDatenquelle.isConnected()) THEN
oDatenquelle.connect()
END IF
oVerbindung = oDatenquelle.ActiveConnection()
oSQL_Anweisung = oVerbindung.createStatement()
stSql = "UPDATE ""Filter"" SET ""Integer"" = '"+stInhalt+"' WHERE ""ID"" = TRUE"
oSQL_Anweisung.executeUpdate(stSql)
ThisDatabaseDocument.ReportDocuments.getByName("Rechnung_Druck").open
END SUB
VG
Thorsten
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.