Neuigkeiten:

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

Mobiles Hauptmenü

Formular mit zwei Kombinationsfeldern

Begonnen von PeteTheBeat, September 09, 2021, 13:55:26

⏪ vorheriges - nächstes ⏩

PeteTheBeat

Moin , ich bin recht neu in Access. Die vorab als Entschuldigung. :)

ich habe ein Formular in dem zwei mal ein Kombinationfeld auftaucht.
Einmal für Mitarbeiter 1 und einmal für Mitarbeiter 2.
Ich suche in dem Kombinationsfeld die Nr. und dann wird der entsprechende Mitarbeiter in zwei Textfeldern ( Name und Vorname) ausgegeben. Die Daten kommen aus der Tabelle Personalliste. Soweit so gut.

Es gelingt mir leider nicht das zweite Kombinationsfeld oder die anderen beiden Textfelder für Mitarbeiter 2 so einzustellen, dass mir dort die Daten aus der Persoliste angezeigt werden.
Im Moment werden dort immer die Daten aus Mitarbeiter 1 angezeigt.

Gibt es da eine Möglichkeit?
Ich möchte ja nicht extra eine zweite Persoliste anlegen.

DF6GL

Hallo,

zeige mal, wie die (gebundenen?) Kombifelder aufgebaut sind (Datensatzherkunft,Spaltenanzahl, etc.) und wie die Mitarbeiternamen an die dazugehörenden Textfeldern übergeben werden.

PeteTheBeat

#2
meist du so ?
SELECT [tbl_Personal_Liste].[Personal Nr], [tbl_Personal_Liste].[Name], [tbl_Personal_Liste].[Vorname] FROM tbl_Personal_Liste;
Mein Problem ist, dass ich aus der tbl_Personal_liste übergebe.
Sowohl bei Comb 1 (Mitarbeiter_fk) und bei Comb 2 (Mitarbeiter_2_fk) .

Leider schreibt mir Access immer die Auswahl der Comb 1 in den Textfelder der Comb 2

DF6GL

#3
Hallo,

ja, und wie werden die Namen an die Textfelder übergeben?

Es ist unklar, ob es sich hierbei um gebundene Felder handelt, die ihre Daten aus der Datenherkunft (Tabelle) des Formulars beziehen oder ob den Textfeldern die Namen aus der Kombifeld-Liste übergeben werden.

btw:  Vermeide dringend reservierte Wörter ("Name")  und Sonder- und Leerzeichen in Objektnamen.

PeteTheBeat

Wie die Namen übergeben werden ?
Was genau meinst du damit ?

Da hatte mich Access gefragt aus welcher Tabelle die kommen sollen. tbl_personal_liste
Leider nur bei comb 1

DF6GL

Hallo,

lad die DB-Datei mal hier hoch,  komprimiert/repariert und gezippt...

PeteTheBeat

hallo , habe ich vergessen  ;D
wie sage ich bzw wo. den zweiten Textfeldern , dass sie die Daten aus Combo 2 nehmen .
Hochladen ? Das geht nicht so ohne weiteres

DF6GL

Hallo,


ZitatDas geht nicht so ohne weiteres
warum?




Eine von mehreren Möglichkeiten:

Textfeld1 Steuerelementinhalt :  =  Mitarbeiter_fk.Column(1)
Textfeld2 Steuerelementinhalt :  =  Mitarbeiter_fk.Column(2)

Textfeld3 Steuerelementinhalt :  =  Mitarbeiter_2_fk.Column(1)
Textfeld4 Steuerelementinhalt :  =  Mitarbeiter_2_fk.Column(2)

PeteTheBeat

#8
Weil da Echtdaten drin sind ...

ich habe jetzt mal
=  Mitarbeiter_2_fk.Column(1) bzw (2)
eingetragen

PeteTheBeat

Es gibt nur eine tbl_personal_liste
Ist das evtl. das Problem ?

PhilS

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

PeteTheBeat


PhilS

Zitat von: PeteTheBeat am September 09, 2021, 16:13:48Was genau meinst du ?
Steuerelementinhalt von deinem zweiten Kombinationsfeld sollte exakt Mitarbeiter_2_fk lauten.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Hallo Pete,
Nein, auf keinen Fall. Das Problem sind nummerierte Felder, -
Fahrzeug_2_fk oder Mitarbeiter_2_fk.
Diese löst man mit einer n:m-Tabelle auf. Diese bekommt einen PK, wie jede
andere Tabelle auch, und dann zwei Felder für den FK, den man nicht sieht 
(Name der Tabelle ist auch nicht zu sehen) und den Mitarbeiter-FK. Ein ab-
straktes Beispiel siehe Anlage.
So eine Tabelle brauchst du sowohl für die MA als auch für die Fahrzeuge.
Formularmässig stellt sich das dann so dar, dass du ein HFo mit der nicht
sichtbaren Entität als DS-Herkunft hast, und für MA und Fahrzeuge jeweils
ein UFo auf Basis der entsprechenden n:m.
Dazu ein Beispiel anbei. Entität_N entspricht dabei deiner Tabelle, deren
Namen man nicht sieht; - M1 und M2 entsprechen MA/Fahrzeuge.

Das ganze beudeutet dann, dass du für jeden MA/jedes Fahrzeug einen
DS in den n:m-Tabellen hast. In den UFo gibt es jeweils ein Kombi (basie-
rend auf den Stammtabellen) für den MA_fk bzw. den Fahrzeug_fk. 
Damit hast du i.Ü. auch die Möglichkeit, ohne Änderungen an Abfragen
und Formlaren vornehmen zu müssen, mehr als zwei MA/Fahrzeuge
der einen N-Entität zuzuordnen. Und falls es mal nur einer/eines ist hast
du kein leeres Feld.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
wenn Du schon eine PersonalID hast, so sollte diese auch Primärschlüssel sein und darüber auch die Beziehungen laufen.
Ansonsten wäre dann PersonalID überflüssig.
Auf Leer und andere Sonderzeichen solltest Du verzichten.

Wozu werden hier 2 Mitarbeiter gespeichert, ist das Fahrer und Beifahrer ?
Wieso gibt es auch einen FS zum Fahrzeug mit ..._2 ?
Gruß Klaus