Daten zwischen Datenbank und Calc kopieren
Moderator: Moderatoren
Daten zwischen Datenbank und Calc kopieren
Hallo beisammen.
Anfänger hier, sorry, und nein, ich hab mit der Suche nichts gefunden (wenn ich wüsste wonach ich suche bräuchte ich nicht zu suchen...)
Also.
- Es ist mir gelungen eine Datenbank zu erstellen, in denen Adressen (gähn) gesammelt werden
- Diese Adressen kann ich auch in einer Calc Tabelle aufrufen, ihre Daten werden nach Suche in vier Textfeldern angezeigt
- Ich hab auch die Formular-Navigation unten gefunden und kann so neue Datensätze von der Tabelle aus in die Datenbank eingeben
Aber mir fehlt noch folgendes damit das für eine computerfremde Userin einigermaßen komfortabel wird:
1. Nach dem Finden eines Datensatzes (der in vier Textfeldern angezeigt wird) soll der Inhalt dieser vier Textfelder mit einem Button (den hab ich schon) in vier Zellen der Tabelle kopiert werden, schließlich will sie mit den Daten ja irgendwas anfangen. Dazu muss ich vermutlich ein Makro schreiben, beim Versuch desselben kann ich aber schon nicht die Daten aus dem ersten Feld holen, weil das eben keine Zelle sondern ein Textfeld ist. Wie geht das richtig ?
2. Genauso möchte ich umgekehrt mit einem zweiten Button (den hab ich auch schon) existierende Daten aus vier Zellen in einen neu anzulegenden Datensatz der Datenbank schreiben. Dabei hab ich dasselbe Problem wie oben. 'Neuer Datensatz' krieg ich noch ins Makro rein, aber nach erfolgreichem Kopieren aus der Zelle hat das Makro keinen blassen Dunst dass ich die Daten im Textfeld haben will. Wie geht das richtig ?
3. Dass man zum Suchen der Adressen das Fernglas links unten nutzen muss und nicht das oben in der Mitte (Finden & Ersetzen) bekomm ich garantiert nicht vermittelt. Ich hab auch schon einen Button wo drauf steht "Adresse suchen". Klicken auf's (richtige) Fernglas lässt sich aber nicht als Makro aufzeichnen. Wie geht das richtig ?
Vielen Dank schon mal
Anfänger hier, sorry, und nein, ich hab mit der Suche nichts gefunden (wenn ich wüsste wonach ich suche bräuchte ich nicht zu suchen...)
Also.
- Es ist mir gelungen eine Datenbank zu erstellen, in denen Adressen (gähn) gesammelt werden
- Diese Adressen kann ich auch in einer Calc Tabelle aufrufen, ihre Daten werden nach Suche in vier Textfeldern angezeigt
- Ich hab auch die Formular-Navigation unten gefunden und kann so neue Datensätze von der Tabelle aus in die Datenbank eingeben
Aber mir fehlt noch folgendes damit das für eine computerfremde Userin einigermaßen komfortabel wird:
1. Nach dem Finden eines Datensatzes (der in vier Textfeldern angezeigt wird) soll der Inhalt dieser vier Textfelder mit einem Button (den hab ich schon) in vier Zellen der Tabelle kopiert werden, schließlich will sie mit den Daten ja irgendwas anfangen. Dazu muss ich vermutlich ein Makro schreiben, beim Versuch desselben kann ich aber schon nicht die Daten aus dem ersten Feld holen, weil das eben keine Zelle sondern ein Textfeld ist. Wie geht das richtig ?
2. Genauso möchte ich umgekehrt mit einem zweiten Button (den hab ich auch schon) existierende Daten aus vier Zellen in einen neu anzulegenden Datensatz der Datenbank schreiben. Dabei hab ich dasselbe Problem wie oben. 'Neuer Datensatz' krieg ich noch ins Makro rein, aber nach erfolgreichem Kopieren aus der Zelle hat das Makro keinen blassen Dunst dass ich die Daten im Textfeld haben will. Wie geht das richtig ?
3. Dass man zum Suchen der Adressen das Fernglas links unten nutzen muss und nicht das oben in der Mitte (Finden & Ersetzen) bekomm ich garantiert nicht vermittelt. Ich hab auch schon einen Button wo drauf steht "Adresse suchen". Klicken auf's (richtige) Fernglas lässt sich aber nicht als Makro aufzeichnen. Wie geht das richtig ?
Vielen Dank schon mal
Re: Daten zwischen Datenbank und Calc kopieren
Mir ist bei der Konstruktion überhaupt nicht klar, wozu Du Calc benutzen möchtest.
Natürlich kannst Du Daten aus einer Datenbank auslesen und nach irgendwohin kopieren. Die aktuellen Daten des Formulars bekommst Du am einfachsten, wenn der Button, den Du erstellst, in dem entsprechenden Formular liegt:
Damit würdest Du in den Variablen die Inhalte der zugrundeliegenden Tabelle rein nach der Position der Felder in der Tabelle ermitteln. Vielleicht etwas riskant.
Damit hast Du den Inhalt der Felder "Nachname" und "Vorname" in die Variable eingelesen - unabhängig von der Position.
Wie Du die Werte in Calc rein schreibst weißt Du vermutlich besser als ich. Ich arbeite bei Calc nicht mit Makros. Aber hier sonst ein Weg:
Die Position, wo die Werte hin sollen, musst Du natürlich entsprechend anpassen.
Da Du die Daten aus Base bereits in Calc in einem Formular darstellst kannst Du neue Datensätze doch auch in dieses Formular eintragen (Button "Neuer Datensatz", Button "Speichern").
Gruß
Robert
Natürlich kannst Du Daten aus einer Datenbank auslesen und nach irgendwohin kopieren. Die aktuellen Daten des Formulars bekommst Du am einfachsten, wenn der Button, den Du erstellst, in dem entsprechenden Formular liegt:
Code: Alles auswählen
SUB DatenKopieren(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
stString1 = oForm.getString(1)
stString2 = oForm.getString(2)
END SUB
Code: Alles auswählen
SUB DatenKopieren(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
stString1 = oForm.getString(oForm.findColumn("Nachname"))
stString2 = oForm.getString(oForm.findColumn("Vorname"))
END SUB
Wie Du die Werte in Calc rein schreibst weißt Du vermutlich besser als ich. Ich arbeite bei Calc nicht mit Makros. Aber hier sonst ein Weg:
Code: Alles auswählen
oDoc = thisComponent
oSheet = oDoc.sheets(0)
oCell = oSheet.getCellByPosition(0,0)
oCell.String = stString1
oCell = oSheet.getCellByPosition(1,0)
oCell.String = stString2
Da Du die Daten aus Base bereits in Calc in einem Formular darstellst kannst Du neue Datensätze doch auch in dieses Formular eintragen (Button "Neuer Datensatz", Button "Speichern").
Gruß
Robert
Re: Daten zwischen Datenbank und Calc kopieren
Hallo Robert, danke für deine flotte Antwort.
Was die Adressen angeht hab ich in dem Rechnungs-Calc-Sheet zum einen vier Zellen, in denen die für diese eine Rechnung gültigen Adressdaten von Herrn Meier reingeschrieben werden. Daraus bedienen sich erst mal alle Zellen die das dann auf dem Ausdruck an den richtigen Stellen oder im Text einbauen, für den Gast und für die Steuer.
Aus diesen vier Zellen will ich aber auch, nachdem die Adressdaten im Rechnungs-Calc-Sheet eingegeben sind, einen Datensatz in der verbundenen Adress-Datenbank erzeugen können, wie gesagt mit nur einem Button-klick, für den Fall, dass es Herrn Meier so gut gefallen hat dass er gedenkt wiederzukommen.
Zum anderen hab ich besagte Datenbank angelegt, die ich auch mit dem Rechnungs-Calc-Sheet soweit verbunden habe, dass ich die Adressdaten in letzterem zumindest manuell in Textfelder eingeben, suchen und wieder rauskopieren kann, letzteres wenn Herr Meier eben voriges Jahr schon da war.
Auch hier brauche ich mehr Komfort für die Userin, der brauch ich nicht kommen mit "Äh, ja, das ist eigentlich ganz einfach, da musst du in dieses Feld hier klicken, das ist aber ein Textfeld, weißt du, keine Zelle, und dann da drin alles auswählen und dann musst du strg-c drücken, also strg gedrückt halten und dann einmal c drücken aber das c nur kurz, nichwa, und dann musst du da drüben einmal reinclicken und strg-v drücken, und dann machst du das Ganze noch dreimal aber an anderen Stellen, is klar, ne ?" In der Zeit hat sie alles zu Fuß eingetippt und alles war für die Katz. Also brauch ich auch hier einen Knopf, der diesmal im Rechungs-Calc-Sheet die gefundenen Daten aus den Textfeldern wieder in echte Zellen kopiert mit denen dann wiederum wie oben beschrieben die Rechnung korrekt befüllt wird. Es soll nur im Rechungs-Calc-Sheet gearbeitet werden, die Datenbank mit ihrem zugrundeliegenden Adress-Calc-Sheet soll nicht separat an die Oberfläche kommen.
Knackpunkt bei meinem Ansatz ist die Tatsache, dass die Datenbankdaten im Rechnungs-Calc-Sheet eben in Textfeldern und nicht in Zellen angezeigt werden. Und ich aus diesen nichts automatisiert rein- und rauskopiert bekomme.
Hier im Rechnungs-Calc-Sheet links die Zellen mit den aktuellen Adressdaten, rechts in gelben Textfeldern ein angezeigter Datensatz aus der Dantenbank. Darüber die drei bislang nichtfunktionalen Knöpfe. Den Rest der Rechnung hab ich nicht dargestellt, der ist genauso langweilig:
Das Vorhaben ist recht simpel: Meine Userin hat eine Ferienzimmervermietung und will Rechnungen stellen. Diese Rechnung entsteht auf einem Rechnungs-Calc-Sheet. Da muss auch die Rechungsadresse drauf, und weil sie viele wiederkehrende Gäste hat will sie nicht jedesmal alle Adressdaten wieder und wieder eintippen müssen wenn derselbe Gast nochmal oder öfter kommt. Diese Rechnung wird gespeichert. Beim nächsten Gast wird diese Rechnung verändert und mit neuem Filenamen neu abgespeichert.Mir ist bei der Konstruktion überhaupt nicht klar, wozu Du Calc benutzen möchtest.
Was die Adressen angeht hab ich in dem Rechnungs-Calc-Sheet zum einen vier Zellen, in denen die für diese eine Rechnung gültigen Adressdaten von Herrn Meier reingeschrieben werden. Daraus bedienen sich erst mal alle Zellen die das dann auf dem Ausdruck an den richtigen Stellen oder im Text einbauen, für den Gast und für die Steuer.
Aus diesen vier Zellen will ich aber auch, nachdem die Adressdaten im Rechnungs-Calc-Sheet eingegeben sind, einen Datensatz in der verbundenen Adress-Datenbank erzeugen können, wie gesagt mit nur einem Button-klick, für den Fall, dass es Herrn Meier so gut gefallen hat dass er gedenkt wiederzukommen.
Zum anderen hab ich besagte Datenbank angelegt, die ich auch mit dem Rechnungs-Calc-Sheet soweit verbunden habe, dass ich die Adressdaten in letzterem zumindest manuell in Textfelder eingeben, suchen und wieder rauskopieren kann, letzteres wenn Herr Meier eben voriges Jahr schon da war.
Auch hier brauche ich mehr Komfort für die Userin, der brauch ich nicht kommen mit "Äh, ja, das ist eigentlich ganz einfach, da musst du in dieses Feld hier klicken, das ist aber ein Textfeld, weißt du, keine Zelle, und dann da drin alles auswählen und dann musst du strg-c drücken, also strg gedrückt halten und dann einmal c drücken aber das c nur kurz, nichwa, und dann musst du da drüben einmal reinclicken und strg-v drücken, und dann machst du das Ganze noch dreimal aber an anderen Stellen, is klar, ne ?" In der Zeit hat sie alles zu Fuß eingetippt und alles war für die Katz. Also brauch ich auch hier einen Knopf, der diesmal im Rechungs-Calc-Sheet die gefundenen Daten aus den Textfeldern wieder in echte Zellen kopiert mit denen dann wiederum wie oben beschrieben die Rechnung korrekt befüllt wird. Es soll nur im Rechungs-Calc-Sheet gearbeitet werden, die Datenbank mit ihrem zugrundeliegenden Adress-Calc-Sheet soll nicht separat an die Oberfläche kommen.
Knackpunkt bei meinem Ansatz ist die Tatsache, dass die Datenbankdaten im Rechnungs-Calc-Sheet eben in Textfeldern und nicht in Zellen angezeigt werden. Und ich aus diesen nichts automatisiert rein- und rauskopiert bekomme.
Hier im Rechnungs-Calc-Sheet links die Zellen mit den aktuellen Adressdaten, rechts in gelben Textfeldern ein angezeigter Datensatz aus der Dantenbank. Darüber die drei bislang nichtfunktionalen Knöpfe. Den Rest der Rechnung hab ich nicht dargestellt, der ist genauso langweilig:
Da ist schon das erste Fachwort mit Disasterpotenzial. Verstehe ich das richtig, das 'Formular' ist mein mit der Adress-Datenbank verbundenes Adress-Calc-Sheet, ja ? Ich kann von einer Bürofachkraft *vielleicht* verlangen, dass sie zuerst von dieser auf die andere Maske wechseln muss um dann wiederum in dieser Maske weiterarbeiten zu können, aber hier ist das leider nicht vermittelbar. Alles muss vom Rechnungs-Calc-Sheet aus passieren.Die aktuellen Daten des Formulars
Genau das will ich machen, aber es scheitert eben an der mangelnden Kooperation der Textfelder.Da Du die Daten aus Base bereits in Calc in einem Formular darstellst kannst Du neue Datensätze doch auch in dieses Formular eintragen (Button "Neuer Datensatz", Button "Speichern").
Re: Daten zwischen Datenbank und Calc kopieren
Nur um Klarheit zu bekommen: Sind das Formularfelder, die Du da gelb hinterlegt hast? Oder sind das irgendwie aus der Datenbank zu aktualisierende Felder, die nur die Verbindung in eine Richtung haben?
Davon ab: Als Datenbänkler hätte ich das alles komplett in eine Datenbank gelegt - incl. Ausdruck der Rechnungen und dem gesamten Buchungskram für Ferienhäuser. Aber das hängt natürlich damit zusammen, wie sich die jeweilige entwickelnde Person mit Calc oder Base auskennt.
Eine Vorlage für so etwas wäre in den Beispieldatenbanken enthalten, die neben dem Handbuch verfügbar sind: "Terminübersicht Ferienhäuser".
Davon ab: Als Datenbänkler hätte ich das alles komplett in eine Datenbank gelegt - incl. Ausdruck der Rechnungen und dem gesamten Buchungskram für Ferienhäuser. Aber das hängt natürlich damit zusammen, wie sich die jeweilige entwickelnde Person mit Calc oder Base auskennt.
Eine Vorlage für so etwas wäre in den Beispieldatenbanken enthalten, die neben dem Handbuch verfügbar sind: "Terminübersicht Ferienhäuser".
Re: Daten zwischen Datenbank und Calc kopieren
Danke für deine Geduld.
Die gelben Felder sind, so der Fachausdruck, Textfelder. Sie zeigen Daten aus einer Datenbank. Das Einbinden über Textfelder wird in diversesten Tutorials, Leitfäden und Videos so beschrieben, da hab ich mir gedacht "wird wohl stimmen"...
Diese Daten kann ich hier ändern (das ändert sie in der Datenbank). Ich kann von hier aus auch neue Datensätze in der Datenbank anlegen und beschreiben. Ich kann nur nicht per Macro auf eben diese gelben Felder zugreifen (um etwas herauszukopieren oder um etwas hineinzuschreiben). Das muss doch gehen ?
So schaut's ausdas hängt natürlich damit zusammen, wie ob sich die jeweilige entwickelnde Person mit Calc oder Base auskennt.

Die gelben Felder sind, so der Fachausdruck, Textfelder. Sie zeigen Daten aus einer Datenbank. Das Einbinden über Textfelder wird in diversesten Tutorials, Leitfäden und Videos so beschrieben, da hab ich mir gedacht "wird wohl stimmen"...
Diese Daten kann ich hier ändern (das ändert sie in der Datenbank). Ich kann von hier aus auch neue Datensätze in der Datenbank anlegen und beschreiben. Ich kann nur nicht per Macro auf eben diese gelben Felder zugreifen (um etwas herauszukopieren oder um etwas hineinzuschreiben). Das muss doch gehen ?
Re: Daten zwischen Datenbank und Calc kopieren
…und genau das habe ich doch beschrieben: Wie Du den Inhalt der Felder auslesen kannst steht in dem Code, den ich in zwei unterschiedlichen Formen aufgeschrieben habe. Dazu muss lediglich der Button "Diese Adresse aus Datenbank holen" im Formular abgelegt sein, in dem auch die Textfelder sind. Um das zu sehen würde ich Dir raten, einmal den Formularnavigator zu öffnen. Der zeigt Dir, welche Elemente alle im gleichen Formular liegen.
Lass uns erst einmal den Weg fertig bekommen, bevor der umgekehrte Weg aus Calc raus in die Datenbank rein nur für Verwirrung sorgt.
Lass uns erst einmal den Weg fertig bekommen, bevor der umgekehrte Weg aus Calc raus in die Datenbank rein nur für Verwirrung sorgt.
Re: Daten zwischen Datenbank und Calc kopieren
Hm. Irgendwie komm ich da überhaupt nicht weiter. Ich probier jetzt einen anderen Ansatz:
Anzeige der "Datenquelle als Tabelle" zeigt mir die Adress-Datensätze in Calc als Liste und ich kann auch finden/eingeben. Sie werden an den korrekten Stellen in der Rechnungs-Tabelle angezeigt.
Wenn ich aber die Rechnungs-Tabelle speichere und wieder öffne, dann ist wieder der erste Datensatz ausgewählt, nicht der zur Rechnung gehörende.
Das ist ja ziemlich zweckfrei.
Was muss ich tun, damit der beim Speichern der Rechnungs-Tabelle selektierte Datensatz auch beim wieder öffnen der Rechnungs-Tabelle immer noch selektiert ist ?
Anzeige der "Datenquelle als Tabelle" zeigt mir die Adress-Datensätze in Calc als Liste und ich kann auch finden/eingeben. Sie werden an den korrekten Stellen in der Rechnungs-Tabelle angezeigt.
Wenn ich aber die Rechnungs-Tabelle speichere und wieder öffne, dann ist wieder der erste Datensatz ausgewählt, nicht der zur Rechnung gehörende.
Das ist ja ziemlich zweckfrei.
Was muss ich tun, damit der beim Speichern der Rechnungs-Tabelle selektierte Datensatz auch beim wieder öffnen der Rechnungs-Tabelle immer noch selektiert ist ?
Re: Daten zwischen Datenbank und Calc kopieren
Mir scheint, dass Du noch nicht verstanden hast, dass da eine Datenbankdatei existiert, in der die Daten alle gespeichert sind. Öffne ich so eine Datenbankdatei, so zeigt die Datenbankdatei bei einem Klick auf eine Tabelle die Datensätze der Reihe nach an. Wenn Du von einem Datensatz zum nächsten kommen willst musst Du mit der Maus navigieren, alternativ über die Navigationsleiste den Datensatz ansteuern oder bestimmte Filtertechniken anwenden. Nur so bekommst Du einen Datensatz ausgewählt.
Beim nächsten Öffnen beginnt das Spielchen wieder von vorne - es sei denn, Du hast die vorherige Filterung in einer Filtertabelle gespeichert.
Ich bin weiter der Ansicht, dass es für Dein Vorhaben reichen würde, die Formularfelder direkt in das Rechnungsformular zu setzen. Wozu Du hin- und herlesen willst erschließt sich mir nicht.
Ich habe einmal schnell so eine Kombination erstellt. Bis auf das Einstellen "Nichtdruck" für viele Elemente habe ich am Design nichts gemacht. Nur ein Listenfeld, das die Adresse filtert, eine Möglichkeit zur Neueingabe und eine Möglichkeit zur Adressenänderung. Die Datenbank musst Du als "Adressen_Calc" in Extras → Optionen → LibreOffice Base → Datenbanken anmelden.
Beim nächsten Öffnen beginnt das Spielchen wieder von vorne - es sei denn, Du hast die vorherige Filterung in einer Filtertabelle gespeichert.
Ich bin weiter der Ansicht, dass es für Dein Vorhaben reichen würde, die Formularfelder direkt in das Rechnungsformular zu setzen. Wozu Du hin- und herlesen willst erschließt sich mir nicht.
Ich habe einmal schnell so eine Kombination erstellt. Bis auf das Einstellen "Nichtdruck" für viele Elemente habe ich am Design nichts gemacht. Nur ein Listenfeld, das die Adresse filtert, eine Möglichkeit zur Neueingabe und eine Möglichkeit zur Adressenänderung. Die Datenbank musst Du als "Adressen_Calc" in Extras → Optionen → LibreOffice Base → Datenbanken anmelden.
- Dateianhänge
-
- Calc_Base.zip
- (16.66 KiB) 294-mal heruntergeladen
Re: Daten zwischen Datenbank und Calc kopieren
Ich denke hier ist der falsche Eindruck entstanden. Ich hab schon vor 30 Jahren relationale Datenbanken programmiert, allerdings in Filemaker, und da war das selbst ohne Handbuch eine Sache von den sprichwörtlichen paar Mausclicks, und es kam genau das raus was ich wollte (z. B. einen Adressdatensatz in der Datenbank finden, jede Rechnung mit genau einem bestimmten Adressdatensatz speichern/drucken/öffnen. Ganz einfache Anforderung eigentlich). Die geistigen Kapazitäten sind also durchaus vorhanden, würde ich meinen wollen. Allerdings habe ich (mit guten Excel-Kenntnissen) gerade bei Calc ab und an den Eindruck dass es an gewissen Stellen außergewöhnlich ungeschmeidig läuft. Ich versuche auch seit einer Weile mich hier in meinen Posts so klar wie nur irgend möglich auszudrücken, leider offenbar nicht erfolgreich.
Danke für dein Beispiel im letzten Post, allerdings tut das leider auch nicht was es soll:
Nachdem die Adressen und die Rechnung verbunden sind wird aus den Adressen in der Rechnung nur exakt ein Datensatz zur Auswahl angezeigt, anstatt der vorhandenen vier Datensätze, nämlich der vierte (warum gerade der ? Man weiß es nicht):
Und wenn ich hier nach etwas suche von dem ich zufällig weiß dass es da ist schlägt auch das fehl:
Wenn ich einen neuen Datensatz anlege und die Rechnung so abspeichere und wieder öffne, so wird trotzdem wieder der falsche Datensatz angezeigt.
Das sind letztlich 0 von 3 möglichen Punkten, keine so gute Bilanz, mit Verlaub.
Mein aktueller Ansatz, wie im letzten Post beschrieben, sieht so aus:
Hier sehe ich zumindest schon mal alle eingegebenen Adressen, kann auswählen und/oder eingeben. Aber auch hier wird die Rechnung nicht mit dem korrekten Adressdatensatz gespeichert. Ich kann die Rechnung unmittelbar ausdrucken, oder, falls das Drucken sich auch so schwierig gestalten sollte, den Monitor auf den Kopierer legen, aber das wars dann auch schon.
Drum bleibt meine Frage: Wie kann ich die Rechnung speichern so dass der korrekte Datensatz auch bei späterem Öffnen angezeigt bleibt ?
Interessanterweise hatte jemand vor paar Jahren in diesem Forum schonmal exakt dieselbe Frage:
https://oooforum.de/viewtopic.php?t=52594
Da sind dann viele Menschen mit guten Absichten in verschiedenste Richtungen davon galoppiert, und nicht ein einziger hat die eigentliche Frage beantwortet "Wie kann ich die Rechnung speichern so dass der korrekte Datensatz auch bei späterem Öffnen angezeigt bleibt ?".
Das finde ich seltsam. An Open Office. Und auch an Foren.
Danke für dein Beispiel im letzten Post, allerdings tut das leider auch nicht was es soll:
Nachdem die Adressen und die Rechnung verbunden sind wird aus den Adressen in der Rechnung nur exakt ein Datensatz zur Auswahl angezeigt, anstatt der vorhandenen vier Datensätze, nämlich der vierte (warum gerade der ? Man weiß es nicht):
Und wenn ich hier nach etwas suche von dem ich zufällig weiß dass es da ist schlägt auch das fehl:
Wenn ich einen neuen Datensatz anlege und die Rechnung so abspeichere und wieder öffne, so wird trotzdem wieder der falsche Datensatz angezeigt.
Das sind letztlich 0 von 3 möglichen Punkten, keine so gute Bilanz, mit Verlaub.
Mein aktueller Ansatz, wie im letzten Post beschrieben, sieht so aus:
Hier sehe ich zumindest schon mal alle eingegebenen Adressen, kann auswählen und/oder eingeben. Aber auch hier wird die Rechnung nicht mit dem korrekten Adressdatensatz gespeichert. Ich kann die Rechnung unmittelbar ausdrucken, oder, falls das Drucken sich auch so schwierig gestalten sollte, den Monitor auf den Kopierer legen, aber das wars dann auch schon.
Drum bleibt meine Frage: Wie kann ich die Rechnung speichern so dass der korrekte Datensatz auch bei späterem Öffnen angezeigt bleibt ?
Interessanterweise hatte jemand vor paar Jahren in diesem Forum schonmal exakt dieselbe Frage:
https://oooforum.de/viewtopic.php?t=52594
Da sind dann viele Menschen mit guten Absichten in verschiedenste Richtungen davon galoppiert, und nicht ein einziger hat die eigentliche Frage beantwortet "Wie kann ich die Rechnung speichern so dass der korrekte Datensatz auch bei späterem Öffnen angezeigt bleibt ?".
Das finde ich seltsam. An Open Office. Und auch an Foren.
Re: Daten zwischen Datenbank und Calc kopieren
Nur einmal zur Information:
Das Beispiel funktioniert mit Makros. Wenn Du die nicht erlaubst, dann bleibt es natürlich ohne weitere Wirkung, weil
Lass Dir doch bitte einmal das Formular im Formularnavigator anzeigen. Da müsstest Du 2 Formulare in Calc sehen. In einem ist die Adresstabelle, in dem anderen die Filtertabelle.
Vergiss die interne Suche von Base. Die ist viel zu kompliziert. Nutze das Listenfeld. Da sind alle Adressen drin enthalten.
Anscheinend willst Du nicht nur den einmal ausgewählten Datensatz weiter sehen, sondern diesen auch dauerhaft irgendwo speichern.
Das geht nur, wenn Du den Ausdruck auch als PDF-Datei speicherst. Jede Vorlage, die Du mit Calc erstellst, wird doch bei der nächsten Rechnung überschrieben. Deshalb weiß ich auch nicht, warum Du da überhaupt irgendetwas mit Calc machst.
Nimm einfach den Datenquellenbrowser in Calc, öffne die Tabelle. Du kannst die einzelnen Felder anklicken und in Calc ziehen.
Ich hoffe einmal, dass das auch In AOO geht. Ich mache das hier alles mit LibreOffice. Mit AOO habe ich schon beim Datenbankkontakt Probleme unter Linux.
Das Beispiel funktioniert mit Makros. Wenn Du die nicht erlaubst, dann bleibt es natürlich ohne weitere Wirkung, weil
- das Formular mit der Anzeige über eine Abfrage gespeist wird,
- die Abfrage über das Listenfeld mit einem Filter für genau einen Datensatz gefiltert wird und
- neue Datensätze direkt in den Filter übernommen werden.
Lass Dir doch bitte einmal das Formular im Formularnavigator anzeigen. Da müsstest Du 2 Formulare in Calc sehen. In einem ist die Adresstabelle, in dem anderen die Filtertabelle.
Vergiss die interne Suche von Base. Die ist viel zu kompliziert. Nutze das Listenfeld. Da sind alle Adressen drin enthalten.
Anscheinend willst Du nicht nur den einmal ausgewählten Datensatz weiter sehen, sondern diesen auch dauerhaft irgendwo speichern.
Das geht nur, wenn Du den Ausdruck auch als PDF-Datei speicherst. Jede Vorlage, die Du mit Calc erstellst, wird doch bei der nächsten Rechnung überschrieben. Deshalb weiß ich auch nicht, warum Du da überhaupt irgendetwas mit Calc machst.
Nimm einfach den Datenquellenbrowser in Calc, öffne die Tabelle. Du kannst die einzelnen Felder anklicken und in Calc ziehen.
Ich hoffe einmal, dass das auch In AOO geht. Ich mache das hier alles mit LibreOffice. Mit AOO habe ich schon beim Datenbankkontakt Probleme unter Linux.
- Dateianhänge
-
- Calc_Rechnung.ods
- Calc-Datei mit Datenkopie nach Calc
- (13.47 KiB) 285-mal heruntergeladen
Re: Daten zwischen Datenbank und Calc kopieren
Das versuche ich seit einer Weile zu erklären, ja.Anscheinend willst Du nicht nur den einmal ausgewählten Datensatz weiter sehen, sondern diesen auch dauerhaft irgendwo speichern.
Das wäre ein echtes Armutszeugnis für eine Datenbank-gestützte Rechnungserstellung.Das geht nur, wenn Du den Ausdruck auch als PDF-Datei speicherst.
Nochmal- die Aufgabe ist:Jede Vorlage, die Du mit Calc erstellst, wird doch bei der nächsten Rechnung überschrieben. Deshalb weiß ich auch nicht, warum Du da überhaupt irgendetwas mit Calc machst.
- Eine Rechnung aufzustellen, mit Zahl der Übernachtungen, Einzelpreis, Zahl der Gäste, Reinigungspauschale, Kurtaxe etc. Da kommt eine Endsumme raus. Die will ich nicht jedesmal extern auf dem Taschenrechner zusammenfummeln müssen, deshalb muss da Calc ran.
- In diese Rechnung soll auch eine Rechnungsadresse rein. Damit man auch die nicht jedesmal neu eintippen muss, soll die aus einer Adressdatenbank beigesteuert werden.
- Diese Rechnung wird dann, meinetwegen mit Rechungsnummer und Name, gespeichert, für meine Unterlagen und für die Steuerprüfung in acht Jahren. Und der Gast bekommt nen Ausdruck davon.
- Die nächste Rechnung des nächsten Gastes, mit anderer Endsumme und offensichtlich anderer Adresse, wird mit neuer Rechnungsnummer und neuem Namen gespeichert. Jetzt sinds schon zwei. In der ersten Rechnung soll der erste Betrag und die zugehörige Adresse stehen. In der zweiten Rechnung soll der zweite Betrag und die hier zugehörige, andere Adresse stehen. Und zwar jeweils sowohl beim Abspeichern als auch genau so beim nächsten und jedem weiteren Öffnen.
Mir verschließt sich warum diese Aufgabenstellung so abwegig erscheint.
Das weiß ich. Darauf bezog sich auch meine ganz ursprüngliche Frage, wie man das bei vier Feldern pro Adresse für meine nicht-computer-affine Benutzerin auf einen Button legen könnte, der die vier Felder in vier bestimmte Calc-Zellen kopiert. Mit einem Macro funktioniert das nicht, weil Macros und Felder nichts von der Existenz des jeweils anderen wissen (wollen?).Du kannst die einzelnen Felder anklicken und in Calc ziehen.
Aber wenn das in Open Office offensichtlich nicht für den Anwender komfortabel zu lösen ist brauch ich auch nicht weiter zu fragen.
Danke trotzdem.
Re: Daten zwischen Datenbank und Calc kopieren
Wir werden wohl weiter aneinander vorbeireden. Ich erstelle öfter komplette Rechnungsdatenbanken. Calc nutze ich nahezu überhaupt nicht. Deswegen erscheint mir eine Lösung mit Calc nicht komfortabel, sondern eben mit vielen Krücken behaftet.
Wie Du Daten von Base nach Calc kopieren kannst habe ich Dir geschrieben. Ist dann auch in dem zweiten Beispiel drin. Warum Du da nicht mit klar kommst erschließt sich mir nicht.
Wie Du Daten von Base nach Calc kopieren kannst habe ich Dir geschrieben. Ist dann auch in dem zweiten Beispiel drin. Warum Du da nicht mit klar kommst erschließt sich mir nicht.