Neuigkeiten:

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

Mobiles Hauptmenü

Laut Forum zu komplex. Anderer Ansatz zur Lösung?

Begonnen von derilzemer, Juni 05, 2017, 11:48:11

⏪ vorheriges - nächstes ⏩

derilzemer

Hallo,
in Thread http://www.access-o-mania.de/forum/index.php?topic=22412.0 habe ich ein Thema als gelöst geschlossen. Das Fazit aus dem alten Thread ist, dass es so NICHT lösbar scheint, da 6 Tabellen mit involviert sind. Es ist für mich schwer vorstellbar, aber verlasse mich da selbstverständlich auf die Expertise der Fachleute, zu denen ich mich nicht zähle. Dennoch muss es doch trotz der Komplexität einen Lösungsweg geben. Kann mir jemand sagen, wie dieser Lösungsweg aussehen muss?
Gruß Andreas

Grüße und Dank im voraus
Andreas

ebs17

Ich habe den anderen Thread nur grob überflogen, einen Sinn aus einer Bildergalerie zusammensetzen ist nun keine Pfingstbeschäftigung.

Nur mal so als Statements, die umgesetzt und zusammengenommen keine Anfügeprobleme erzeugen dürften:
- Kombinationsfelder erzeugen keine neuen Datensätze. Sie liefern nach Auswahl einen Rückgabewert, der als Teil eines Datensatzes in einem Formular genutzt werden kann.
- Datensatzanfügungen (wie auch -editierungen oder -löschungen) nimmt man man sinnigerweise an Tabellen vor, nicht an Abfragen, wo mehrere Tabellen verknüpft sind. Dies schon deshalb, weil in den Tabellen die Realspeicherung stattfindet.
Eine solche Datensatzoperation kann nie zu komplex sein, man muss nur die eingestellten Regeln der Tabellendefinition (Datentyp, Gültigkeitsregel usw.) einhalten wie dann auch tabellenübergreifend die eingestellte referentielle Integrität beachten, also erst Datensatz in Primärtabelle anlegen, danach Datensätze der Sekundärtabelle.
Technisch wird man das überwiegend per Konstruktion aus Haupt- und Unterformular lösen.
- Wenn man Nachschlagefelder in Tabellen verwendet, sollte man das wissen, beachten und beherrschen - oder man verzichtet gleich darauf.
Mit freundlichem Glück Auf!

Eberhard

derilzemer

Hallo Eberhard,
ich stimme dir zu was sinnigere Pfingstbeschäftigung angeht.
Zitat- Kombinationsfelder erzeugen keine neuen Datensätze. Sie liefern nach Auswahl einen Rückgabewert, der als Teil eines Datensatzes in einem Formular genutzt werden kann.
Das hast du im Gegensatz zu mir richtig beschrieben. An meinen Formulierungen mangelt es schon immer etwas, leider :(.
Zitat- Datensatzanfügungen (wie auch -editierungen oder -löschungen) nimmt man man sinnigerweise an Tabellen vor, nicht an Abfragen, wo mehrere Tabellen verknüpft sind. Dies schon deshalb, weil in den Tabellen die Realspeicherung stattfindet.
Eine solche Datensatzoperation kann nie zu komplex sein, man muss nur die eingestellten Regeln der Tabellendefinition (Datentyp, Gültigkeitsregel usw.) einhalten wie dann auch tabellenübergreifend die eingestellte referentielle Integrität beachten, also erst Datensatz in Primärtabelle anlegen, danach Datensätze der Sekundärtabelle.
Technisch wird man das überwiegend per Konstruktion aus Haupt- und Unterformular lösen.
Der Meinung war ich ja grundlegend auch, dass es nie zu komplex sein kann. Zur Vorgeschichte, ich habe das ganze zuvor mit 2 Ufo gelöst, was funktioniert hat. Jetzt wollte ich lediglich diese beiden Ufos zusammenführen, da ich sonst das ganze immer doppelt befüllt habe was die ID angeht. Die Datensatzoperation selbst gelingt ja bis zur neu hinzugefügten Ebene, aber ich finde den Fehler nicht. Ich dachte eben, dass ich die "Notwendigkeiten" beachtet habe.
Zitat- Wenn man Nachschlagefelder in Tabellen verwendet, sollte man das wissen, beachten und beherrschen - oder man verzichtet gleich darauf.
Okay, du meinst also, Leute wie ich, die sich in Access nie so auskennen werden wie z.B. du, sollten dann auch nichts im Forum posten, frei nach dem Motto, Schuster bleib bei deinen Leisten?
Danke noch für deine Hinweise.

mfG
Andreas
Grüße und Dank im voraus
Andreas

Beaker s.a.

Hallo Andreas,
ZitatOkay, du meinst also, Leute wie ich, die sich in Access nie so auskennen werden wie z.B. du, sollten dann auch nichts im Forum posten, frei nach dem Motto, Schuster bleib bei deinen Leisten?
Nein, das hat Eberhard bestimmt nicht gemeint. Er hat nur auf seine
(gewöhnungsbedürftige) Art sagen wollen, dass Nachschlagefelder in
Tabellen von Anfängern nicht verwendet werden sollten. Die sind ja i.Ü.
ganz allgemein verpönt.
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)

derilzemer

Hi Ekkehard,
okay, ich dachte mir schon, dass es "nur" wie ich es in den Beiträgen oft mache ungeschickt formuliert war.
Mit Nachschlagefelder meint ihr ja die Auswahl bzw. Kombifelder, oder? Wenn das verpöhnt ist, was ist dann der Lösungsweg für solche Sachen, wo man eben Werte vordefinierten muss/will?

Gruß Andreas
Grüße und Dank im voraus
Andreas

ebs17

ZitatWenn man Nachschlagefelder in Tabellen verwendet ...
Daraus solltest Du keine Meinung anderer ableiten, sondern überprüfen, ob Du welche hast. Diese Rückfrage ist nur zur Vollständigkeit, da da schnell unübersichtliches Verhalten entsteht.
Wie sehr viele verwende ich diese Nachschlagefelder nicht und wäre da bei einer Hilfestellung recht desorientiert. Daher der Hinweis auf "Selbst ist der Mann" in diesem Fall.

Ein Kombinationsfeld in einem Formular ist aber kein Nachschlagefeld in einer Tabelle. Kannst Du sprachlich folgen?

Zitatich habe das ganze zuvor mit 2 Ufo gelöst, was funktioniert hat
Statt allerlei blumiger Beschreibung stellst Du hier vielleicht besser eine Demo-DB bereit. Da hätte man alles wesentliche beisammen.
Mit freundlichem Glück Auf!

Eberhard

derilzemer

#6
Hallo Eberhard,
ZitatEin Kombinationsfeld in einem Formular ist aber kein Nachschlagefeld in einer Tabelle. Kannst Du sprachlich folgen?
Jetzt schon.
ZitatStatt allerlei blumiger Beschreibung stellst Du hier vielleicht besser eine Demo-DB bereit. Da hätte man alles wesentliche beisammen.
Hab ich jetzt mal gemacht. Hab die DB mit 8 Datensätzen hier http://quartettportal.de/SW/QuartettDB_Forum.zip zum Download hinterlegt, da sie als Anhang im Forum ein wenig zu groß ist. Bilder zu den Spielen habe ich nicht dabei, das wäre zu groß. Es geht um frmErfassungUfoIdentQuartette. Mit den 8 Datensätzen kann man den Fehler provozieren, der dann in den Tabellen tblVariArtVari, tblVariante und tblVariantenArt nachzuvollziehen ist. Ich spare mir alle weiteren Versuche etwas zu erklären, da die DB es zeigt, woran es hängt und ihr das sicherlich schneller seht wie ich es versuchen würde zu beschreiben.
Gruß und Danke vorab für Unterstützung
Andreas
Grüße und Dank im voraus
Andreas