Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Problem mit UFo

Begonnen von Aggro600, Januar 22, 2019, 08:25:18

⏪ vorheriges - nächstes ⏩

MzKlMu

Hallo,
Du brauchst 2 n:m Beziehungen. Einmal als reine Zuordnungstabelle welcher Bezirkt welchen Hausherr hat. Da gibt es nur ein FS Feld zum Bezirk und ein FS Feld zum Hausherr. Das ist völlig unabhängig von der Dateneingabe.
Wie sonst willst Du für die spätere Datenerfassung sicherstellen, dass nur gültige Kombinationen ausgewählt werden können ?

Beider Datenerfassung (in der jetzigen Tabelle) wählst Du dann den Haussherren und mit Hilfe der neuen Zuordnungstabelle den zum Hausherren gültigen Bezirk (über ein abhängiges Kombi).
Eine andere Lösung sehe ich da nicht.
Gruß Klaus

Beaker s.a.

Hallo Klaus,
ZitatEine andere Lösung sehe ich da nicht.
Verstehe ich nicht; - mit einer n:m ist die Reihenfolge doch egal.
Er hat nun mal einen Bezirk, und zu diesem will er die Hausherren
zuordnen, - später.
Da hätte ich ein HFo für die Bezirke und die Hausherren können
im UFo (n:m) eingetragen werden. Oder eben anders rum; - HFo
Hausherren, im UFo die Zuordnung zu den Bezirken.
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,
@ekkehard
Er will doch aber nur zu einem Bezirk gültige Hausherren zuweisen können. Und das muss ja völlig unabhängig von der späteren Dateneingabetabelle sein (jetzige n:m) sonst kann ja bei der Dateneingabe eine willkürliche Zuweisung gemacht werden. Zu einem Bezirk irgendein Hausherr und das darf nicht sein.
Gruß Klaus

Beaker s.a.

Hallo,
@Klaus
"gültig" hatte ich überlesen.

@aggro600
Aber dann beisst sich die Katze in den Schwanz  ;)
Gültig werden die ja erst wenn denen vorher ein Bezirk
zugeordnet wird. Da hat Klaus dann schon recht.

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)

Lachtaube

Hallo Aggro699,

um das zu erzielen, muss man das Datenmodell auf den Kopf stellen und die Hausherr-Id zu unterst ansiedeln. Anbei ein kleines (nicht perfektes) Beispie.l
Grüße von der (⌒▽⌒)

Aggro600

Zitat von: Beaker s.a. am Januar 22, 2019, 18:18:20
Hallo,
@Klaus
"gültig" hatte ich überlesen.

@aggro600
Aber dann beisst sich die Katze in den Schwanz  ;)
Gültig werden die ja erst wenn denen vorher ein Bezirk
zugeordnet wird. Da hat Klaus dann schon recht.

gruss ekkehard

Genau das will ich ja.
Meine Baustelle -> Ich gebe die Bezirke ein -> Wenn der Hausherr fest steht, trage ich die Person neben dem Bezirk ein und zwar nur wenn die Person zu dem Bezirk gehört.


Zitat von: Lachtaube am Januar 22, 2019, 20:24:49
Hallo Aggro699,

um das zu erzielen, muss man das Datenmodell auf den Kopf stellen und die Hausherr-Id zu unterst ansiedeln. Anbei ein kleines (nicht perfektes) Beispie.l
Dabei geht jetzt aber wieder nur ein Hausherr oder übersehe ich da was?


Hier mal mein aktueller Stand:

Nachname ist das cboLstHausherr_id_f

Private Sub cboLstHausherr_id_f_LostFocus()
Dim strSQL As String
strSQL = "Select LstHausherrID, Nachname, Vorname From tblLstHausherr"
Me.cboLstHausherr_id_f.RowSource = strSQL
Me.cboLstHausherr_id_f.Requery
End Sub


Private Sub cboLstHausherr_id_f_GotFocus()
Dim strSQL As String
strSQL = "Select LstHausherrID, Nachname, Vorname From tblLstHausherr Where Bezirk_Lst_f_2 = '" & Me.cboBezirk_Lst_f & "'"
Me.cboLstHausherr_id_f.RowSource = strSQL
Me.cboLstHausherr_id_f.Requery
End Sub


Hier ist mein Problem: Sobald die RowSource angepasst wird, sind die anderen Felder dieser SPALTE (Nachname aka cboLstHausherr_id_f) leer. Um das zu verhindern muss ich die RowSource wieder so anpassen das ALLE Hausherren drin sind.
Und die Hausherren haben kein Abhänigkeit zum Bezirk. Ich kann das Kombi auf "Nur Listeneinträge" setzen, finde das aber recht unschön.

Aggro600

Zitat von: MzKlMu am Januar 22, 2019, 15:43:40
Hallo,
Du brauchst 2 n:m Beziehungen. Einmal als reine Zuordnungstabelle welcher Bezirkt welchen Hausherr hat. Da gibt es nur ein FS Feld zum Bezirk und ein FS Feld zum Hausherr. Das ist völlig unabhängig von der Dateneingabe.
Wie sonst willst Du für die spätere Datenerfassung sicherstellen, dass nur gültige Kombinationen ausgewählt werden können ?

Beider Datenerfassung (in der jetzigen Tabelle) wählst Du dann den Haussherren und mit Hilfe der neuen Zuordnungstabelle den zum Hausherren gültigen Bezirk (über ein abhängiges Kombi).
Eine andere Lösung sehe ich da nicht.

Die Hausherren sind aber 1:N zum Bezirk und nicht N:M.


MzKlMu

Hallo,
Du hast meine Antwort nicht verstanden. Du brauchst extra n:m Tabellen zur Abbildung der Abhängigkeit.
Gruß Klaus

Aggro600

Zitat von: MzKlMu am Januar 23, 2019, 09:14:34
Hallo,
Du hast meine Antwort nicht verstanden. Du brauchst extra n:m Tabellen zur Abbildung der Abhängigkeit.
Also so, wenn ich dich richtig verstanden habe?
Wie mach ich es denn, dass ich den Bezug zur Baustelle habe?

MzKlMu

Hallo,
nicht ganz, siehe Bild.

Ich würde auch keine zusammengesetzten Primärschlüssel verwenden, mache das Feld "Baustelle_LstWerkstatt_ID" zum PS. Für die beiden jetzigen Felder für den PS legst Du einen zusammengesetzten eindeutigen Index an.

Völlig unabhängig davon bleibt aber das Problem mit dem abhängigen Kombi und dem leeren Kombi. Das ist generell so und hat mit den n:m Tabellen nichts zu tun. Da hilft nur ein Trick. Hole den Klartext für Feld das Du sehen willst per Abfrage und mache das Kombi so schmal dass man nur den Pfeil sieht. Das Feld mit dem Klartext legst Du direkt neben das Kombi.
Das hört sich nur kompliziert an, wenn man es verstanden hat ist es einfach.
Das kriegen wir dann.
Gruß Klaus

Aggro600

#25
Ich habe deine Änderungen übernommen.
Da ich in tblBaustelle_Bezirk_Lst keinen zusammengesetzten PS mehr habe, kann ich den selben Bezirk öfter für eine Bauselle eintragen. Das mache ich später wieder rückgänig.

Nunja jetzt habe ich aber immer noch nicht was ich wollte.
Ich MUSS jetzt direkt den Hausherren eintragen und habe noch immer keine Abhänigkeit zum Bezirk.

Der Screenshot zeigt die Abfrage meines Ufos und der Markierte Teil ist der, wo ich das Kombi habe um den Hausheeren einzutragen.

MzKlMu

Hallo,
das Kombi muss auf einer Abfrage beruhen mit der Tabelle XtblBez_Haush und der Tabelle Hausherr. Das Kombi muss über den gewählten Bezirk gefiltert werden.

Das mache ich später wieder rückgänig.Nein, nicht rückgängig machen. Wie ich bereits geschrieben habe, einen eindeutigen zusammengesetzten Index anlegen. Der erfüllt den gleichen Zweck ist aber kein PS.

Wenn Du nicht klar kommst, erstelle ein Beispiel und lade es hier hoch.

Gruß Klaus

Aggro600

#27
Zitat von: MzKlMu am Januar 23, 2019, 13:14:04

Wenn Du nicht klar kommst, erstelle ein Beispiel und lade es hier hoch.

Ich wusste nicht wie ich Fe und Be wieder zu einer mache. Beim klicken auf konvertieren in Lokale Tabelle hat er gemeckert deswegen musst du wahrscheinlich den Pfad anpassen

MzKlMu

Hallo,
erstelle ein extra Beispiel und importieren die Tabellen.
Das Beispiel benötigt nur die relevanten Teile.
Gruß Klaus

Aggro600

Zitat von: MzKlMu am Januar 23, 2019, 15:02:53
Hallo,
erstelle ein extra Beispiel und importieren die Tabellen.
Das Beispiel benötigt nur die relevanten Teile.

So jetzt sollte es klappen.

tblBezirk_Lst_LstHausherr, ist die die vorher xtblBez_Haush hieß, also die die ich neu machen sollte.