🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Hilfe! Tabelle im Formular+Filter anlegen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Berzstein
Beiträge: 9
Registriert: Mi 5. Feb 2014, 13:30

Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von Berzstein » Mi 5. Feb 2014, 13:46

Hallo,

leider habe ich seit stundenlangem googlen noch immer keine Lösung gefunden, daher schreib ich nun diesen Beitrag.
Ich habe ein Bild im Anhang hochgeladen damit ihr seht wie das Formular aussieht.

Ich habe eine Mitarbeiter Formular wo ich Mitarbeiter eintragen möchte, darauf möchte ich dann im gleichen Formular
die zugehörige Adresse suchen können und auswählen können. Nach der Auswahl soll die Adressen_ID automatisch in der Mitarbeiter
Tabelle eingetragen sein, sowie in der Adressen Tabelle die Mitarbeiter_ID, falls die Adresse nicht vorhanden war soll man sie über eine
direkte Eingabe eingeben können.

Leider schaff ich es nur mit dem Formular Navigator eine Tabelle reinzuziehen, dann eine SubForm zu benennen, das der Inhalt aus der Adressen Tabelle
sein soll und dann habe ich dadrüber noch entsprechende Buttons gemacht aber ich habe ehrlich gesagt keine Ahnung wie ich weiter verfahren soll (welche Makros etc.)

Daher wollt ich fragen ob jemand eine Lösung für das Problem hätte oder ein paar Tipps wie ich dieses bewältigen könnte, ich muss dazu sagen das ich ganz neu im Thema bin und auch noch nicht wirklich mit den Makros klar komme.

Falls noch weitere Fragen zum Formular sind bitte einfach fragen, danke im Vorraus!

Mit freundlichen Grüßen
Berzstein
Dateianhänge
Formular
Formular
Unbenannt.JPG (54.34 KiB) 5605 mal betrachtet

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von RobertG » Mi 5. Feb 2014, 16:01

Hallo Berzstein,
Berzstein hat geschrieben: Ich habe eine Mitarbeiter Formular wo ich Mitarbeiter eintragen möchte, darauf möchte ich dann im gleichen Formular
die zugehörige Adresse suchen können und auswählen können. Nach der Auswahl soll die Adressen_ID automatisch in der Mitarbeiter
Tabelle eingetragen sein, sowie in der Adressen Tabelle die Mitarbeiter_ID, falls die Adresse nicht vorhanden war soll man sie über eine
direkte Eingabe eingeben können.
Da liegt ein Fehler vor. Hast Du einmal versucht, so eine Tabellenverbindung unter Extras → Beziehungen zu definieren? Entweder ordnest Du Adressen Mitarbeitern zu oder Mitarbeiter Adressen - aber nicht kreuzweise. Wenn Du bereits Adressen zur Auswahl hast, dann gehe ich davon aus, dass mehreren Mitarbeitern die gleiche Adresse zugeordnet werden soll. Sonst macht das keinen Sinn. Im Formular wird so etwas auf zwei Arten gelöst:
----- Versiopn, wenn noch wenig Adressen vorhanden sind -----
Adressen im Hauptformular - dann können dort neue Adressen eingegeben werden.
Mitarbeiter im Unterformular - dann können dort mehrere Mitarbeiter einer Adresse zugeordnet werden.
----- Version, wenn schon fast alle Adressen da sind -----
Mitarbeiter im Formular
Adressen in einem Listenfeld zusammengefasst, das nur die AdressenID als Fremdschlüssel in der Tabelle Mitarbeiter abspeichert.
(Wie so eine Zusammenfassung funktioniert: Siehe Handbuch)

Sieh' Dir einmal das Handbuch, vor allem zu den Formularen, an. Vermeide erst einmal Makros. Die können das Handling zwar verbessern - aber vieles geht auch ohne und ist normalerweise besser zu begreifen.

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

Berzstein
Beiträge: 9
Registriert: Mi 5. Feb 2014, 13:30

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von Berzstein » Mo 10. Feb 2014, 10:38

Hm, Problem ist nur das ich dieses Thema derzeit in der Schule mache und der Lehrer das genau wie ich es beschrieben habe in einem FOrmular gelöst haben will..

Aber danke für deine Hilfe!

mfg
Berzstein

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von RobertG » Mo 10. Feb 2014, 16:04

Hallo Berzstein,

Du solltest wirklich klären, wie der Zusammenhang sein soll. Ich kann mir nur vorstellen, dass da etwas falsch verstanden wurde. Was Du nämlich beschreibst ist eine mögliche n:m-Beziehung. Das bedeutet: Ein Mitarbeiter kann an mehreren Stellen wohnen und mehrerer Mitarbeiter können an der gleichen Stelle wohnen.
Ich habe (bereits als Schüler) gelernt, erst einmal das zu machen, was mir sinnvoll erschien und alles andere hinten an zu packen. Mit der Einstellung bin ich trotzdem Lehrer geworden und schon so einige Zeit im Beruf.

Also: Mitarbeiter eingeben, Adressen in einem Vorrat haben, Adressen in einem Listenfeld haben und in der Mitarbeitertabelle hinzufügen. Das macht Sinn, wenn Du häufig die gleiche Adresse hast. So etwas habe ich z.B. für einen Sportverein gemacht. Da haben ganze Familien natürlich die gleiche Adresse.
Der umgekehrte Weg ist Blödsinn: MitarbeiterID in eine vorhandene Adresse einzutragen. Woher soll die Adresse kommen? Schmeiße ich da einfach jemanden aus der Wohnung und setze da einen neuen rein?

Ein Listenfeld, mit dem Du die Adresse auswählst, muss Felder zusammen anzeigen können. Der Code für so ein Feld muss also ungefähr so aussehen:

Code: Alles auswählen

SELECT "Straße"||', '||"Postleitzahl"||' '||"Ort", "ID" FROM "Adresse"
Das Feld "ID" wird dann als AdressenID in der Tabelle Mitarbeiter gespeichert.

Du kannst mir auch gerne privat eine Mail zusenden. Da muss doch irgendwo eine Beschreibung existieren. Niemand fängt schließlich eine Datenbank mit einem Formular an, sondern mit Tabellen und der Beziehungsdefinition der Tabellen zueinander. Ein Formular ist erst dann notwendig, wenn ich mehrere Tabellen bei der Eingabe miteinander verbinden will.

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

Berzstein
Beiträge: 9
Registriert: Mi 5. Feb 2014, 13:30

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von Berzstein » Mi 12. Feb 2014, 13:20

Hallo RobertG,

laut meinem Lehrer soll ich erst einmal die MitarbeiterID außen vorlassen und das Problem
mit der AdressenID behandeln.

Ja ich kann ja mal meine Datenbank hochladen für genaueres :)

Hier:
https://drive.google.com/file/d/0B4--jR ... sp=sharing

mfg
Berzstein

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von RobertG » Mi 12. Feb 2014, 13:41

Hallo Berzstein,

wenn ich die Tabellen sehe komme ich der Sache schon näher:

Du möchtest Mitarbeiter mit Filialen zuordnen. Außerdem möchtest Du die Adressen der Mitarbeiter wissen.
Eigentlich ist eine separate Adress-Tabelle nicht begründbar. Kein Mitarbeiter wird genau dort wohnen, wo die Filiale ist - es sei denn, es gibt so etwas wie eine Hausmeister-Wohnung.
Eigentlich brauchst Du also nur eine Tabelle Mitarbeiter und eine Reihe von Filialen. Du ordnest die Mitarbeiter je einer Filiale zu und das war's auch schon. Die Adressen sind Teil der Filialen-Tabelle bzw. Teil der Mitarbeiter-Tabelle. Du wirst nur im allerunwahrscheinlichsten Zufall eine Adresse in Deiner Datenbank haben, die Du einem Mitarbeiter zuordnen kannst.

Ich habe mir die Tabellen genauer angesehen. Ich schlage da noch mehr Änderungen vor:
1. Filialen + Adressen zusammen
2. Mitarbeiter + Adressen zusammen
3. "Gesuchte Mitarbeiter" raus aus "Filialen" - das Feld wird berechnet. Du schreibst doch die Mitarbeiteranzahl vor, oder? Ich nehme jedenfalls an, dass das das Feld "Mitarbeiter" sein soll. "Mitarbeiter" - Anzahl der Mitarbeiter aus der entsprechenden Tabelle, die zu der Filiale gehören, sind "Gesuchte Mitarbeiter".
4. Tabelle "Mitarbeiter", Feld "Alter" ersetzen durch "Geburtsdatum" - Du willst doch nicht laufend das Alter hoch setzen. Das Alter wird aus dem Geburtsdatum berechnet.
5. Tabelle "Mitarbeiter", "Ranghöhe". Dieses Feld hat doch etwas mit der Filiale zu tun. In den Filialen gibt es bestimmte Posten, die bestimmte Mitarbeiter versehen. Die "Ranghöhe" kann sich auch ändern. Ich würde da einen "Rang_ID" einsetzen und eine Tabelle erstellen, die die Anzahl der Mitarbeiter verwaltet. Dann kann "Mitarbeiter" auch aus "Filialen" raus, weil sich die Anzahl der Mitarbeiter aus den zu vergebenden Rängen ergibt. In so einer Tabelle steht dann Rang, Anzahl, Filial_ID. - Die Anzahl gibt die geplante Anzahl an, kann also in Abhängigkeit von den ausgegebenen Rängen wechseln.
6. Tabelle "Mitarbeiter" - "Status" in zwei separate Tabellen nehmen. In der ersten Tabelle steht "ID", "Mitarbeiter_ID", "Startdatum", "Status_ID", "Enddatum". In der zweiten steht nur "ID" und "Status" (Du wiederholst sonst laufend die Worte "verfügbar" und "krank" - wie ist es mit "Urlaub"?
7. Tabelle "Mitarbeiter", "Arbeitszeiten" - nie als von 12:00 Uhr bis 15:00 Uhr oder ähnlich aufschreiben. Damit kannst Du nicht rechnen. Beginn und Ende als Uhrzeit können das gewährleisten. Nur so kannst Du später auch nachsehen, ob jemand in der Filiale noch arbeitet. Falls die Arbeitszeiten wechseln ist auch die Frage, ob so etwas nicht in eine gesonderte Tabelle gehört.
8. Bundesland und Land gehören zusammen ausgegliedert. Wer will den laufend "NRW" - "Deutschland" schreiben. Wiederholungen in Tabellen sollten vermieden werden. Eine Tabelle "Land" mit den entsprechenden Einträgen und eine "Land_ID" in den Tabellen "Filialen" und "Mitarbeiter" würde ausreichen.

Grundlage für die Konstruktion: Die Tabelle "Filialen" und die Tabelle "Mitarbeiter" wird nur selten für eine Überarbeitung angerührt. Da werden zwar neue Datensätze eingegeben, aber sonst in der Hauptsache gesucht. Alle Informationen, die verändert werden können, werden an anderer Stelle aufgeschrieben. Bei der momentanen Konstruktion kannst Du nicht nachvollziehen, wie oft jemand krank gewesen ist, wie eine Filiale besetzt ist usw.

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

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von RobertG » Mi 12. Feb 2014, 21:53

Hallo Berzstein,

ich hänge einmal einen Anfangsentwurf und eine Weiterentwicklung an, damit Du die Richtung siehst, in der das meines Erachtens laufen sollte - bisher alles erst einmal nur in einem Formular.
Dateianhänge
Filialen.zip
Zwei Stufen einer Datenbankentwicklung Filialverwaltung
(35.44 KiB) 199-mal heruntergeladen
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

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von RobertG » Fr 14. Feb 2014, 20:36

Hallo Berzstein,

ich habe jetzt alle Bedingungen, die ich vorher beschrieben habe, einmal realisiert. Versuche zuerst einmal die Zuerst entstandenen Datenbanken zu begreifen. Die letzte Version ist von der Abfragetechnik doch schon recht kompliziert.
Schließlich geht das gesamte Vorhaben in einem einzigen Formular - incl. Filterung der Daten auch im Unterformular. Da sind sicher noch einige Verbesserungsmöglichkeiten, aber die können wir klären, wenn Du Dich wieder gemeldet hast.
Die Auslagerung von Bundesland und Land aus den Tabellen habe ich ausgelassen, weil das eigentlich recht problemlos möglich sein müsste (separate Tabelle, Fremdschlüssel in den anderen Tabellen, Listenfeld in den Formularen für Bundesland und Land.

Nachtrag 15.2. 9:00 Uhr : Ich hatte bei den Filtern vergessen, die Posten der Personen im Formular auch tatsächlich in die Filterung rein zu nehmen. Das habe ich noch eben nachgeschoben ...

Gruß

Robert
Dateianhänge
Filialen.zip
Alle fünf Stufen - Filter erweitert
(87.88 KiB) 210-mal heruntergeladen
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

Berzstein
Beiträge: 9
Registriert: Mi 5. Feb 2014, 13:30

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von Berzstein » Mi 19. Feb 2014, 14:01

Hallo RobertG,

deine Hilfe hat mich wirklich deutlich weitergebracht!:)
Ich bin grade dabei mich damit zu beschäftigen und diese Filter
bei mir so gut wie möglich zu übernehmen.

Nochmal vielen lieben Dank und ich meld mich hier nochmal, wenn es noch wo harkt.

mfg
Berzstein

Berzstein
Beiträge: 9
Registriert: Mi 5. Feb 2014, 13:30

Re: Hilfe! Tabelle im Formular+Filter anlegen

Beitrag von Berzstein » Mi 5. Mär 2014, 13:34

Hallo,

ich hätte noch eine Frage. Was genau bewirkt die Tabelle Filter_Schluessel und was steckt dahinter, also wie interagiert sie im Formular? :)

mfg
Berzstein


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.



Antworten