3.8k Aufrufe
Gefragt in Datenbanken von
ich möchte ein Formular erstellen, in der ich zugriff auf eine Personaltabelle habe und dieses Personal als Team dann zusammenstellen kann.
Mein Problem ist, dass wenn ich mit dem Assistenten arbeite, kann ich nur 1x die LfdNr aus der Personaltabelle entnehmen. ich brauche aber eine lösung für folgendes Ereignis:
P = Personal

Formular soll dann so aussehen:
P1 P2 P3 P4 P5 P6 ORT TAG

P soll jeweils Daten aus der Tabelle personal entnehmen aber es klappt nicht, da dann in P1 - P6 immer die gleichen mitarbeiter stehen.
was mach ich falsch?

6 Antworten

0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Meckenheimer,

auch wenn deine Angaben etwas dürftig sind, hier mal ein Ansatz, wobei ich noch ein paar Voraussetzungen aufnehme.

1. Die Anzahl der Personen in einer Gruppe haben eine definierte Obergrenze (sagen wir mal 10)
2. ich berücksichtige nicht eine Überschneidung von Gruppe(nmitglieder) und Tag
3. Gruppen bilden keine feste Einheit, die man wieder verwenden will
4. in diesem einfachen Ansatz eine gewissen Anwenderkompetenz (doppelte Auswahl eines Mitarbeiters ist hier moglich)

Dann gehe folgendermaßen vor:

1. Erstelle eine Tabelle (Gruppe) mit 10 Personenfelder (wie auch immer du die referenzieren willst (ID oder Namen), Ort und Tag
2. Erstelle ein Formular mit 10 Comboboxen, in denen du die Datensatzherkunft auf deine Personaltabelle setzt und den Steuerelementinhalt jeweils auf die Felder der Tabelle Gruppe verweisen.
3. Tag und Ort noch dazu
4. das Ganze als Datenblattformular abgespeichert sollte als erster Ansatz für einen Test genügen.

Was hälst du davon?

Gruß
Ralf
0 Punkte
Beantwortet von meckenheimer Einsteiger_in (15 Punkte)
Erst mal ein dickes dickes danke!!!

Das hat an sich geklappt, allerdings kann ich mit dem erstellten Formular keine neuen Datensätze speichern.

ich versuche eigentlich doch nur, ein Formular zu erstellen, welches werte aus verschiedenne Tabelle nimmt und das endresultat in einer seperaten Tabelle speichern kann

BSP:
FORMULAR planung

Datum T1 T2 T3 T4 T5 T6 Zeit Kunde Ort
Eingabe Liste Liste Liste Liste Liste Liste Liste Liste Liste
[]<-neue Tabellenzeile

wenn neue zeile (oder wie bekannter ist eingabetaste am Formularende gedrückt wird, sollen die aus dem Formular generierten Werte in einer seperaten Tabelle (arbeiten) gespeichert werden.

Info: ich nutze access 2003, habe keine beziehungen gesetzt ( weiß nicht, in welchem maße die mir helfen können, bzw. wozu die gut sind) abhängigkeiten existieren auch nicht.
0 Punkte
Beantwortet von meckenheimer Einsteiger_in (15 Punkte)
beispiel meiner "gedachten beziehungen"

www.s225525087.online.de/joom8/Clip.jpg

www.s225525087.online.de/joom8/Clip2.jpg

Was mache ich nur Falsch?? ich finde auch keinerlei Vorlagen, die dieses doch eigentlich Datenbanktaugliche Projekt aufgreifen..
0 Punkte
Beantwortet von lorf55 Mitglied (699 Punkte)
Hallo Meckenheimer,
vielleicht versuchen wir erstmal deine Daten zu ordnen. Das Ziel soll eine Liste Termine sein, die Datum, Ort, Zeit und Kunden dem Personal zuordnet.
Also könnte die Tabelle MTermine so aussehen:
[list]TerminID als Autowert = Primärschlüssel
Datum als Datum/Uhrzeit
Uhrzeit als Datum/Uhrzeit
Ort als Text
KundenID long integer (enthält Primärschlüssel aus der Kundentabelle)
PersonalID als long integer (enthält Primärschlüssel aus der Personaltabelle)[/list]
Die Tabelle MPersonal könnte so aussehen:
[list]PersonalID als Autowert = Primärschlüssel
PersonalNr als Text
Name als Text[/list]
Die Tabelle MKunden könnte so aussehen:
[list]KundenID als Autowert = Primärschlüssel
Kundenname als Text[/list]
Damit ist alles noch recht überschaubar.
Jetzt füllst du diese Tabellen mit ein paar passenden Daten.
Danach klickst du auf Abfrage - Neu - Entwurfsansicht OK - Schließen -SQL und fügst den folgenden Text ein:
SELECT MPersonal.Name, MKunden.Kundenname, MTermine.Datum, MTermine.Uhrzeit
FROM MPersonal
INNER JOIN (MKunden
INNER JOIN MTermine
ON MKunden.KundenID = MTermine.KundenID)
ON MPersonal.PersonalID = MTermine.PersonalID;

und klickst denn auf den Ansichtknopf (links neben dem Diskettensymbol, unter dem Menü "Datei")
und erhältst denn deine Terminübersicht. das kannst du speichern, z.B. als MTerminAbfrage

OK, das ist noch kein Formular. Aber wenn die Daten nicht klar sind,
brauchen wir über ein Formular nicht nachzudenken (finde ich).

Wir können allerdings ein Formular draus machen, indem wir diese
Abfrage als Grundlage für ein Formular nehmen. Einfach beim Start
unten im leeren Feld die Abfrage statt einer Tabelle auswählen.

Man kann aus der Abfrage auch eine Tabellenerstellungsabfrage
machen: Abfrage auswählen - Entwurf anklicken,
denn im Menü Abfrage - Tabellenerstellungsabfrage auswählen,
einen passenden Namen als neuen Tabellennamen wählen
und das Ganze unter Datei - Speichern unter ... unter einem neuen
Abfragenamen, z.B. MTerminAbfrageInDatei speichern. Wenn du
denn MTerminAbfrageInDatei doppelt anklickst, werden deine
Termine in die Datei geschrieben.
Diese Abfrage kann man auch wieder im Formular über einen Button ausführen:
Button auswählen, Diverse, Abfrage ausführen, Weiter, MTerminAbfrageInDatei auswählen, Fertig stellen.

Ich sehe gerade, dass ich "Ort" in MTerminAbfrage vergessen habe.
LinksKlick auf Ort und in freies Feld ziehen, speichern, fertig.

Naja, usw usf.
Ich hoffe, du kannst damit was anfangen. Ist vielleicht etwas heftig für einen Bestatter.

Gruß
lorf
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Meckenheimer,

ich habe mir deine zwei jgps angeschaut und das sieht doch gar nicht so schlecht aus. Noch mal zum Verständnis, deine Eingaben sollen in die Tabelle PLANUNG gespeichert werden. Falls dies so ist:

1. das Feld ID in der Tabelle PLANUNG ist dein "primary key"?
2. Warum ist ID kein Eingabefeld (oder ist es ein autowert)?
3. sind sonst irgendwelche Eigenschaften bei den Feldern gesetzt (null erlaubt etc)?

Ein Tipp: Ändere dein Formular in ein Endlosformular, dann hast du die Daten besser im Überblick.

Gruß
Ralf
0 Punkte
Beantwortet von meckenheimer Einsteiger_in (15 Punkte)
Erst einmal vielen Dank für die Lösung meines Problems...

Naja, usw usf.
Ich hoffe, du kannst damit was anfangen. Ist vielleicht etwas heftig für einen Bestatter.

Gruß
lorf

ich bin nicht nur Bestatter. Ich habe als nebenberuflicher Webdesigner schon auch noch mit SQL zu tun, allerdings ist mein Boss der Meinung es unbedingt mit Access haben zu wollen und verzichtet auf CRM-systeme, die ich sehr gut kenne. bei Access stört mich halt die fehlende scource programmierung, so dass ich nicht "handmade" das erzielen kann, was ich will.
mit einer lösung auf Basis von Joomla wär ich schon dreimal durch, aber Access kommt mit fehlern, die ich so garnicht verstehe..
Aber mein Dad (der Bestatter aus Leib und Seele muss sich ja nciht sein Leben lang mit der Schreibmaschiene rumschlagen- will aber nicht online die termine verwalten lassen [mit personal-mailer-liste, usw.])

Gruß Meckenheimer

kann geschlossen werden
...