Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Neue Tabelle in eine bestehende Formularansicht einfügen

Begonnen von Frangender1234, April 30, 2012, 10:10:55

⏪ vorheriges - nächstes ⏩

Frangender1234

Hallöchen,

ich bin neu hier und beschäftige mich seit ein paar Wochen mit Access.

Ist zwar noch alles sehr müßig und schwer für mich, möchte aber Access weiter vertiefen.

Ich habe da derzeit ein Problem, wo ich nicht weiter komme.

Ich habe mir eine Mini-Datenbank zu Versuchtszwecken aufgebaut.

Die Tabellen dafür heißen z. B.

1. Tabelle: Titel, Andrede, Vorname, Nachname
2. Tabelle: Private Adresse
3. Tabelle: Adresse von der Arbeitstelle
4. Tabelle: Utensilien, die bei mir gelagert sind (z. B. Schraubendreher oder Zange) mit Datum der Einlagerung und möglichen Ablaufdatum

Alle Tabellen haben von mir einen Primärschlüssel erhalten über die ich eine 1:1 Beziehung gemacht habe.

Nachdem ich auch noch ein Formular zur Eingabe erstellt habe und das auch abgespeichert hatte, viel mir ein, dass bei den einzulagernden Utensilien ja hunderte Möglichkeiten gegeben sind und ich meine gelesen zu haben, dass man maximal 255 Spalten in ein Tabellenblatt einfügen kann.

Da ich mir nun meine Arbeit von zwei Wochen nicht unbedingt löschen möchte, hätte ich die Idee, eine weitere Tabelle zu erstellen mit dem Namen der ersten Tabelle der Utensilien, also Utensilien1, aber da würde ich dann Utensilien2 schreiben.

Bei den ersten Versuchen, diese dann mit in mein Formular reinzupacken, bin ich gescheitert.

Was habe ich falsch gemacht bzw. was muss ich machen, damit ich das Formular nicht neu erstellen muss...

Vielen Dank.

Gruß

Frangender1234 (sollte eigentlich Fragender heißen LOL)

Nachdem ich auch noch ein schönes Eingabeformular für mich erstellt habe, wo ich z. B. in den Utensilie

DF6GL

Hallo und Willkommen im Forum,


gleich zu Anfang:  Bevor Du weitermachst, beschäftige Dich intensiv mit den Grundlagen des Tabellenaufbaus (Normalisierung, Benamsung, Indizierung, Relationen (Beziehungen) )


In meiner Signatur findest Du ein paar weiterführende Links zu diesem Thema.


Konkret:  Erst mal sollte ein Konzept ( Beschreibung der Aufgabe der DB) erstellt werden. Danach erfolgt eine Datenanalyse, um festzustellen, welche vorhandenen Daten überhaupt gebraucht werden, welche Daten fehlen und welche Daten im Verlauf der DB-Bearbeitung als Ergebnis erwartet werden.

Nach der Normalsierung der Daten (essentiell!!) können die zugehörenden Tabellen erstellt und in Bezeihung zueinander gesetzt werden.

(1:1-Beziehung ist fragwürdig und in den meisten Fällen nicht erforderlich, sogar falsch. Es gibt Ausnahmen, die aber relativ selten auftauchen.)



Dann, und erst dann sollten die Datenstrukturen mittels Formularen (für Bearbeitungen) und Berichten (für Ausgabe, bzw. Analysen) visualisiert werden.



"dass man maximal 255 Spalten in ein Tabellenblatt einfügen "  genau dieses Vorhaben zeit eine falsche Tabellenstruktur (fehlende Normalisierung) auf.

" damit ich das Formular nicht neu erstellen muss..."   befürchte , dass es einfacher ist, das Formular wegzzuwerfen und wie oben beschrieben erst die Tabellenstruktur auf Vordermann zu bringen.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Frangender1234

Danke für die Willkommensgrüße, habe mich sehr darüber gefreut.

Ok, ich habe mir schon so was ähnliches gedacht.

Mein Problem ist jetzt aber, dass ich schon so einige Dinge über die Access-Datenbanken gelesen habe, es aber irgendwie nicht begreife, was dort steht - zwei Deiner klasse Links kenne ich nämlich schon.....

Ich habe z. B. nicht verstanden, was eine n:m Beziehung oder eine 1:n Beziehung ist und wann ich welche Beziehung erstelle. Wie ich Beziehungen mache, habe ich durch die Accesshilfe schon hin bekommen.

Ich habe versucht die Beispiele "nachzuarbeiten" doch ist das sehr in die Hose gegangen. Nichts hat geklappt....ich wollte es eigentlich schon aufgeben und alles weiter in ein Buch schreiben, doch im Zeitalter der Automation wäre das schon sehr schade....

Ich habe gerade gelesen, dass es auch Unterformulare gibt....kann mein Vorhaben denn dann so klappen?

Danke und Gruß

Frangender1234

DF6GL

Hallo,


nun, wie gesagt, ohne die Anwendung der Normalisierung wird eine DB nicht so einfach zu erstellen sein, zumindest nicht so, dass sie sich verhält , wie man es von ihr erwartet...

Wie gesagt: Am Anfang steht die richtige Definition der Datenzusammenhänge...


Beispiel  (Zuordnung von Werkzeugen aus einem Werkzeugpool an bestimmte Abteilungen) für eine 1:n bzw. n:m--Beziehung was ja eigentlich nur zwei 1:n-Beziehungen sind.



tblAbteilungen  (beinhaltet alle vorhandenen Abteilungen z. B. einer Firma)

AbtID (Primärschlüssel, Autowert)
Abt_Name (Text)
Abt_Nr (Zahl,Long)
.
.
.


tblWerkzeuge  (beinhaltet alle verfügbaren Werkzeuge)
WZID  (Primärschlüssel, Autowert)
WZ_Bezeichnung (Text)
WZ_WZKatID ( Zahl, Long, Fremdschlüssel zu tblWerkzeugkategorie)
WZ_DIN (Text)
.
.


tblAbteilungsWerkzeuge  (Zuordnung von Werkzeugen an bestimmte Abteilungen (--> Werkzeugausgabe)

AbtWZID (Primärschlüssel, Autowert)
AbtWZ_AbtID (Zahl, Long)
AbtWZ_WZID (Zahl, Long)
AbtWZ_Menge (Zahl, Long)
AbtWZ_Notiz
.
.

tblWerkzeugKategorie
WZKatID
WZKat_Bezeichnung
.
.
.



Beziehungen:


tblWerkzeugKategorie                    tblWerkzeuge              tblAbteilungsWerkzeuge           tblAbteilungen

     WZKatID      -----------1:n---------WZ_WZKatID
                                                        WZKatID   --------1:n---------AbtWZ_WZID
                                                                                                   AbtWZ_AbtID  --------n:1-----AbtID



Beschreib doch mal, was die DB so alles können soll....d. h. welche Tätgkeitsabläufe oder sonstige Verhältnisse Du mit der DB abbilden willst .

Aus Deinen 4 Tabellen erahne ich nur, das es sich um eine Art Werkzeuglager-Verwaltung handeln könnte....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Frangender1234

Hallo,

nun, was will ich mit dieser Datenbank....

Du hast es zum Teil schon "erraten". Ich möchte für "meine Hobbywerkstatt" alle Werkzeuge auflisten, die ich habe, bzw. die ich geliehen oder auch verliehen habe, deswegen auch ein Anfangs- und ein Enddatum.

Ich möchte nicht soooo viel mit der Datenbank machen. Hier oder da soll die Datenbank mir anzeigen, dass z. B. ein Ausleidatum überschritten ist oder ich möchte dort Word-Vorlagen rein machen, die sich nach Aufruf irgendwie füllen....

Ich denke, dass was Du für diese Datenbank vorhast, ist schon zu tiefgründig für mich. Das übersteigt mein Wissen um ein Vielfaches. Brauche diese Datenbank ja nur um meine Termin zu verwalten und zu sehen, wo die einzelnen Werkzeuge gerade sind.

Ich bin nämlich - so kommt es mir langsam vor - so wie Mutter Theresa....ich verleihe und irgendwie kommt nie was zurück. So kann ich bei Aufruf immer sehen, wo sich gerade mein Werkzeug befindet bzw. wem ich noch Werkzeug schuldig bin.

Danke für Deine Hilfestellung!!

DF6GL

#5
Hallo,

es ist egal, WIE VIEL Du mit der DB machen willst.  Das, was Du machen willst, muss eine vernünftige und gut strukturierte Datenbasis haben, sonst brichst Du Dir dabei die Ohren ab...

Auch wenn es jetzt (am Anfang) für Dich unverständlich sein sollte, ein Nicht-Funktionieren hinterher ist noch viel unverständlicher , bzw. nicht mehr behandelbar.


"Brauche diese Datenbank ja nur um meine Termin zu verwalten und zu sehen, wo die einzelnen Werkzeuge gerade sind."



was heißt das genau?  Was sind das für Termine? (Eine richtig funktionierende Terminverwaltung ist nicht ohne!)



Eine Ausleih-Verwaltung ist wiederum eine andere Sache , Wobei wir schon bei der 2. Augabe der Db stehen...




"....ich verleihe und irgendwie kommt nie was zurück"

das kenn ich auch ;-)


"wo sich gerade mein Werkzeug befindet bzw. wem ich noch Werkzeug schuldig bin."

Heißt das, Du verleihst Dein Werkzeug an Andere und leihst Dir auch welches von Anderen aus? Beides soll in der DB verwaltet werden?

"ich möchte dort Word-Vorlagen rein machen, die sich nach Aufruf irgendwie füllen"

"irgendwie" füllen die sich nicht, das mußt Du programmieren, sprich Word fernsteuern (automatisieren), was auch einige Kenntnisse in VBA-Programmierung und am Word-Objekt-Modell voraussetzt.  Das würde ich jetzt aber erst mal etwas zurückstellen.

"zu tiefgründig "   mhmm, wenn die 4 Tabellen schon zuviel sind, sehe ich aber ein bisschen Schwarz für eine Erfolgsaussicht..  


Als Vorschlag zu einem Datenmodell für die Ausleihung Deines Werkzeugs an Andere und die Anleihe fremden Werkzeugs von Anderen (als Minimum an Tabellen zu verstehen):

tblWerkzeuge (beinhaltet alle Werkzeuge, also die Deinigen UND die der Kunden, die Du von denen ausleihen willst)
WZKID (PK,Autowert)
WZK_WAID (FK, Long ,zu tblWerkzeugarten)
WZK_Bez (Text)
WZK_Größe (Text)    (möglicherweise weiter aufzudröseln)
WZK_Hersteller (Text) (möglicherweise weiter aufzudröseln)
WKZ_Nr  (Text)
.
.


tblWerkzeugArten
WAID (PK,Autowert)
WA_Bez (Text)



tblKunden
KUID (PK,Autowert)
KU_Nachname (Text)
KU_Vorname (Text)
KU_Ort (Text)
KU_Strasse (Text)
KU_TelNr (Text)
.
.


tblAusleihungen
ALID (PK, Autowert)
AL_WKZID (FK,Zahl,Long, zu tblWerkzeuge)
AL_KUID (FK,Zahl,Long, zu tblKunden)
AL_Menge    (positiv:  Abgabe an Kunden, negativ: Rückgabe vom Kunden)
Al_BuchDatum (Datum/Uhrzeit)
AL_angeliehen (Ja/Nein,  definiert Verleih an Kunden eigenes Werkzeug, bzw. Anleihe von Kunden fremdes Werkzeug)
.
.
.

Dazu später entspr. aufgebaute Formulare (z. B. EinzelForm für Werkzeug mit eingebauten Endlos-Unterformular mit Basis zu tblAusleihungen)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access