Seite 1 von 2
Frage zur Machbarkeit per Base und Writer
Verfasst: So 21. Apr 2013, 13:09
von sonya
Hallo,
ich habe mit Base noch nichts zu tun gehabt. Vor langer Zeit habe ich mit Excel eine recht komplexe Tabellenanwendung erstellt. Das waren auch schon meine Bekanntschaften in Bezug auf Tabellen und Datenbanken. Wobei mir mySQl und PHP kein Fremdwort ist.
Nun habe ich eine Frage, ob das folgende Problem per Libreoffice (evtl. Base und Writer zusammen) realisierbar ist.
Eine "Mitgliederverwaltung" im Verein.
Nun zu den Anforderungen:
1.)
Es soll ein Formular existieren in dem Namen, Vorname und die Adresse angezeigt wird. Die Auswahl erfolgt per "Nachname" mittels Eingabe der ersten Buchstaben. Daraufhin eine entsteht eine kleinere Auswahl der in Frage kommenden Namen. Der entsprechende Name wird ausgewählt und die übrigen Felder (Vorname, Adresse, PLZ, Ort, usw.) werden automatisch gefüllt.
Das mit dem Adressformular ist ja schnell zu realisieren. Das habe ich ja schon geschafft :) Das automatische Auffüllen nach Wahl eines Nachnamens schaffe ich bisher nicht. Da brauche ich Eure Hilfe.
Nun kommt aber noch mehr:
2.)
Eine weitere Tabelle mit Produkt. Ein Datensatz hat z.B. 4 Spalten (Artikel, Lateinischer Name, Gewicht, Anzahl und natürlich eine ID)
Um es anschaulicher zu machen:
- gebe im Feld "Nachnahme" ein "M" ein und wähle unter den erscheinenden Namen mit "M" den Namen Mayer aus. Die übrigen Felder werden automatisch mit dessen Vorname, Adresse usw. gefüllt.
- gebe bei Produkt_LateinischerName eine "P" ein und wähle Pyrus. Daraufhin wird das Feld "Artikel" automatisch mit "Birne" gefüllt. Gewicht und Anzahl kann in den 2 folgenden Feldern jeweils per Hand eingetragen werden.
3.)
Ein Button soll den Inhalt des ausgefüllten Formulars nun auf ein mit entsprechenden Platzhaltern gefülltes Dokument ausgegeben UND drucken.
4.) Ein weiterer Buttom soll das ausgefüllte Dokument mit dem Dateinamen "NachnameDesMitgliedes_VornameDesMitgliedes_AktuellesErstellDatum.xyz"
im Verzeichnis "Archiv" abspeichern. Dies könnte auch gleichzeitig über den "Drucken" Button erfolgen.
Ist das per LibreOffice zu realisieren?
Ach so. Laufendes LibreOffice ist 3.5.7.2 auf Ubuntu (64bit) mit XFCE4.
Sollte das Ganze über eine PHP/mysql Lösung besser vonstatten gehen?
Einen schönen Sonntag wünscht
Sonya
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: So 21. Apr 2013, 13:47
von gogo
Hallo sonya,
das ist alles (großteils mit Bordmitteln) von LO zu machen.
Eine prinzipielle Frage:
Du möchtest eine Liste haben in der steht welches Mitglied von welchem Produkt wie viel hat/benötigt etc?
Und die "Zeilen" dieser Liste sollen dann als "ein Blatt pro Zeile" gespeichert und ausgedruckt werden?
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: So 21. Apr 2013, 15:30
von sonya
gogo hat geschrieben:Hallo sonya,
das ist alles (großteils mit Bordmitteln) von LO zu machen.
Eine prinzipielle Frage:
Du möchtest eine Liste haben in der steht welches Mitglied von welchem Produkt wie viel hat/benötigt etc?
Hallo gogo,
ja genau.
So in etwa wie eine Bücher- oder Materialausleihe.
Und die "Zeilen" dieser Liste sollen dann als "ein Blatt pro Zeile" gespeichert und ausgedruckt werden?
Ungefähr. Nicht als eine Zeile, sondern schon als formatiertes Dokument. Ich habe mal einen Entwurf im Anhang. Die farblich unterlegten Felder sind im Formular diejenigen die per Hand ausgewählt/eingegeben werden die Anderen Felder werden/sollen automatisch aus der jeweiligen Tabelle entsprechend eingefügt werden. Menge/Anzahl sind natürlich von Hand einzutragen.
Das Blatt welches letztendlich entsteht soll in etwa so aussehen wie im Anhang gezeigt.wie im Anhang gezeigt
Das entstehende Blatt hat ja Platzhalter oder Ähnliches(?) die entsprechend angeordnet werden können/sollen.
Das Formular wird dann ja fast eben so aussehen.
Viele Grüße
Sonja
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: So 21. Apr 2013, 16:40
von gogo
Die Konstruktion die Du brauchst wäre dann eine 3-Tabellen-Datenbank:
1. Mitglieder (ID_Mitglied, Vorname, Nachname ... )
2. Artikel (ID_Artikel, Bezeichnung ...)
3. Artikel_der_Mitglieder (ID_AdM, ID_Mitglied, ID_Artikel, Anzahl)
Dann machst Du ein Formular mit Unterformular. Im Hauptformular ist die Datenherkunft die Tabelle Mitglieder, im Unterformular die Tabelle Artikel_der_Mitglieder. Die Verbindung zwischen den 2 Formularen ist die ID_Mitglied.
Das Writer-Dokument bekommst Du über einen Bericht, mit einer Abfrage die im Prinzip die selbe Struktur hat wie Dein Formular:
Mitglieder join Artikel_der_Mitglieder join Artikel
on (Mitglieder.ID_Mitglied = Artikel_der_Mitglieder.ID_Mitglied and
Artikel_der_Mitglieder.ID_Artikel = Artikel.ID_Artikel)
Den Bericht, gruppierst Du nach Mitgliedern.
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: So 21. Apr 2013, 19:19
von RobertG
Hallo Sonya,
sonya hat geschrieben:
1.)
Es soll ein Formular existieren in dem Namen, Vorname und die Adresse angezeigt wird. Die Auswahl erfolgt per "Nachname" mittels Eingabe der ersten Buchstaben. Daraufhin eine entsteht eine kleinere Auswahl der in Frage kommenden Namen. Der entsprechende Name wird ausgewählt und die übrigen Felder (Vorname, Adresse, PLZ, Ort, usw.) werden automatisch gefüllt.
Das mit dem Adressformular ist ja schnell zu realisieren. Das habe ich ja schon geschafft

Das automatische Auffüllen nach Wahl eines Nachnamens schaffe ich bisher nicht. Da brauche ich Eure Hilfe.
Siehe hierzu die Datei im Anhang. Darin ist ein Formular enthalten, in dem ein Listenfeld direkt den Filter eines Formular einstellt. Geht allerdings so nur über Makros.
Ansonsten verweise ich zusätzlich auf das LO-Handbuch:
http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - etwas nach unten scrollen.
Gruß
Robert
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: Do 25. Apr 2013, 22:10
von sonya
Hallo gogo, hallo Robert,
dank für Dein Beispiel. Da habe ich erst einmal einen guten Einblick gewinnen können und konnte damit auch weiter arbeiten.
nun bin ich schon einen kleinen Schritt weiter

Eine 2 Tabelle konnte ich erfolgreich einbinden. Erst einmal ein recht einfacher Versuch mit einem Textfeld. Funktioniert auch soweit.
Im Formular "Form_Mitglieder_Anmerkungen" sollten die angezeigten Felder geleert werden (nicht die Daten in der entsprechenden Tabelle).
Der Button "Ausgabe aktualisieren" funktioniert ja.
Für den Button "Alle Felder auf Null" habe ich schon alle möglichen "Aktionen" durchprobiert. Weder die Aktionen "Rückgängig:Dateneingabe" noch "erster Datensatz" und was sehr erstaunlich ist "Formular zurücksetzten" funktionieren alle nicht

Da der Button "Ausgabe aktualisieren" auch nur auf eine zugewiesene Aktion funktioniert, sollte das beim Leeren der Formularfelder mit dem Button "Alle Felder auf Null" und der zugewiesenen Aktion "Formular zurücksetzten" ebenso funktionieren. Macht es jedoch nicht:( Was läuft hier falsch?
Wie kann ich im Formular "Form_Mitglieder_Anmerkungen" alle Formularfelder leeren?
Zumindest die oberen Auswahlfelder alle auf "leer" setzten. Ich hoffe, dazu ist kein Makro notwendig.
LG
Sonya
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: Fr 26. Apr 2013, 08:14
von gogo
Hallo
ich bin mir nicht sicher ob Du das so wolltest:

- Unbenannt.GIF (17.08 KiB) 5446 mal betrachtet
eher schon so oder?

- Unbenannt2.GIF (5.79 KiB) 5446 mal betrachtet
Im Formular "Form_Mitglieder_Anmerkungen" sollten die angezeigten Felder geleert werden (nicht die Daten in der entsprechenden Tabelle).
Da musst Du Dich entscheiden - derzeit sind alle Textfelder an ein Tabellenfeld gebunden - Leeren UND Nicht-Löschen geht 'nicht' - entweder oder.
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: Fr 26. Apr 2013, 14:49
von sonya
gogo hat geschrieben:Hallo
ich bin mir nicht sicher ob Du das so wolltest:
Ich dachte mir nur ... ... das ginge einfach soo ...
eher schon so oder?
Der Dateianhang Unbenannt2.GIF existiert nicht mehr.
Ich hoffe die Anordnung im Formular "Anmerkung_zu_den_Mitgliedern_1" ist jetzt richtig. Ich lasse mich gerne belehren.
Im Formular "Form_Mitglieder_Anmerkungen" sollten die angezeigten Felder geleert werden (nicht die Daten in der entsprechenden Tabelle).
Da musst Du Dich entscheiden - derzeit sind alle Textfelder an ein Tabellenfeld gebunden - Leeren UND Nicht-Löschen geht 'nicht' - entweder oder.
Nun ja, ich nahm an, die oberen Auswahlfelder könnten mit diesem Button einfach wieder auf Leer gestellt werden. Ohne per Hand ein Feld oder gar alle drei Felder aul "LEER" zu stellen. Per Aktion "erster Datensatz" funktioniert ja auch nicht.
Ich habe über Mittag einmal das Formular abgeändert. Was ich überhaupt nicht hin bekomme, sind die Zeilenumbrüche in den Ausgabefeld(ern) für die Texte der "Anmerkungen". Da muss es doch möglich sein, Zeilenumbrüche zu aktivieren. Diese Option kann ich nirgendwo finden. Ich hoffe, es gibt so etwas.
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: Fr 26. Apr 2013, 16:48
von RobertG
Hallo sonya,
sonya hat geschrieben:Was ich überhaupt nicht hin bekomme, sind die Zeilenumbrüche in den Ausgabefeld(ern) für die Texte der "Anmerkungen". Da muss es doch möglich sein, Zeilenumbrüche zu aktivieren. Diese Option kann ich nirgendwo finden. Ich hoffe, es gibt so etwas.
Ich habe mir jetzt die Datenbank nicht angeschaut. Meinst Du die Textfelder im Formular? Dort in den Eigenschaften auf "Allgemein" → "Text-Typ" - "mehrzeilig" und anschließend vielleicht noch "Textzeilen enden mit" ?
Gruß
Robert
Re: Frage zur Machbarkeit per Base und Writer
Verfasst: Fr 26. Apr 2013, 19:15
von sonya
Hallo Robert,
RobertG hat geschrieben:
Ich habe mir jetzt die Datenbank nicht angeschaut. Meinst Du die Textfelder im Formular?
Ja genau diese Textfelder die in "Anmerkungen" Lange Textzeilenzeilen mit Zeilenumbruch wiedergeben sollen.
Ich habe mir zuvor schon alle möglichen Optionsfelder in dem Formular "Anmerkung_zu_den_Mitgliedern_1" und in den Abfragen und in der Tabelle selbst angeschaut. Das hätte ich vielleicht dazu schreiben sollen. In der DB die oben anhängt habe ich das noch nicht überall durchgefüht. Hier lokal habe ich schon alle Varianten durch ...
Dort in den Eigenschaften auf "Allgemein" → "Text-Typ" - "mehrzeilig" und anschließend vielleicht noch "Textzeilen enden mit" ?
... und genau da liegt der

Punkt. Ich habe alles auf "Allgemein" → "Text-Typ" - "mehrzeilig" und anschließend noch "Textzeilen enden mit" in den gegebenen Varianten. Keine Chance, das will einfach nicht umbrechen. Siehe Anhang.
LG
Sonya