Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Aggro600 am Januar 22, 2019, 08:25:18

Titel: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 08:25:18
Ich habe folgende Verknüpfung gemacht. So möchte ich erreichen, das ich einer Baustelle mehrere Bezirke zuordnen kann und dann pro Bezirk einen Hausherren.

Nun habe ich ein paar Probleme:
1. Es soll möglich sein den Hausherr später einzugeben und erstmal nur die Bezirke zuzuordnen.
2. Der Hausherr muss zum Bezirk passen (Ich bekomm das mit der Abhänigkeit [Berzirk 1:N Hausherr] nicht hin.
3. Das Unterformular soll ein KombiFeld bekommen um die "LstHausherr_id_f" auszuwählen nur schaffe ich es nicht, dass nur Hausherren aus dem richtigen Bezirk angezeigt werden.

Das Ufo ist verknüpft mit BaustelleID->Baustelle_id_f
Die Abfrage für das Ufo hat aus
tblBaustelle_Bezirk = alles
tblBezirk_Lst = alles
tblLstHausherr = alles
in SQL: SELECT tblBaustelle_Bezirk_Lst.Baustelle_LstWerkstatt_ID, tblBaustelle_Bezirk_Lst.Baustelle_id_f, tblBaustelle_Bezirk_Lst.Bezirk_Lst_f, tblBaustelle_Bezirk_Lst.LstHausherr_id_f, tblBaustelle_Bezirk_Lst.Kenntnis_LST_Feinplaner, tblBezirk_Lst.Bezirk_Lst, tblBezirk_Lst.Werkstattname, tblLstHausherr.LstHausherrID, tblLstHausherr.Vorname
FROM tblBezirk_Lst INNER JOIN (tblLstHausherr INNER JOIN tblBaustelle_Bezirk_Lst ON tblLstHausherr.LstHausherrID = tblBaustelle_Bezirk_Lst.LstHausherr_id_f) ON tblBezirk_Lst.Bezirk_Lst = tblBaustelle_Bezirk_Lst.Bezirk_Lst_f;


Ich hab das gefühl das noch eine Verbindung tblBezirk_Lst.Bezirk_Lst -> tblLstHausherr.Bezirk_Lst_f da sein muss.
(https://www.ms-office-forum.net/forum/attachment.php?attachmentid=114507&d=1548106266)
Titel: Re: Problem mit UFo
Beitrag von: Lachtaube am Januar 22, 2019, 08:40:26
Hallo Aggro600,

zunächst scheint Deine Nebenbaustelle (links) falsch verknüpft zu sein. Die Beziehung muss umgekehrt aufgebaut werden.

Wenn Du nun sowohl für den Hausherrn als auch für die Werkstatt Kombifelder im Formular verwendest, braucht es gar keine UFos und Du kannst Dich auf die Nebenbaustelle konzentrieren.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 08:46:36
Zitat von: Lachtaube am Januar 22, 2019, 08:40:26
Hallo Aggro600,

zunächst scheint Deine Nebenbaustelle (links) falsch verknüpft zu sein. Die Beziehung muss umgekehrt aufgebaut werden.


tblBaustelle meinst du? Das sollte die Hauptbaustelle sein mit allen Infos. und dann N:M um die Bezirke einzuteilen.
Ohne Ufo die N:M? Ich fand das in der Datenblattansicht eingentlich ganz gut, wie hättest du es denn gemacht?
Titel: Re: Problem mit UFo
Beitrag von: Lachtaube am Januar 22, 2019, 09:21:13
Hallo Aggro600,

eine m:n-Beziehung kann ich nicht erkennen.

Ins HFo: tbl_Baustelle_Bezirk_Lst und die Felder Bezirk_Lst_f und LstHausherr_id_f in Kombifelder umwandeln, die RowSource setzen (eventuell für den Hausherrn unter Berücksichtigung von FAQ 4.15 (http://www.donkarl.com/FAQ/FAQ4Formulare.htm#4.15)) und fertisch.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 09:46:52
Zitat von: Aggro600 am Januar 22, 2019, 08:46:36
Zitat von: Lachtaube am Januar 22, 2019, 08:40:26
Hallo Aggro600,

zunächst scheint Deine Nebenbaustelle (links) falsch verknüpft zu sein. Die Beziehung muss umgekehrt aufgebaut werden.


tblBaustelle meinst du? Das sollte die Hauptbaustelle sein mit allen Infos. und dann N:M um die Bezirke einzuteilen.
Ohne Ufo die N:M? Ich fand das in der Datenblattansicht eingentlich ganz gut, wie hättest du es denn gemacht?

Es war aber mal eine N:M ich brauche für eine Baustelle mehrere Bezirke und ein Bezirk kann mehrere Baustellen haben.
Ich hab vllt schon zu viel rum gebastelt, sodass es keine N:M mehr ist, aber ich brauche eine. Die lösung alles ins HFo zu packen scheidet somit leider aus.

So sah es mal aus:
(https://www.ms-office-forum.net/forum/attachment.php?attachmentid=114484&d=1548065412)
Titel: Re: Problem mit UFo
Beitrag von: Lachtaube am Januar 22, 2019, 10:50:38
Hallo Aggro600,

hier mal ein einfaches Modell (nach dem 1.Schema).
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 11:02:56
Danke für die Mühe, dass du extra ne DB erstellt hast. Nur kann man dort pro Baustelle nur einen Bezirk zuordnen.
Titel: Re: Problem mit UFo
Beitrag von: Lachtaube am Januar 22, 2019, 11:25:49
Nun, Aggro600, das lässt sich leicht ändern.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 11:30:25
Jetzt hat aber jeder Bezirk seinen Hausherren. Sprich eine Baustelle mit 2 Bezirken hat 2 Hausherren.
Und diese sollen Abhänig vom Bezirk sein. Also das ich jemanden der eigentlich Bezirk A hat nicht B zuordnen kann. Und diese sind auch erst im nachhinein bekannt also soll es funktionieren wenn ich noch keinen Hausherr zuordne.
Ich verzweifel hier dran richtig  >:(
Titel: Re: Problem mit UFo
Beitrag von: Lachtaube am Januar 22, 2019, 12:17:59
Hi Aggro600,

dann müsste die Hausherrn-Geschichte auch im UFo angesiedelt sein.

PS: was sind das denn für komplizierte Baustellen?
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 13:10:09
Ich glaub so weit war ich iwann auch schon mal, nur fehlte mir die Abhänigkeit vom Bezirk. Kann man das da noch einbauen?
Mit Verknüpfungen habe ich schon alles versucht was mir eingefallen ist.

Die Baustellen sind noch etwas komplizierter. Da sind mehrere Fachbereich und auch deren Bezirke und Externe Firmen dran beteiligt. Wir sind halt ein großes Unternehmen.
Titel: Re: Problem mit UFo
Beitrag von: Lachtaube am Januar 22, 2019, 13:48:40
Hallo Aggro600,

das müsstest Du genauer erklären.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 13:55:50
Es ist bei uns so Bezirk A hat als mögliche Hausherren 1,2,3
und Bezirk B 4,5,6.

Jetzt soll der, der die Daten eingibt erstens nur die Hausherren aus den Bezirk sagen wir A (also 1,2,3) sehen und es soll ihm nicht möglich sein, 4,5,6 auszuwählen, da diese ja aus dem falschen Bezirk sind. Es arbeiten ja nicht alle Bezirke gleichzeitig an einer Baustelle manchmal nur einer, manchmal auch mehrere.
Titel: Re: Problem mit UFo
Beitrag von: MzKlMu am Januar 22, 2019, 15:19:45
Hallo,
Zitatund es soll ihm nicht möglich sein, 4,5,6 auszuwählen, da diese ja aus dem falschen Bezirk sind.
unabhängig von der Dateneingabe brauchst es dann erst mal eine n:m Definitionstabelle für die Zuordnung der gültigen Hausherren zum Bezirk.

Bei der Dateneingabe wird erst ein Hausherr ausgewählt und dann der Bezirk, wobei das Kombi für den Bezirk dann auf die gültigen Hausherren beschränkt werden muss.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 22, 2019, 15:30:18
Ich muss aber erst den Bezirk zuweisen und dann iwann den Hausherr.
das N:M habe ich ja für den Bezirk schon
Titel: Re: Problem mit UFo
Beitrag 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.
Titel: Re: Problem mit UFo
Beitrag von: Beaker s.a. am Januar 22, 2019, 17:07:47
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
Titel: Re: Problem mit UFo
Beitrag von: MzKlMu am Januar 22, 2019, 17:19:59
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.
Titel: Re: Problem mit UFo
Beitrag 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
Titel: Re: Problem mit UFo
Beitrag 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
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 23, 2019, 09:03:18
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.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 23, 2019, 09:13:40
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.

Titel: Re: Problem mit UFo
Beitrag 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.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 23, 2019, 10:15:53
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?
Titel: Re: Problem mit UFo
Beitrag von: MzKlMu am Januar 23, 2019, 11:01:51
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.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 23, 2019, 12:26:28
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.
Titel: Re: Problem mit UFo
Beitrag von: MzKlMu am Januar 23, 2019, 13:14:04
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.

Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 23, 2019, 13:39:20
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
Titel: Re: Problem mit UFo
Beitrag 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.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 24, 2019, 06:52:19
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.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 25, 2019, 06:18:05
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.

Klappt das mit dem neuen Beispiel?
Titel: Re: Problem mit UFo
Beitrag von: Lachtaube am Januar 25, 2019, 06:51:47
Hallo Aggro600,

nein, denn es fehlen sämtliche Beziehungen.

PS: welcher Mehr-Nutzen entsteht, wenn die Daten in SAP und auch in Access gepflegt werden.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 25, 2019, 07:18:00
Zitat von: Lachtaube am Januar 25, 2019, 06:51:47
Hallo Aggro600,

nein, denn es fehlen sämtliche Beziehungen.

PS: welcher Mehr-Nutzen entsteht, wenn die Daten in SAP und auch in Access gepflegt werden.

Beziehungen sind drin. außer die für den Hausherren hab ich mal weg gelassen.

Bei uns wird eine Baustelle aufgrund einer Meldung geplant und später kommt dann der Auftrag dazu. Mit der SAP Auswertung kann ich den Auftrag automatisch der Meldung zuordnen.

Titel: Re: Problem mit UFo
Beitrag von: MzKlMu am Januar 25, 2019, 12:14:28
Hallo,
ich komme erst am Wochenende dazu.
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 28, 2019, 06:24:44
Kein Problem ich bin sowie sehr dankbar dafür
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 28, 2019, 12:20:30
Kann mir noch jemand erklären wie ich es schaffe, dass ich bei dem Technisch Berechtigter (4.2) den Namen raus löschen kann ohne das Access meckert? Ich kann auch keinen neuen Datensatz erstellen und das Feld leer lassen.
Es kommt immer "...kannn in der Tabelle 'Tabelle' keinen Datensatz mit passenden Schlüsselfeldern 'Feld' finden"

Titel: Re: Problem mit UFo
Beitrag von: MzKlMu am Januar 28, 2019, 12:22:40
Hallo,
lösche in der Tabelle den Standardwert (0).
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 28, 2019, 12:55:21
Hat nix gebracht.

Wenn ich bei nem vorhanden Eintrag das feld im Formular lösche kommt "Sie wollten den Null Wert einer Variable zuweisen, die nicht den Datentyp Variant hat"

Ist hier auch das Datenbank Modell falsch? Hat die Änderung wegen den Hausherren eigentlich schon geklappt?
Titel: Re: Problem mit UFo
Beitrag von: MzKlMu am Januar 28, 2019, 14:32:56
Hallo,
in Deinem Beispiel ist jetzt von Bauher oder Bezirk in der Baustellentabelle nichts zu sehen.
Was soll jetzt in dieser Tabelle gespeichert werden, der Bezirk oder der Bauherr ?
Und in welchem Formular bzw. Ufo ?

Und was Dein Problem mit dem Ufo betrifft, um welches Formular in Deinem Beispeil geht es da ?
Titel: Re: Problem mit UFo
Beitrag von: Aggro600 am Januar 28, 2019, 18:56:03
Das letzte Problem ist in der tblBaustelle der Fremdschlüssel vom TechnichBerechtigtierPerson und auch LstFirmaMitarbeiter. (sorry wenn die Bezeichnung nicht genau stimmt bin gerade unterwegs)

Das große Problem: unter dem Reiter LST im Formular Baustellenplanung sind die Bezirke in einem ufo und daneben muss der Hausherr.

Soll ich nen Screenshot machen wie ich es im original habe, wo es annähernd läuft?