Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: FileSurfer am Juli 18, 2010, 09:42:10

Titel: Aktualiserungsweitergabe einrichten
Beitrag von: FileSurfer am Juli 18, 2010, 09:42:10
Hallo Experten,

hab auch ne Frage zur Referentiellen Integrität. Ich habe ne Datenbank mit 2 Tabellen (Haupttabelle mit

Patientendaten und Untertabelle in der jedem Patientendatensatz noch Laborwerte zu verschiedenen Zeitpunkten

zugeordnet werden). Es steht alles schon. Die einzige Schwierigkeit, die ich habe ist, dass die Patientennummer aus

der Haupttabelle (=Primary Key) nicht automatisch ins entsprechende (durch Aktualisierungs- und Löschweitergabe

bereits verknüpfte) Feld der Untertabelle übernommen wird. Warum klappt das nicht? Erst wenn ich sie per Hand in die Haupt- UND

Untertabelle eintippe und die PatNummern übereinstimmen, ordnet Access die Laborwerte dem entsprechenden Patienten zu.


Vielen Dank im Voraus!  ;)

 
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: MzKlMu am Juli 18, 2010, 09:53:53
Hallo,
bei einem neuen Datensatz geht das in den Tabellen nicht automatisch. Die Aktualisierungs- und Löschweitergabe erfolgt nur bei bestehenden Datensätzen. Eigentlich spielt das aber keine Rolle, denn man sollte sowieso nie mit Tabellen direkt arbeiten.
Dein Problem lässt sich mit einem Hauptformular (Patientendaten) und darin einem Unterformular (Laborwerte) lösen.
Wenn Hafo und Ufo über die Schlüsselfelder verknüpft sind, wird das Schlüsselfeld des Unterdatsatzes automatisch gefüllt.
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: database am Juli 18, 2010, 10:12:36
Hallo,

Zitatdurch Aktualisierungs- und Löschweitergabe bereits verknüpfte ...

Um künftig Problemen aus dem Weg zu gehen empfehle ich dir, die LÖSCHWEITERGABE wieder zu deaktivieren.
Im ungünstgsten Fall KANN es vorkommen, dass durch das Löschen von Laborwerten in einem Rutsch auch gleich die Patientendaten gelöscht werden. >:(

Gruß

Peter
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: MzKlMu am Juli 18, 2010, 10:18:45
@Peter
Zitatdass durch das Löschen von Laborwerten in einem Rutsch auch gleich die Patientendaten gelöscht werden.
Bist Du sicher? Von Unten (n-Seite) nach oben (1-Seite) wird doch nichts gelöscht. Laborwerte kann man löschen, nur wenn man einen Patient löscht werden bei Löschweitergabe die Laborwerte (alle!) gelöscht.
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: database am Juli 18, 2010, 10:55:09
Hi

@MzKlMu
hätte es so verstanden haben wollen dass das Löschen von Primärdaten die Detaildaten mit verwirft daher
1. verkehrt geschrieben und 2. zu ungenau beschrieben.

da hast du mich natürlich am falschen Haxen erwischt :)

Schönen Sonntag Vormittag!
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: FileSurfer am Juli 18, 2010, 11:47:19
Erstmal Vielen Dank an alle für die blitzschnelle Antwort,...  hab mit nem halben Tag oder so gerechnet.

@MzKlMu: die Idee mit dem Ufo ist nicht schlecht. Genau das will ich erreichen. Allerdings wird beim Versuch ein Ufo einzubauen gleich das gesamte Ufo-Fenster ins HaFo integriert. Kann man da nicht eine Schaltfläche einbauen, die zum separaten Ufo-Fenster führt?

MfG
FileSurfer
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: FileSurfer am Juli 18, 2010, 13:03:01
klappt noch immer nicht, wie kann man das Fenster hinter eine Schaltfläche verstecken?
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: MzKlMu am Juli 18, 2010, 18:06:50
Hallo,
ein Unterformular ist ein Unterformular eines Hauptformulars und daher immer in ein Hafo integriert. Wenn es außerhalb eines Hafos ist, ist es kein Ufo mehr und Du muss auf dessen Funktionalität verzichten. Der Automatismus geht nur mit Hafo/Ufo. Bei allen anderen Wege musst Du für die Schlüsselfeldübergabe selbst sorgen.

Lasse es bei dem Hafo mit integriertem Ufo, es ist der richtige Weg, was stört Dich daran?
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: accessundich am Juli 18, 2010, 18:21:12
Letztlich ist ein UFO auch nur ein Formular.
Wenn Du es partout extra haben willst, dann nehme als Datensatzgrundlage alles, speichere das Formular ab und rufe es nach betätigen der Schaltfläche "gefiltert" auf.

Aber Hafo und Ufo ist die geschicktere Variante.

Zur Not kannst Du das UFO auch unsichtbar schalten und bei entsprechender Aktion gefiltert sichtbar schalten.

Das mit dem Verstecken hinter einer Schaltfläche geht natürlich auch. Dein Stichwort hierfür ist Me.formularname.SourceObject.
Diese Nummer verwende ich exzessiv und muss mich um keine Navileisten etc. mehr kümmern. Access kommt da auch manches mal recht schnell an seine Grenzen, aber mit einigem Geschick sind da richtig gute Nummern zu machen und das Einheitsschema ist hinfort und ward nicht mehr gesehen  ;D

Gehen tut alles, aber Hafo und Ufo sind einfacher im Handling.

Viele Grüße
Andi
Titel: Re: Aktualiserungsweitergabe einrichten
Beitrag von: FileSurfer am Juli 18, 2010, 19:47:26
ZitatLasse es bei dem Hafo mit integriertem Ufo, es ist der richtige Weg, was stört Dich daran?

na ja, das UFo enthält schon ne ganze menge Laborwerte. In meinem Fall wäre das Fenster um einiges übersichtlicher, wenn ich das UFo durch einen Button aufmachen würde.

Zitatspeichere das Formular ab und rufe es nach betätigen der Schaltfläche "gefiltert" auf.

Wie geht das? Filter hinzufügen? Ich habe das Formular gespeichert, und dann...?