Neuigkeiten:

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

Mobiles Hauptmenü

Aufbau der Datenbankstruktur korrekt?

Begonnen von -Tom-, Dezember 31, 2009, 18:12:07

⏪ vorheriges - nächstes ⏩

-Tom-

Jetzt habe ich noch ein Problem mit dem Ufo "frm03MotorVorgangUfoEinbau". Dieses Formular steht ja in Beziehung mit der Tabelle "tbl_VorgaengeZumMotor", wenn ich jetzt das Ufo ausfülle, dann beschwert sich Access dass es den Datensatz nicht anlegen kann da ein Datensatz in der Tabelle "tbl_VorgaengeZumMotor" mit diesem Datensatz in Beziehung stehen muss.
Das heißt konkret ich müsste erst den Vorgang Einbau erstellen bevor ich den Datensatz Einbau hinzufüge, aber kann ich das so mit dem Ufo realisieren?
Oder muss ich das ohne das Ufo machen und schreibe die Daten per VBA in die Tabelle?

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen

database

#76
Hallo,

Prosit 2011 !

ZitatDas heißt konkret ich müsste erst den Vorgang Einbau erstellen bevor ich den Datensatz Einbau hinzufüge
Das ist korrekt, da die Tabelle tbl_Einbau die VorgangsID als Fremdschlüssel benötigt.

Zitataber kann ich das so mit dem Ufo realisieren
nein, mit dem UFo alleine geht es nicht.
Du musst zuvor im selben Register den Vorgang (Einbau) für einen aktuell ausgewählten Motor erstellen.
Nach der Speicherung des Vorganges kannst du die ID dieses Vorgangs ermitteln und für die Speicherung des Datensatzes aus dem UFo verwenden.

ZitatOder muss ich das ohne das Ufo machen und schreibe die Daten per VBA in die Tabelle
Die Übergabe der ID ans UFo kann freilich per VBA erfolgen, wenn im UFo das Fremdschlüsselfeld vorhanden ist.

Allerdings würde ich empfehlen dafür zu sorgen, dass aus solchen Eingaben 'sauber' ausgestiegen werden kann.
Solltest du während der Eingabe den Wunsch verpüren diese abzubrechen sollte kein verwaister DS in den Tabellen herumgammeln.

Dieses wird vielleicht dadurch erleichtert, dass das UFo erst nach Speicherung des Vorganges angezeigt wird und nicht schon wenn 'Einbau' als neuer Vorgang ausgewählt wird.
Es wird dadurch auch gewährleistet, dass eine 'Vorgang-Einbau-ID' (grässliches Wort) besteht bevor die Details dazu eingegeben werden.

-Tom-

Hallo,

Zitat von: database am Januar 01, 2011, 12:21:53
Prosit 2011 !

Wünsche auch ein gutes Neues Jahr!

Zitat von: database am Januar 01, 2011, 12:21:53
Dieses wird vielleicht dadurch erleichtert, dass das UFo erst nach Speicherung des Vorganges angezeigt wird und nicht schon wenn 'Einbau' als neuer Vorgang ausgewählt wird.
Es wird dadurch auch gewährleistet, dass eine 'Vorgang-Einbau-ID' (grässliches Wort) besteht bevor die Details dazu eingegeben werden.

Ich denke dass aber dadurch ehr die Gefahr besteht einen verwaisten DS für den Einbau zu bekommen, denn was ist wenn der DS Einbau abgeschlossen sit udn bei der Eingabe der Daten zum Einbau abgebrochen wird?

Ich dachte ehr daran nach dem die ganzen Daten eingegeben wurde und auf speichern geklickt wurde per VBA erst ein INSERT auf die Tabelle "tbl_Einbau", da dann die ID ermitteln und dann ein INSERT auf die Tabelle "tbl_VorgaengeZumMotor" durchzuführen.

Oder ist dieser Weg nicht geschickt?

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen

database

#78
Hallo,

da hast du recht Tom, mir ging es in meiner Antwort eher um die Detaildatensätze - Verwaisung entsteht, wenn es keinen Masterdatensatz zu Detailsätzen gibt.
Natürlich ist es auch so lösbar wie du angesprochen hast.
Ich fürchte aber fast, dass das Aufpoppen einer Fehlermeldung dadurch nicht verhindert wird, da die Bindung zwischen HaFo und UFo trotzdem problematisch bleibt.
Warum das so ist?
Naja, wenn du im HaFo einen DS eingibst ohne dass dieser gespeichert wird (was ja in der Regel erst dann passiert wenn du einen Button klickst oder den aktuellen DS verlässt)
und ins UFo wechselst um dort Daten einzugeben kann es sein, dass du erst wieder einen Konflikt auslöst, da dem UFo die ID des Vorganges beim Verlassen der Eingabe nicht bekannt ist!
(kann sein deswegen, weil ich das nicht ausprobiert habe)
M.E. müsste sich der Button zum Speichern dann aber im UFo befinden

Im von mir beschriebenen Fall ist es so, dass ein Vorgang angelegt wurde - Punkt.
Wenn nun keine Details dazu eingegeben werden, gibt es einen gespeicherten Vorgang ohne Details dazu - diese können aber auch später erfasst werden.
Ich glaube dass du da selbst entscheiden musst, welche Art du wählst, da du derjenige bist, der die Daten erfasst - deine Logisitk will ich nicht beeinflussen.  ;D

oma

Hallo Tom,

du bist wahrscheinlich dabei, den Längenrekord eines Themas aufzustellen ;)

Das ist ja an sich nichts schlechtes. Aber bedenke dabei, dass kaum ein neuer User bei der Länge Lust hat,  in das Thema einzusteigen!
Und ein Forum lebt ja auch von der Vielfalt der beteiligten User.

Mein Vorschlag: Erstelle bei neuen Detailfragen auch ein neues Thema mit einer kurzen Einführung in dein Problem!

Gruß Oma
nichts ist fertig!

-Tom-

Zitat von: oma am Januar 02, 2011, 14:17:55
Mein Vorschlag: Erstelle bei neuen Detailfragen auch ein neues Thema mit einer kurzen Einführung in dein Problem!

Werd ich ab sofort machen, am besten Du schließt den Beitrag.

-Tom-
Computerprobleme??? -> http//www.weber-computerhilfe.de

Fordere keine Anerkennung!
Zeige was und man wird Dich kennen