Ein Hallo an die Forum-Community!
Ich hoffe ihr könnt mir mit meinem Problem weiterhelfen - mittlerweile habe ich schon viel Zeit und Nerven in Access für mein Projekt investiert - mit mäßigem Erfolg -.-
Mein Problem:
Für die Arbeit habe ich eine Datenbank für geologische Aufschlüsse erhalten. Für jeden der notwendigen Parameter ist eine Tabelle angelegt - die Beziehungen zwischen den Tabellen stimmen.
Einige Tabellen sind schon fertig, da sie Werte enthalten, aus denen ausgewählt werden muss. Andere Tabellen müssen noch erweitert werden.
Beispiel dafür:
Tabelle für die Verwitterung vom Gestein - einer aus 4 Werten /Datensätzen muss ausgewählt werden,
Tabelle für Trennflächen: hier müssen laufend neue Werte eingetragen werden
Nun ist es jedoch sehr mühseelig für jeden neuen Aufschluss alles in den Tabellen einzugeben - deshalb dachte ich mir, die Erstellung eines Formulars erleichtert mit die Eingabe
Nun möchte ich in dieses Formular Teile von Tabellen,aus denen auszuwählen ist, einfügen - wie beispielsweise oben genannt: Verwitterung von Gestein:
Nun befinden sich schon Datensätze in der Datenbank, die ohne Formular eingegeben wurden. Diese werden im Formular prinzipiell korrekt angezeigt, es wird jedoch für Tabellen, an denen zwei Datensätze zutreffen, doppelt angezeigt
(1 mal das Formular mit Wert X und 1 mal das Formular mit Wert Y) - weiters kann auch kein neuer Datensatz angelegt werden
Nun wollte ich fragen, wie ich am einfachsten so ein Formular erstellen kann, in dem einerseits aus fix erstellten Werten ausgewählt werden können und andererseits neue Werte eingegeben werden können - wie gesagt, die Beziehung zwischen den Tabellen und die Tabellen selbst sind fertig erstellt. Es geht nur um eine praktischere und wesentlich feinere Möglichkeit diese einzugeben.
Ich hoffe mein Sachverhalt ist halbwegs nachvollziehbar und man kann mir helfen.
Vielen Dank
Hallo,
so ganz nachvollziehbar ist das noch nicht ;)
Zum einen solltest du immer alle Daten Mittels Formulare eingeben!!
Desweiteren solltest du uns dein Tabellenkonzept mit den Beziehungen vorstellen. Am Besten eine kleine DB mit ein paar Musterdaten.
Dann können wir sicher Vorschläge für ein angepasstes Formulardesign vorschlagen.
Gruß Oma
Hallo,
ohne den Sachverhalt jetzt wirklich näher zu kennen ...
Zitat... in dem einerseits aus fix erstellten Werten ausgewählt werden können ...
Da würde ich Kombifelder vorschlagen, die als Datenherkunft die von dir angesprochenen Tabellen mit Inhalt (zum Auswählen) haben und an die Tabellenspalte der Zieltabelle gebunden sind.
Zitat... andererseits neue Werte eingegeben werden können ...
Wenn du mit SQL und VBA nciht gut zu Fuß bist, dann solltest hierbei ein gebundenes Formular verwenden - d.h. die Datenherkunft deines Formulars stellt die Tabelle dar, in ide du die neuen Werte eingeben willst.
Die Felder des Formulars sind an die Herkunftstabelle gebunden. Somit schreibst du beim Ausfüllen eines Formularfeldes in die entsprechende Spalte deiner Tabelle.
Beim Verlassen des aktuellen Datensatzes werden die eingegebenen Werte physikalisch in der Tabelle gespeichert.
Voraussetzung dass das Vorhaben auch wirklich gelingt ist ein funktionierendes normalisiertes Datenmodell!
Um dir aber wirklich konkret helfen zu können sollten wir das Datenmodell und die Sachverhalte etwas näher kennen. ;)
Grüße
Peter
Hey,
danke für die Antworten:
Also es geht um folgendes - zum leichteren Verständnis lade ich noch zwei Bilder rauf, wie das Ganze dann in ausgedruckter Form aussehen soll bzw. eine Tabelle aussieht:
Grundlage ist eine Tabelle in der allgemeine Aufschlussdaten (siehe bild) eingegeben werden:
Beispiel koordinaten, höhe, datum, auschlussnummer usw.
Jeder Aufschluss sollte in dieser Tabelle ein Datensatz sein.
Um den Aufschluss weiter zu beschreiben braucht es weitere Parameter, diese sind in eigenen Tabellen angegeben:
Beispiel: Verwitterung Gestein - Aufschluss kann hier einen oder zwei von den vier festgelegten Werten einnehmen
Beispiel Trennflächen: Hier werden in der Tabelle für Trennflächen zu jedem Aufschluss die Werte eingetragen.
Die Aufschlusse selbst sind durch ID's in den diversen Tabellen verknüpft.
Jetzt brauch ich ein Formular, in dem ich diese Daten angeben kann.
Zum Beispiel Trennflächen: dieses habe ich bereits mit einem Unterformular gelöst und es funktioniert
Happig wird es nur, wenn bei einem "Aufschluss" zB die Verwitterung zwei Werte annimmt
Ich hoffe nun ist es ein wenig verständlicher :)
Danke nochmals
[Anhang gelöscht durch Administrator]
Hallo finki,
nochmals: besser ist, du erklärst uns deine Tabellen mit den Schlüsselfeldern u. den Beziehungen.
Sind deine Tabellen alles 1:1 Beziehungen??
ZitatZum Beispiel Trennflächen: dieses habe ich bereits mit einem Unterformular gelöst und es funktioniert
Happig wird es nur, wenn bei einem "Aufschluss" zB die Verwitterung zwei Werte annimmt
Was sind z.B Trennflächen. Sind das mehrere Werte, sind das Aufzählungsfelder die 1:N zu der Haupttabelle stehen?
Warum gibt es Probleme, wenn die Verwittereung 2 Werte annimmt. Müssen dann mehrere Aufzählungsfelder gebildet werden.
Du siehst, mit einem Bild u. ein paar, für dich ganz eindeutigen Bemerkungen , kann schlecht Hilfe geleistet werden!
Wir brauchen die Tabellen mit den Schlüsselfelden.
STELLE UNS DEIN TABELLENMODELL VOR!
Gruß Oma
Hallo finki,
ich darf mich den Ausführungen von OMA vorbehaltlos anschließen und vielleicht noch hinzufügen:
Die Logik, die hinter einem Excel-Worksheet steht kannst du nicht einfach 1:1 auf Access-Tabellen anwenden.
Ich befürchte, dass da schon einiges in der Richtung schief gelaufen ist, wenn du versucht hast die dargestellten Excel-Sheets in Access-Tabellen umzuwandeln.
Hey!
Also ich versuch jetzt mal eins nach dem anderen abzuarbeiten und lade noch ein paar Bilder rauf!
Nein es sind keine 1:1 Beziehungen!
Beziehungen sind großteils 1:n! (siehe Bild)
Das ganze Datenbanksystem ist ein wenig komplizierter aufgebaut.
Ich habe jetzt beispielsweise einen Aufschluss in die Tabelle eingetragen.
Dieser enthalt Daten in den Tabellen OUTRC, OUTCR_GT, OCGT_UCS und den restlichen Tabellen die mit OCGT beginnen.
Wie ihr seht, sind die OCGT Tabellen mit den L_... Tabellen verknüpft.
Nun in den OCGT Tabellen werden die Werte für die einzelnen Aufschlüssen gespeichert - für den jeweiligen Parameter.
In den Tabellen mit L_... sind die dazugehörigen Namen der Werte die angenommen werden können gespeichert.
Ein kleines Beispiel:
Aufschluss ABC34 hat die ID 90. Mit dieser ID wird er mit den restlichen Tabellen verknüpft.
Nun weisst dieser Aufschluss eine frische und verfärbte Verwitterung auf. Für frisch wird der Wert (Zahl 1) eins in der Tabelle OCGT_WEARM abgespeichert.
Über die Beziehung wird dann der Wert frisch ausgeworfen.
Nun stellt sich mir die Frage, wie ich diese Tabellen in einem Formular einbaue, um diese zwei Werte einzugeben.
Ist ist mir möglich hier nur einen Wert anzugeben, aber nicht zwei.
Weiters muss ich Messwerte in eine Tabelle eingeben. Diese werde ich in Form eines Unterformulars in das Formular einbinden. Das hat bei den Versuchen von mir schon gut funktioniert.
Ich hoffe nun ist mein Sachverhalt um einiges klarer. Es geht im wesentlich nur darum, die obenen genannten Tabellen in ein Forumalur zu bekommen, und einem Aufschluss hier zwei Werte zu geben. Wie geht das ?
[Anhang gelöscht durch Administrator]
Hallo,
ZitatNein es sind keine 1:1 Beziehungen!
Beziehungen sind großteils 1:n! (siehe Bild)
welches Bild
ZitatDas ganze Datenbanksystem ist ein wenig komplizierter aufgebaut.
das glauben wir, ist es auch möglicherweise nicht normalsiert?
ZitatIch habe jetzt beispielsweise einen Aufschluss in die Tabelle eingetragen.
Dieser enthalt Daten in den Tabellen OUTRC, OUTCR_GT, OCGT_UCS und den restlichen Tabellen die mit OCGT beginnen.
Das ist so nicht verständlich, wir kennen die daten eines "Aufschlusses" nicht, wir wissen nicht warum die Aufteilung in den verschiedenen Tabellen; wir kennen den Aufbau der Tabellen OUTRC, OUTCR_GT, OCGT_UCS nicht....
Also die Informationen sind für einen, der die DB nicht kennt, einfach nutzlos!
ZitatWie ihr seht, sind die OCGT Tabellen mit den L_... Tabellen verknüpft.
Wo sehen wir das?
ZitatNun in den OCGT Tabellen werden die Werte für die einzelnen Aufschlüssen gespeichert - für den jeweiligen Parameter.
In den Tabellen mit L_... sind die dazugehörigen Namen der Werte die angenommen werden können gespeichert.
? ? ?
ZitatNun stellt sich mir die Frage, wie ich diese Tabellen in einem Formular einbaue, um diese zwei Werte einzugeben.
Ist ist mir möglich hier nur einen Wert anzugeben, aber nicht zwei.
Sind für ein Parameter mehrere Werte möglich, so muss das eben im
Tabellenaufbau berücksichtigt werden!!!!
ZitatEs geht im wesentlich nur darum, die obenen genannten Tabellen in ein Forumalur zu bekommen, und einem Aufschluss hier zwei Werte zu geben. Wie geht das ?
das kann ich nicht sagen, da ich nicht weiss, wie die Tabellenfelder aussehen u. welches Problem überhaupt gibt?
finki, es kann doch nicht so schwer sein, zu verstehen, dass ein Außenstehender mit fachlichen Begriffen u. so dahin genannten Tabellen nichts anfangen kann! Ebenso wie die Darstellung von Excel-Tabellen mit allen Daten helfen Ausschnitte aus einzelnen Tabellen ohne Erläuterung des Zusammenhanges nichts!
Also; wir benötigen:
tblTabelle1: Tabelle1_ID(PK), Feld1, Feld2,....
tblTabelle2: Tabelle2_ID(PK), Tabelle1_ID(FK), Feld1, Feld2,....
Nur so wird das was!
Gruß Oma
Hallo,
mal abgesehen davon, dass die ID 90 nirgends in deinen Bilderchen vorkommt, die Frage:
Was trägst du in das Feld 'WAERM_CL' der Tabelle 'OCGT_WAERM' ein? Den Wert aus 'WEA_CL' der Tabelle 'L_WEA_R' ?
Wenn das so ist - was ich auf Grund der Bildschirmfotos mal so erahne - dann kannst es vergessen, dann stimmt dein Datenmodell nicht mal im Ansatz!
ZitatDas ganze Datenbanksystem ist ein wenig komplizierter aufgebaut
Du darfst aber darauf vertrauen, dass wir es entschlüsseln KÖNNTEN, wenn wir nur WÜSSTEN wie es aussieht.
Kannst du denn nicht statt den aussagearmen Bildchen einfach mal ein Datenbankdiagramm reinstellen oder ist das Ganze so streng geheim, dass wir nur Teile einzelner (uns nichts sagender) Tabellen sehen dürfen?
Hi,
@oma
ZitatNur so wird das was!
Auch hier bin uneingeschränkt deiner Meinung ;D
Hallo,
@Peter, Zitat
ZitatDu darfst aber darauf vertrauen, dass wir es entschlüsseln KÖNNTEN, wenn wir nur WÜSSTEN wie es aussieht.
Auch hier bin uneingeschränkt deiner Meinung ;D
@finki: das ist nur Spaß, wir wollen wirklich nur HELFEN!
Gruß Oma
hallo leute!
habe erst jetzt wieder zeit euch zu schreiben - unisachen gingen die letzten 2 wochen vor...
so ich dachte mir schon, dass meine Datenbank ein wenig unübersichtlich ist.
So zuerst zum Prinzip der Datenbank:
Es wurde für jeden Parameter eines geologischen Aufschlusses eine Tabelle angelegt.
Ich stelle jetzt als erstes nocheinmal ein Foto online, in dem die Beziehungen der einzelnen Tabellen ersichtlich sind.
Als Grundlage sollte die Tabelle OUTCR sein, in der jeder Aufschluss ein Datensatz sein sollte!
Ein Bild von dieser Tabelle habe ich raufgeladen. In dieser Tabelle sind bis jetzt zwei Datensätze, die wurde mühseelig in Tabellenform eingegeben.
So und jetzt gibt es zahlreiche weitere Parameter für den Aufschluss.
Ich habe jetzt noch ein Formular raufgeladen, in dem die meisten dieser Parameter dargestellt sind. (formular_aufschluss)
Wie ihr im Bild formular_aufschluss seht nimmt dort der Parameter zwei Werte an. Dieser Parameter ist in der Datenbank an zwei Tabellen gebunden. In einer Tabelle wird der Wert für den Aufschluss eingetragen. Eine zweite Tabelle bezieht sich auf diesen Wert und zeigt den dann an.
Hier mein Beispiel: Bild Beispiel Verwitterung
In der Tabelle OCGT_WEA wird der zutreffende Wert vom Aufschluss eingetragen (1 - 5)
Die Tabelle L_WEA_R wirft dann, abhängig vom Wert 1 - 5, die dazugehörige Bezeichnung aus - in der Spalte WEA ersichtlich (frisch, verfärb, zerfalllen, zersetzt)
Nach diesem Schema müssen so 6 Parameter eingegeben werden.
Wie kann ich nun ein Formular erstellen, in dem für diesen Parameter mehrere Werte wählbar sind??
Ich hoffe so ist jetzt die Grundsatz verständlicher
Oder wäre vl. jemand bereit sich kurz mal die Datenbank anzuschaun (verschicke sie per mail)??
wie gesagt, die Verknüpfungen sind alle gemacht und stimmen. Es fehlt nur das Formular um die Daten effizient eingeben zu können.
Vielen Dank im Vorraus für eure Hilfe und eure Gedanken!!!!
[Anhang gelöscht durch Administrator]
und hier noch das foto von den Beziehungen. Es war insgesamt für einen Post zu groß
[Anhang gelöscht durch Administrator]
Hallo,
ZitatNein es sind keine 1:1 Beziehungen!
Beziehungen sind großteils 1:n! (siehe Bild)
Und was sind das sonst für 1:1-Beziehungen um die Tabelle "outcr" herum ???
Verfrachte alle Felder aus diesen 1-Tabellen nach outcr.
Alle n-Tabellen(daten) zeigst Du mit Hilfe von Unterformularen in einem (Haupt-)Formular mit Datenherkunft zu Tabelle outcr an.
Alle Werte, die aus den n- Tabellen, die an outcr (jetzt noch outcr_gt) hängen , übernommen werden sollen, werden mittels gebundenen Kombifeldern ausgewählt.
Die Beziehungen über nicht-Schlüsselfelder (BLSH_CL in t_BLSH z. B.) sind ebenfalls zu hinterfragen.
1:1 Beziehung um die Tabelle "OUTCR" gibts ja nur eine, und zwar zu OUTCR_GT.
Und in dieser Tabelle erhält der Datensatz die ID für die restlichen Tabellen, deswegen muss diese Beziehung ja so sein oder?
Geht leider nicht, dass ich die Felder versetzte, da die Datenbank in dieser Struktur bleiben muss.
Die nicht Schlüsselfelder haben schon einen Sinn. Denn beispielsweise wird im Feld BLSH_CL in der Tabelle OCGT_BLSH ein Wert von 1 bis 5 angegeben.
Und in der Tabelle L_BLSH wird dieser Wert einem Wort zugeordnet.
Also du würdest alle Tabellen in Form von Unterformularen in ein Hauptformular der Tabelle OUTCR einfügen oder???
Hallo,
und was ist mit outcr_lo??
ZitatGeht leider nicht, dass ich die Felder versetzte, da die Datenbank in dieser Struktur bleiben muss.
Warum? Wer/Was verhindert das?
ZitatDie nicht Schlüsselfelder haben schon einen Sinn.
Welchen? Deine Erklärung überzeugt (mich) so nicht ;)
Zitat
Also du würdest alle Tabellen in Form von Unterformularen in ein Hauptformular der Tabelle OUTCR einfügen oder?
ja, das sagte ich doch... (mit der Bedingung, dass die 1:1-Beziehungen eliminiert werden.)
Ah ok, das habe ich übersehen.
Da gehts darum welche Art von Aufschluss gewählt wird.
OUTCR_GT heißt geotechnischer Aufschluss und OUTCR_LO ist ein Aufschluss in Lockermaterial.
Dabei muss Unterschieden werden, deshalb die eigenen Tabellen.
Ändern kann ich es nicht, weil es von vom Projekt / Arbeit so vorgegeben wird - meine Aufgabe ist die Formularerstellung.
Sonst gibts keine Möglichkeit die Tabellen in einem Formular zu verknüpfen??
Interessant ist dann nämlich auch die Ausgabe - der Bericht dafür sollte ungefähr das Layout des vorhin hochgeladenen Excel Formulars haben.
Noch zu den Schlüsselfeldern. Die sind angelegt, dass für jeden Datensatz nur die Zahlen 1 bis 5 angegeben werden müssen. Durch die Verknüpfung bekommt ja jeder Wert den zugehörigen Ausdruck zugeordnet.
Scheint mir auch ein wenig umständlich das ganze, ist halt leider so vorgegeben.... :(
Hallo,
wieder Kommentare:
Zitat
Dabei muss Unterschieden werden, deshalb die eigenen Tabellen.
Unterscheidung ist ok, aber dann mittels einem "Kategorie"feld (und Auswahl der Kategorie aus einer Stammdatentabelle--> tblAufschlussKategorien)
ZitatÄndern kann ich es nicht, weil es von vom Projekt / Arbeit so vorgegeben wird
Dann beschwer Dich bei der Projektleitung (überzeuge sie ;) ) und fordere die Änderung.
Zitat
der Bericht dafür sollte ungefähr das Layout des vorhin hochgeladenen Excel Formulars haben
Den hab ich nicht angesehen und spielt auch hier keine Rolle. Ein Bericht (und damit das grundlegende Layout) ist Ergebnis (!) und nicht eine Vorgabe für die Datenhaltung.
Danke für deine Hilfe und Zeit!
Da das Projekt mehrere Firmen betrifft ist eine Änderung nicht möglich - leider!
haben vl. oma oder database noch ein paar ideen für mich?
Hallo,
Ich kann mich da nur mit Franz (DF6GL) konform erklären.
Die Aussagekraft einer 1:1 Beziehung in einer Datenbanke ist in 99,9% der Fälle die, dass die Felder beider Tabellen auch in einer einzigen stehen könnten und auch sollten.
Die Verwendung von undefinierten Tabellenbeziehungen ist auszuschließen und Beziehungen über NICHT-Schlüsselfelder herzustellen nenne ich 'grob fahrlässig'.
Abgesehen davon, dass die referenzielle Integrität bei solchen Beziehungsvarianten nicht gewährleitet werden kann gibt es fast keine Möglichkeit zu garantieren, dass abgefragte Werte aus solchen Tabelenkonstrukten das erwartete richtige Ergebnis liefern.
Man kann natürlich versuchen den Inhalt in einem solchen Tabellensalat mit Hilfe von ausgefuchsten VBA Routinen einigermaßen gerade zu biegen - fürchte aber dass das ein Versuch bleiben wird, nicht zu reden mal vom Aufwand - wobei die Garantie für Richtigkeit immer noch nicht gegeben weden kann.
Das um und Auf einer datenbankbasierenden Applikation ist und bleibt sein Fundament - ein ordentlich geplantes und implementiertes Datenmodell!
Wobei es vollkommen Wurscht ist, welche Datenbank im Hintergrund eingesetzt wird.
Hey danke für die Antwort!
Ich habe mir nun die Beziehungen noch genauer angeschaut und, so glaube ich zumindest, verstanden was du meinst.
Bei den Tabellen der 1:1 Beziehungen handelt es sich um Aufschlüsse.
Dabei gibt es drei Varianten.
Entweder normaler Aufschluss - dann kommen Daten in die Tabelle OUTCR + Tabelle OUTCR_GT und den damit verknüpften.
Geotechnischer Aufschluss: Wieder Daten in OUTCR + OUTCR_GT und Tabelle DISCO
Aufschluss im Lockergestein: Daten in Tabelle OUTCR + Tabelle OUTCR_LO
Also jeder Aufschluss muss in der Tabelle OUTCR vermerkt sein.
Kann ich dann diese drei wesentlichen Tabellen (OUTCR +OUTCR_GT + OUTCR_LO) zu einer Tabelle zusammenfügen??
Ich habe jetzt noch eine Erläuterung gefunden und stelle sie mal online.
Vielleicht hilft diese ja weiter:
[Anhang gelöscht durch Administrator]
Mir ist da jetzt nochwas zu den 1:1 Beziehungen eingefallen:
Kann ich nicht auch zwei Formulare machen.
Eines für die Geotechnischen Aufschlüsse (OUTCR + OUTCR_GT) und eines für die Aufschlüsse im Lockersediment (OUTCR + OUTCR_LO)
Sollte doch auch funktionieren oder ??
Hallo,
habe mir mal deine Erläuterung durchgelesen, die ist ja ein datenbanktechnischer Widerspruch in sich, so wahr mir Codd helfe! (http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)#Merkspruch (http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)#Merkspruch) ;D
Unter dem Punkt 'Eintragen von Outcrops ...' wird unter dem Unterpunkt '-TYP 1 ...' genau auf das verwiesen, was wir hier die ganze Zeit zu erklären versuchen. ::)
Dass danach aber dennoch einzelne Tabellen für LO und GT zu führen sind sind datenbanktechnischer Humbug (sorry - ist aber so)
Wenn nun die Felder dieser beiden Tabellen (OUTCR_LO und OUTCR_GT) in der Tabelle OUTCR stehen würden und über das Feld TYP angegeben wird um welche Art es sich handelt, wozu brauchst du dann nochmals zwei Tabellen um die Infos zu trennen, sie können ja sowieso NIE vermischt werden, da sie sich durch TYP unterscheiden - verstehst du?
Auch für die Infos in den anderen Tabellen (Tabelle DISCO z.B.) gilt die Beziehung zur Tabelle OUTCR (ID-OUTCR) und nicht zur ID der 1:1 verlinkten Tabellen!
ZitatKann ich nicht auch zwei Formulare machen
Obwohl es nicht zwingend notwendig ist - auch mit einem ordentlichem Datendesign ist es natürlich möglich Daten über ein oder mehrere Formulare zu erfassen.
Die Anzahl der verwendeten Formulare steht in keinem Verhältnis zu den Tabellen. Formulare sind nur der Rahmen, das Werkzeug um Daten einzugeben, Tabellen stellen das Fundament deiner Applikation dar.
Wenn dieses bröckelt und wackelt, was meinst du macht die Applikation dann, die auf diesem Fundament gebaut ist? ;)
Natürlich hast du anch bestem Wissen und Gewissen (und dieser unseeligen Erläuterung) gehandelt, du solltest das Problem mit den Infos aus diesen Beiträgen wirklich bei deiner Projekleitung ansprechen, so wie Franz es vorgeschlagen hat.
HTH (ein wenig)
Hey database!
Danke für die Aufklärung - jetzt habe auch ich es gecheckt! :D
Soo um das ganze jetzt nochmal zusammenzufassen:
GT + LO in die Tabelle von OUTCR.
Mit Typ auswählen lassen welcher Aufschlusstyp gmeint ist.
Und mit den restlichen Tabellen ändere ich dann Beziehungen auf OUTCR.
Nur mit welchen Feldnamen in der neuen "Gesamttabelle" OUTCR verknüpfe ich dann die Beziehung? Mit dem neuen Typfeld??
Hallo Finki,
da du mich direkt angesprochen hast, möchte ich auch meinen Kommentar zu deiner Geschichte abgeben.
Ich bekenne, ich kann kaum etwas erkennen aus den Bildern u. der "Datenbankberschreibung"
Ich kann nur etwas anfangen mit einer Tabellenbeschreibung über Felder, Bedeutung, Schlüsselfelder und Beziehungen.
Nun wird es dir wahrscheinlich wenig nutzen, wenn wir permanent darauf hinweisen, dass das Datenmodell evt. falsch ist
Ob das wirklich so ist kann ich nicht so recht beurteilen, da ich mir die "Bilder" nicht weiter angesehen habe. Ich denke aber, das auch ein Tabellendesign mit einigen 1:1 Beziehungen durchaus denkbar ist (Gemäß Spezialisierung mit IS-A-Struktur in einem ERM-Modell)
Du hast nun mehrere Optionen:
1. Formularbau mit "ungünstigen" Tabellenaufbau
2. Rüchsprache zur möglichen Tabellenänderungen
3. Eigene Änderungen der Tabellen (User "merken" nicht, wie die Tabellen aufgebaut sind)
Ich persönlich kann nur versuchen zu helfen, wenn ich die DB "sehe" bzw. eine Beschreibung in oben genannter Form bekomme.
Mir fehlt die Fantasie aus den den bisherigen Bildern und Angaben einen konstruktiven Vorschlag zu machen, obwohl ich dies gerne täte!!
Gruß Oma
Danke für die Antwort Oma!
Ich bin jetzt dabei die Datenbank ein wenig umzubauen!
Ich werde jetzt die Tabellen OUTCR + OUTCR_GT + OUTCR_LO zu einer Tabelle zusammenfügen.
Die Verknüpfungen /Beziehungen mit den anderen Tabellen mach ich dann über das Feld ID von OUTCR.
In diesen anderen Tabellen muss ich dann noch das Feld ID_OUTCR_GT umändern, dass es sich auf das ID Feld von OUTCR bezieht oder???
So jetzt habe ich die besagten Tabellen zusammengefügt.
In den unteren Tabellen, in denen die Parameter eingetragen werden die Felder ID_OUTCR_GT bzw. ID_OUTCR_LO auf ID_OUTCR umgeändert.
Nun möchte ich die gleichen Beziehungen wie zuvor wieder herstellen (1:n), jedoch lässt mich das Access diese Beziehung nicht herstellen:
Folgende Fehlermeldung kommt:
Microsoft Office Access kann diese Beziehung nicht herstellen, wenn referenzielle Inegrität erzwungen wird.
Ich lade noch zwei Bilder hoch, die euch die gewünsche Beziehung zeigen.
[Anhang gelöscht durch Administrator]
Hallo finki,
- ob der Zusammenlegung der Tabellen richtig ist weiss ich nicht; wenn aber Franz u. Peter dies aus den bisherigen Beschreibungen erkenn, solltest du es so machen.
ZitatIn diesen anderen Tabellen muss ich dann noch das Feld ID_OUTCR_GT umändern, dass es sich auf das ID Feld von OUTCR bezieht oder???
ich vermute mal, dass es sich bei ID_OUTCR_GT um den Fremdschlüssel zu den Primärschlüssel in Tabelle OUTCR_GT handelt.
Dann musst du diese Wete als auch die Fremdschlüssel in den Detailtabellen zur Tabelle OUTCR_LO anpassen!
Das Zusammenfügen der Tabellen u. das Ändern der Fremdschlüssel in den Detailtabellen in den nunmehr neuen Primärschlüssel der zusammngefügten Tabellen ist keine leichte Nummer.
Du musst hierbei schrittweise u. sehr strukturiert vorgehen :D
Nochmal: ich würde es am besten finden, du stellst eine abgespeckte DB-Variante ins Forum
Gruß Oma
Hallo,
habe ich doch gesagt: keine so einfache Nummer.
Du kannst eine referentielle Integrität im Beziehungsfenster nur einstellen, wenn in den Tabellen auch die Bedingungen hierzu auch erfüllt sind.
RI heisst, in der Detailtabelle (n-Seite) können nur Datensätze enthalten sein, die als Fremdschlüssel einen Wert besitzen, der auch in der Hauptabelle (1-Seite) enthalten ist.
Wenn die Fehlermeldung kommt, sind also in der Detailtabelle im verknüpften Schlüselfeld Werte, die in der Haupttabelle nicht enthalten sind!
Gruß Oma
ah ok macht Sinn das ganze!
hab nämlich noch ein paar Datensätze in den Tabellen.
Wenn ich die jetzt leer mache und dann die Beziehungen erstelle sollte es eigentlich funktionieren oder??
edit: wie kann ich eine abgespeckte Variante ins Forum stellen ??
Hallo,
Zitatwie kann ich eine abgespeckte Variante ins Forum stellen
In dem du die Datenbank mittels der Option reparieren/komprimieren auf die kleinstmögliche Größe bringst, dann zipst und die *.zip hier per Anhang zur Verfügung stellst. ;)
Wenn es größenmäßig möglich ist, wären dabei ein paar Spieldaten recht vorteilhaft um die Zusammenhänge auch datenbegleitet zu sehen.
Hallo,
wenn du mit "Wenn ich die jetzt leer mache", meinst, die betreffenen DS zu löschen, sollte es dann klappen!
Gruß Oma
soo - habs komprimiert und gezippt!
hab noch zwei vorlagen im excel-dateien dabei - mit Daten um zu sehen wie's ausschauen soll!
Danke allerseids!!!
[Anhang gelöscht durch Administrator]
Soo habe gerade nochmal Rücksprache gehalten - die Lockersedimentaufschlüsse fallen weg bzw. die Tabelle OUTCR_LO und deren Folgetabellen OC_LO...
Hallo,
versuche mal mich da reinzufinden.
Habe erstmal das Beziehungsfenster mit den Tabellen so gestaltet, das man alle Beziehungen sieht, ohne noch horizontal zu scrollen, Warum du die Tabellen/Beziehungen so wie Kraut und Rüben angeordnet hast weisst nur du alleine!
Und den Hinweis von Peter, auch einige Daten zu hinterlegen so dass man die Beziehungen auch nachvollziehen kann?
Kein Wert in der Haupttabelle OUTCR ????
Gruß Oma
Soo:
Habe jetzt einen Wert in OUTCR eingefügt!
Die chaotische Darstellung der Beziehungen liegt daran, dass ich die Tabellen in eine neue Datenbank kopiert habe und anschließend die Tabellen um meine neue Haupttabelle OUTCR geordnet habe.
Ich habe jetzt auch gesehen, dass wenn ich die Datensätze in den OCGT Tabellen lösche, die Beziehungsherstellung funktioniert.
So weit so gut.
[Anhang gelöscht durch Administrator]
Soo - ich habe jetzt die Beziehungen wieder hergestellt und bin dabei ein Formular zu machen.
Die Tabelle "DISCO", in der Messerwerte enthalten sind, füge ich als Unterformular hinzu.
Was soll ich bei den OCGT-Tabellen machen?? Hier können pro Datensatz in der OUTCR Tabelle mehrere Werte angegeben werden.
Am besten auch als Unterformular??
zu später Stunde habe ich noch eine Frage:
Um die Daten auszudrucken habe ich mir überlegt, die Ausgabe in Form eines Berichts zu machen.
Ist dies in halbwegs einer ähnlichen Form wie bei der Vorlage möglich??
Hier gehts wohl wieder um die OCGT-Tabellen...
Die DiSCO-Tabelle habe ich drinnen - jetzt gehts nur mehr um die OCGT-Tabellen (Bericht + Formular)
hey leute eine frage:
geht sich das aus, das formular/bericht bis freitag fertig zu bekommen?
ich werde später nochmal meine fortschritte online stellen
Hallo,
Zitatgeht sich das aus, das formular/bericht bis freitag fertig zu bekommen?
wenn DU dich beeilst :o :-\
Also weißt du, es gibt ja auch noch Menschen auf dieser Weltkugel,
die einer geregelten Beschäftigung nachgehen und dadurch nicht immer die Zeit finden sich stundenlang einer fremden Sache zu widmen.
Hey Peter,
ich wollte auf keinem Fall von euch verlangen, eure ganze Zeit meinem Problem zu widmen.
Ich wollte es euch auch nicht aufzwingen.
Ganz im Gegenteil - ich bin echt sehr sehr dankbar das ihr mir weiterhelft und so viel Zeit für mein Datenbankproblem habt und schon hattet!
Entschuldige vielmals!!!
Im Anhang nochmal ein Update von mir wie mein momentaner Stand is:
[Anhang gelöscht durch Administrator]
Habe mir jetzt überlegt die restichen Tabellen in das Formular in Form von Unterformularen einzufügen .
Ist das sinnvoll???
Wie kann ich dann im Bericht, die damit verknüpften Werte in den L_...-Tabellen anzeigen lassen??
Hallo,
wie in den EMails schon gesagt,
1) Für JEDE Tabelle ein Formular. Für 1-Tabellen je ein Einzelform, für n-Tabellen je ein Endlosform.
2) Im Hauptform ein Registersteuerelement mit so vielen Seiten, wie verknüpfte n-Tabellen vorhanden sind.
3) Auf die Registerseiten je ein UFO-Steuerelement platzieren und dem das entspr. (Unter) Form zuweisen. (Definierung der Eigenschaften "Verknüpfen von/nach" auf die Schlüsselfelder nicht vergessen. Bei Benutzung des Assistenten werden die Felder entspr. den Tabellenbeziehungen vorgeschlagen.)
Hallo finki,
war ja nicht böse gemeint! ;)
Hallo,
ich habe mir deinen letzten Stand angesehen und musste den Großteil deiner Bezihungen so berichtigen, dass sie auch stimmen.
Ich habe dich in einem vorangegangenem Posting schon drauf hingewiesen, dass Beziehung über NICHT-Schlüsselfelder unterbleiben sollen / müssen - das hattest du immer noch nicht berücksichtigt.
Bei den Tabellen welche in deinem Beispiel mit der OUTCR-Tabelle in Beziehung standen habe ich das durchgehend berichtigt,
bei den anderen Tabellen habe ich die Bezihungen über Schlüsselspalten hergestellt und die fehlende Beziehung zur OUTCR und LANG erstellt.
Bleibt jetzt noch die 'freifliegende' Tabelle OCLO_REM - die musst du noch zuordnen und entsprechend dem Muster der anderen in Beziehung setzen.
Dann gab es den Hinweis mit dem Formulardesign zu warten bis das Tabellenkonzept vollständig und richtig ist - das hast du anscheinend auch nicht ganz abwarten können ;)
Das macht ja Sinn, denn wenn du nun schon Formulare auf einem NICHT fertigen Tabellenmodell gebaut hast, kannst du die wieder wegschmeissen,
wodurch natürlich auch die gesamte Arbeitszeit für die Fische war!
Ich denke, dass das Datenmodell so wie es nun steht einigermassen verwendbar ist.
Als nächstes kannst du nun beginnen Formulare gemäß der Empfehlungen von Franz (DF6GL) zu erstellen.
HTH
Peter
[Anhang gelöscht durch Administrator]
Hallo Peter,
die Problematik dieses Threads ist schon (per Emails) erledigt... :-)
Hi Franz,
danke für die Info!