Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: -Tom- am Dezember 31, 2009, 18:12:07

Titel: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Dezember 31, 2009, 18:12:07
Hallo,

Ich habe ein Formular das 70 Felder enthält, einige sind reine Textfelder, manche sind Kombifelder und dann noch Kontrollkästchen.

Zu jedem Kombifeld gibt es eine zugrundeliegende Tabelle.

z.B.

tbl_spannung
tbl_strom
tbl_leistung
...
..
.

Diese 70 Felder habe ich nun in mehrere Tabellen zusammengefasst.


tbl_Motorgrunddaten1
-> tbl_spannung
-> tbl_strom
-> tbl_leistung
...
..
.

tbl_Motorgrunddaten2
-> tbl_antriebsart
-> tbl_wellenlänge
-> tbl_wellendurchmesser
...
..
.

tbl_Motorgrunddaten3
-> farbe
-> gewicht
...
..
.

tbl_getriebe
-> ...

tbl_bremse
-> ...

Diese  Tabellen fasse ich dann in der Tabelle tbl_Motordaten zusammen.

Zwischen den Tabellen habe ich Beziehungen mit referentieller Integrität eingestellt.

Ist dieser Aufbau so korrekt?

Tom


Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Dezember 31, 2009, 19:10:34
Hallo,
die 3 Tabellen für die Motorgrundaten (1-3) halte ich für falsch. Eine Tabelle für die Grunddaten reicht. Alle Daten die jeder Motor hat kommen in eine Tabelle. Alle Daten die nicht jeder Motor hat aber wenn, dann nur 1x, kommen in jeweils extra Tabellen mit einer 1:1 Beziehung.
Warum beginnst Du die Namen der Tabellenfelder mit tbl_..
ZitatDiese  Tabellen fasse ich dann in der Tabelle tbl_Motordaten zusammen.
Zum Zusammenfassen brauchst Du keine Tabelle, das macht man mit einer Abfrage, eine Tabelle wäre falsch.
ZitatIst dieser Aufbau so korrekt?
Nein, siehe meine vorherigen Ausführungen.

Kannst Du nicht eine Beispieldb hier hochladen?
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Dezember 31, 2009, 19:41:23
Zitat von: MzKlMu am Dezember 31, 2009, 19:10:34
die 3 Tabellen für die Motorgrundaten (1-3) halte ich für falsch. Eine Tabelle für die Grunddaten reicht. Alle Daten die jeder Motor hat kommen in eine Tabelle.

Ich wollte auch erst eine Tabelle machen, aber ich wollte dann diese Tabelle mit der tbl_Motordaten in der die Daten dann gespeichert werden verknüpfen und da waren das zuviele Felder.

Zitat von: MzKlMu am Dezember 31, 2009, 19:10:34
Warum beginnst Du die Namen der Tabellenfelder mit tbl_...

Damit ich weiß dass es sich hier um Tabellen handelt, das erleichtert mir die übersicht im Programmcode.

Zitat von: MzKlMu am Dezember 31, 2009, 19:10:34
ZitatDiese  Tabellen fasse ich dann in der Tabelle tbl_Motordaten zusammen.
Zum Zusammenfassen brauchst Du keine Tabelle, das macht man mit einer Abfrage, eine Tabelle wäre falsch.

Da hab ich mich falsch ausgedrückt, tbl_motordaten soll die Tabelle sein wo dann die ganzen Datensätze gespeichert werden.

Zitat von: MzKlMu am Dezember 31, 2009, 19:10:34
Kannst Du nicht eine Beispieldb hier hochladen?

Ja, habe alles unnötige erstma entfernt.

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Dezember 31, 2009, 19:58:50
Hallo,
oje, da wird man ja erschlagen. OK fangen wir mal an.
ZitatDamit ich weiß dass es sich hier um Tabellen handelt, das erleichtert mir die übersicht im Programmcode.
Bei den Tabellen ist das OK, Du hattest aber auch die Feldnamen so bezeichnet. Aber in der DB ist es ja nicht. Schreibe wenigsten einen Buchstaben in den Feldnamen groß, auch das erleichtert die Programmierung. Wenn Du dann in VBA einen solchen Namen klein schreibst wandelt Access automatisch in den Großbuchstaben und Du weist, Du hast kein Tipfehler. Erleichtert ungemein.
Die 3 Grunddatentallen zum Motor gehören zusammen in eine Tabelle, die Feldanzahl ist nicht zu groß. Im Formular kannst Du die Felder wunderbar übersichtlich in Registern gruppieren und anzeigen.
Ein Motor kann doch nur 1 Getriebe haben, wenn ja, ist das dann eine 1:1 Beziehung.
Beim Getriebe gibt es 5 Lagerfelder. Sind das dann immer 5 Lager oder können das auch nur 2 sein.
Das sollte mit einer Zwischentabelle als n:m aufgelöst werden.

Wenn Du willst, dass ich Dir weiter helfe, werfe ausnahmlos alle Nachschlagefelder raus. Die sind völlig überflüssig und unnütz. Durch die RI bist Du nicht in der Lage von Hand falsche Werte einzugeben. Lade dann die DB noch mal hoch. Mit Nachschlagefeldern mache ich nicht weiter.
Da binn ich gnadenlos, die Dinger bringen Dich nähmlich zur Weisglut.

Wir machen das Stückweise. Ich werde mich inzwischen mal weiter mit beschäftigen.
Für heute mache ich jetzt aber Schluss, Du kannst aber noch antworten.
Guten Rutsch.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Dezember 31, 2009, 20:25:42
Zitat von: MzKlMu am Dezember 31, 2009, 19:58:50
Schreibe wenigsten einen Buchstaben in den Feldnamen groß, auch das erleichtert die Programmierung. Wenn Du dann in VBA einen solchen Namen klein schreibst wandelt Access automatisch in den Großbuchstaben und Du weist, Du hast kein Tipfehler. Erleichtert ungemein.

Ok, werde ich mir merken.

Zitat von: MzKlMu am Dezember 31, 2009, 19:58:50
Ein Motor kann doch nur 1 Getriebe haben, wenn ja, ist das dann eine 1:1 Beziehung.
Beim Getriebe gibt es 5 Lagerfelder. Sind das dann immer 5 Lager oder können das auch nur 2 sein.
Das sollte mit einer Zwischentabelle als n:m aufgelöst werden.

Beim Getriebe sind es min 2 und max 6 Lager.

Zitat von: MzKlMu am Dezember 31, 2009, 19:58:50
Wenn Du willst, dass ich Dir weiter helfe, werfe ausnahmlos alle Nachschlagefelder raus. Die sind völlig überflüssig und unnütz. Durch die RI bist Du nicht in der Lage von Hand falsche Werte einzugeben. Lade dann die DB noch mal hoch. Mit Nachschlagefeldern mache ich nicht weiter.
Da binn ich gnadenlos, die Dinger bringen Dich nähmlich zur Weisglut.

OK, habe meinen Fehler gefunden. Habe bei der einen Tabelle den Datentyp auf Text stehen gehabt und da ging dann die Beziehung nicht, drum hab ich dor Nachschlagefeld ausgewählt. Muss aber vom Typ Zahl sein. Richtig!?

Zitat von: MzKlMu am Dezember 31, 2009, 19:58:50
Für heute mache ich jetzt aber Schluss, Du kannst aber noch antworten.
Guten Rutsch.

Ist verständlich! Ich muss leider noch bis 22Uhr arbeiten. Wünsche Dir auch einen guten Rutsch und Danke schonmal für die Hilfe!!!

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Dezember 31, 2009, 21:22:17
Hallo,
entferne bitte alle Nachschlagefelder in allen Tabellen. Lade dann die DB noch mal hoch. Mit Nachschlagefeldern mache ich nicht weiter. Du hast doch da bestimmt mindestens 40 von den Dingern drin.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 01, 2010, 14:41:56
Stimmen die Beziehungen so?

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 01, 2010, 15:29:35
Hallo,
da sind ja fast keine drin.
Wo ist den der Motor?
Die Lager des Getriebes sind als n:m aufzulösen mit einer Zwischentabelle.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 01, 2010, 17:59:16
So jetzt mit Motor und der Zwischentabelle fürs Getriebe und die Lager.
Benötige ich beim Motor für die doppelten Werte wie Spannung, Strom, usw. auch Zwischentabellen oder passt es so?

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 01, 2010, 20:53:59
Hallo,
die Bremstabelle hängt noch in der Luft.
Die Felder Lager1-6 entfallen ersatzlos. Auch die verbundenen doppelten Lagertyptabellen können aus dem Beziehungsfenster gelöscht werden. Der Tabelle Getriebe_Lager solltest Du einen Autowert als Primärschlüssel verpassen.

Siehe Bild.

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 01, 2010, 21:32:01
Die Tabelle tbl_Bremse hab ich jetzt mit der Tabelle tbl_Motordaten verknüpft, so wie auch die Tabellen tbl_Getriebe und tbl_Heizung.
Bei tbl_Motor bekomme ich immer die Meldung "Die Operation ist fehlgeschlagen. Tabelle tbl_Motor enthält zu viele Indizies"

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 02, 2010, 10:43:39
Hallo,
sorry, diese 32 Grenze hatte ich nicht bedacht. Es werden dnn doch meht Motortabellen gebraucht.

Aber ich hätte jetzt die bitte, dass wir das etwas systematischer machen.

Zunächst noch folgende Bemerkungen:
Alle Felder die eine Zahl haben (Strom, Spannung etc.) sollten auch als Zahl angelegt werden und nicht als Text. Dadurch entfällt auch die Sortierspalte. Jeweils den Datensatz mit dem "----" kannst Du löschen, der ist überflüssig.
Für die Frequenz brauchst Du keine Tabelle, da kannst Du (ausnahmsweise) eine Nachschlagefeld mit Werteliste anlegen. Nur eine Spalte. Fehleingaben werden durch eine Gültigkeitsregel verhindert.
Die Spannungsart ist keine Eigenschaft der Spannung, sondern des Motors. Das 110 DC änderst Du in 110, beim Motor dann noch ein Feld "Spannungsart" mit Werteliste AC/DC, das gleiche gilt für Hohlwelle. Nimm in die Motortabelle noch ein Feld für den Inndurchmesser der Hohlwelle auf. Wenn da ein Wert drinsteht, hat der Motor eine Hohlwelle. InnenD könnte(?) ebenfalls eine Werteliste sein. Das erschlägt auch noch die konische Welle. Eventuell in der Motortabelle ein Häkchenfeld "Konisch".

Ein Motor kann doch nur ein Getriebe haben, dann ist die Beziehung zwischen Motor und Getriebe als 1:1 Beziehung anzulegen. Eine 1:1 Beziehung muss auch zwischen den 2 Motor Tabellen angelegt werden.

Wo ist der Einbauort?
Was ist der Standort?
Was heist auf Lager?
Was ist Tagname?
Was kommt in das Feld Inspektion?

Baue bitte mal die Änderungen ein, soweit klar und lade die DB noch mal hoch. Wir führen jetzt auch Versionsnummern ein.
Nenne die DB ab jetzt Motordatenbank01.MD. Die 01 zählen wir immer hoch, bis 99 sollte reichen.  ;D
Man kann auf diese Art besser die Änderungen nachvollziehen.
Ich bin heute Abend wieder Online.

Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 02, 2010, 14:25:45
Zitat von: MzKlMu am Januar 02, 2010, 10:43:39
Zunächst noch folgende Bemerkungen:
Alle Felder die eine Zahl haben (Strom, Spannung etc.) sollten auch als Zahl angelegt werden und nicht als Text. Dadurch entfällt auch die Sortierspalte. Jeweils den Datensatz mit dem "----" kannst Du löschen, der ist überflüssig.

Ich habe den Datensatz "----" eingefügt damit ich z.B. auswählen kann dass es diese Option bei diesem Motor nicht gibt. z.B. wenn der Motor nur eine Spannung hat dann steht im zweiten Feld "----".
Das würde ich gerne so beibehalten.


Zitat von: MzKlMu am Januar 02, 2010, 10:43:39
Wo ist der Einbauort?
Was ist der Standort?
Was heist auf Lager?
Was ist Tagname?
Was kommt in das Feld Inspektion?

Einbauort = Standort, da wo der Motor halt angebaut ist.
Lager bedeutet dass der Motor im Lager ist und nicht irgendwo angebaut.
Tagname ist der Name im Leitsystem.
Ins Feld Inspektion kommt z.B. 2008 Lager A+B gewechselt.

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 02, 2010, 17:30:57
 :)

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 02, 2010, 18:58:56
Hallo,
ZitatIch habe den Datensatz "----" eingefügt damit ich z.B. auswählen kann dass es diese Option bei diesem Motor nicht gibt. z.B. wenn der Motor nur eine Spannung hat dann steht im zweiten Feld "----".
Das würde ich unter keinen Umständen so lassen. Zahlen die eindeutig Zahlen sind, kriegen den Datentyp Zahl. Alles andere ist Krampf. Wenn die Option nicht vorhanden ist, lasse das 2.Feld dann leer, das leere Feld kann problemlos im Formular mit "----" (Oder Nv oder was auch immer, jedes Feld unterschiedlich wenn zweckmäßig) angezeigt werden, nur angezeigt, aber nicht gespeichert.

Später mehr, habe die 01 noch nicht angesehen.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 02, 2010, 19:47:02
Zitat von: MzKlMu am Januar 02, 2010, 18:58:56
Das würde ich unter keinen Umständen so lassen. Zahlen die eindeutig Zahlen sind, kriegen den Datentyp Zahl. Alles andere ist Krampf. Wenn die Option nicht vorhanden ist, lasse das 2.Feld dann leer

Wenn Du meinst, versteh zwar nicht ganz wo dabei das Problem ist. Klar könnte ich auch das Feld leer lassen, nur wollte ich mit einem leeren Feld signalisieren dass der Wert noch nicht bekannt ist, weil noch nicht alle Werte jedes Motors aufgenommen sind.

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 02, 2010, 20:19:13
Hallo,
den 2.Teil meiner Antwort zu "----" hast Du in Deinem Zitat unterschlagen:
Zitatdas leere Feld kann problemlos im Formular mit "----" (Oder Nv oder was auch immer, jedes Feld unterschiedlich wenn zweckmäßig) angezeigt werden, nur angezeigt, aber nicht gespeichert.
Und das problem hast Du schon erkannt, daher die Sortierspalte. Was machst Du wenn in einer solchen Spalte ein Wert dazukommt? Alle Sortierzahlen ändern?

Es geht weiter.
So kann man keine 1:1 Beziehungen anlegen. 1:1 Beziehungen dürfen nicht über 2 Primärschlüssel gemacht werden. Mit Autowerten kann es auch nicht funktionieren. Autowerte sind ja nicht frei verfügbar und eine Seite muss frei sein. Du kannst auch nicht einfach das Feld Getriebe zum Primärschlüssel machen, das macht auch keinen Sinn. Das Feld Getriebe wird indiziert (Duplikate Nein) damit wird das eine 1.1 Beziihung. Baue jetzt aber mal nichts um. Ich baue Dir das morgen mal ein.

Zunächst weitere Fragen:
Wird der Tagname einmalig vergeben für jeden Motor oder nur wenn der Motor eingebaut ist?

Was ist:
Kostenstelle? Nur wenn eingebaut oder generell?
Verteilung?
Ort?
Anlage?
Verwendung?
SZNr?
LagerNr?, nur wenn der Motor auf Lager ist, oder immer vorhanden und dann immer gleich?
Überholt?
Motor?

Die Antriebsart ist so falsch. Drehstrom oder Gleichstrom ist eine Eigenschaft des Motors. Die anderen Werte in dieser Tabelle zeigen das was der Motor antreibt (angetriebnes Anbauteil). Das gehört auch nicht in diese Tabelle, das gibt eine n:m Tabelle zwischen Motor und Anbauteil.

Die Motortabellen sollten sinnvoll geteilt werden.

tbl_MotorGrunddaten
tbl_MotorElDaten
tbl_MotorMechDaten

Bei Leistung,Spannung, Strom, Drehzahl, Drehmoment kann es da nur max je 2 Werte geben?


Du solltest Dir darüber klar werden, dass da noch einiges zu tun ist.
Ich habe auch nur Morgens und Abends Zeit.

Bitte keine Umbauten machen, beantworte erst mal noch obige Fragen.

Noch eine Frage: hat ein Motor eine Inventarnummer oder sonst eine eigene Nummer in Eurem System die der Motor über seine Lebendsdauer behält, oder ist das die tagnummer?
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 02, 2010, 21:43:02
Zitat von: MzKlMu am Januar 02, 2010, 20:19:13
Und das problem hast Du schon erkannt, daher die Sortierspalte. Was machst Du wenn in einer solchen Spalte ein Wert dazukommt? Alle Sortierzahlen ändern?

Hätte ich wohl oder übel machen müssen

Zitat von: MzKlMu am Januar 02, 2010, 20:19:13
Wird der Tagname einmalig vergeben für jeden Motor oder nur wenn der Motor eingebaut ist?

Nur wenn Motor eingebaut

Zitat von: MzKlMu am Januar 02, 2010, 20:19:13
Kostenstelle? Nur wenn eingebaut oder generell?
Verteilung?
Ort?
Anlage?
Verwendung?
SZNr?
LagerNr?, nur wenn der Motor auf Lager ist, oder immer vorhanden und dann immer gleich?
Überholt?
Motor?

Kostenstelle wird soweit ich weiß nur vergeben wenn eingebaut.
Verteilung: Station von der die Zuleitung kommt
Ort bezeichnet den Schaltschrank innerhalb der Station
Anlage=Anlagenkennzeichen
Verwendung für was wird der Motor verwendet
SZNr.: das soll mal die Lebenslang eindeutige Nummer des Motors werden
LagerNr: Nur wenn im Lager
Überholt: In welchem Jahr der Motor das letztemal überholt wurde.
Motor: Wo steht das?

Diese Daten außer Kostenstelle will ich über reine Textfelder eingeben.

Zitat von: MzKlMu am Januar 02, 2010, 20:19:13
Die Antriebsart ist so falsch. Drehstrom oder Gleichstrom ist eine Eigenschaft des Motors. Die anderen Werte in dieser Tabelle zeigen das was der Motor antreibt (angetriebnes Anbauteil). Das gehört auch nicht in diese Tabelle, das gibt eine n:m Tabelle zwischen Motor und Anbauteil.

Das habe ich halt so aus der vorhandenen Motorenliste übernommen.

Zitat von: MzKlMu am Januar 02, 2010, 20:19:13
Bei Leistung,Spannung, Strom, Drehzahl, Drehmoment kann es da nur max je 2 Werte geben?

Ja

Zitat von: MzKlMu am Januar 02, 2010, 20:19:13
Du solltest Dir darüber klar werden, dass da noch einiges zu tun ist.

Was muss denn noch alles gemacht werden? Wenn die Beziehungen noch stimmen und die Motordaten ordentlich aufgeteilt sind dann wars das doch oder nicht?


Zitat von: MzKlMu am Januar 02, 2010, 20:19:13
Noch eine Frage: hat ein Motor eine Inventarnummer oder sonst eine eigene Nummer in Eurem System die der Motor über seine Lebendsdauer behält, oder ist das die tagnummer?

Siehe SZNr

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 02, 2010, 21:55:21
Hallo,
ZitatMotor: Wo steht das?
In der Tabelle tbl_Motor.
ZitatWas muss denn noch alles gemacht werden?
An der Struktur muss naoch einiges geändert werden, daher die gezielten nachfragen. Die oben nachgefragten Felder müssen aus der Motordatentabellen raus. Das gibt eine eigene Tabelle die diese Dinge als komplette Historie abbildet. Das wirst Du dann schon sehen.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 03, 2010, 16:29:26
Zitat von: MzKlMu am Januar 02, 2010, 21:55:21
Hallo,
ZitatMotor: Wo steht das?
In der Tabelle tbl_Motor.

Das ist nur drin damit ich die Beziehung von der tbl_Motor1 und tbl_Motor2 mit der tbl_Motordaten bekommen. So wie auch Getriebe, Bremse und Heizung.

Zitat von: MzKlMu am Januar 02, 2010, 21:55:21
An der Struktur muss naoch einiges geändert werden, daher die gezielten nachfragen. Die oben nachgefragten Felder müssen aus der Motordatentabellen raus. Das gibt eine eigene Tabelle die diese Dinge als komplette Historie abbildet. Das wirst Du dann schon sehen.

OK

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 04, 2010, 14:14:09
So, hat etwas länger gedauert.
Anbei mal der 1.Entwurf.
Die Tabellen habe ich geteilt wie es mir sinnvoll erschien. Weiterhin habe ich die ganzen Sortierspalten entfernt. Die beziehungen zu den Nachschlagetabellen habe ich mal wegen der Übersichtlichkeit entfern. Wenn alles soweit klar ist, kannst Du diese dann ergänzen (muss dann sein).
den Abaluf habe ich mir jetzt wie folgt gedacht.

Neuer Motor in einem Koplettformular mit allen Daten erfassen.
1.Datensatz in der Tabelle:
tbl_VorgaengeZumMotor
Vorgangsart:Beschaffung
Vorgangsdatum: Datum
KostenPreis: Anschaffungspreis
Vorgangsinfo: Weitere Informationen dazu.

2.Datensatz
Vorgangsart:Einbau
Vorgangsdatum: Datum
KostenPreis:
Vorgangsinfo: Weitere Informationen zum Einbau.
In der Tabelle "tbl_Einbau" werden alle relevanten Infos zum Einbauort abgelegt.

In ähnlicher Art und Weise werden dann Vorgänge wie Ausbau, Inspektion, Überholung, Auf Lager, Verschrottung etc. festgehalten. Manche Felder bleiben dann halt leer. Jediglich der Einbau erfordert eine weitere Tabelle.

Verbesserungsvorschläge:
Simmerringtabelle teilen in AD, ID, B dazu den Typ des Simmerings und Material, Perbunan etc.
Das Gleiche gilt auch für die Lagertypen.

DB (02) anbei.

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 07, 2010, 10:40:29
Zitat von: MzKlMu am Januar 04, 2010, 14:14:09
den Abaluf habe ich mir jetzt wie folgt gedacht.

Neuer Motor in einem Koplettformular mit allen Daten erfassen.
1.Datensatz in der Tabelle:
tbl_VorgaengeZumMotor
Vorgangsart:Beschaffung
Vorgangsdatum: Datum
KostenPreis: Anschaffungspreis
Vorgangsinfo: Weitere Informationen dazu.

2.Datensatz
Vorgangsart:Einbau
Vorgangsdatum: Datum
KostenPreis:
Vorgangsinfo: Weitere Informationen zum Einbau.
In der Tabelle "tbl_Einbau" werden alle relevanten Infos zum Einbauort abgelegt.

In ähnlicher Art und Weise werden dann Vorgänge wie Ausbau, Inspektion, Überholung, Auf Lager, Verschrottung etc. festgehalten. Manche Felder bleiben dann halt leer.

Also Du meinst mit einem Formular alle Daten des Motors (ElDaten,Grunddaten,Mechdaten) aufnehmen und dann über ein weiteres Formular die jeweiligen Vorgänge zum Motor.

Zitat von: MzKlMu am Januar 04, 2010, 14:14:09
Jediglich der Einbau erfordert eine weitere Tabelle.

Erfordert das Lager nicht auch eine weitere Tabelle für Lagernr und Lagerort?

Zitat von: MzKlMu am Januar 04, 2010, 14:14:09
Verbesserungsvorschläge:
Simmerringtabelle teilen in AD, ID, B dazu den Typ des Simmerings und Material, Perbunan etc.
Das Gleiche gilt auch für die Lagertypen.

Gut gemeint, aber ich denke das ist dann zuviel Aufwand. Mir reicht das so vollkommen.

Was sind das für Tabellen (MSysAccessStorage,MSysAccessStorage_1) die unter Beziehungen noch angezeigt werden?

Möcht mich auch mal für die Hilfe bedanken!

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 07, 2010, 11:33:14
Hallo,
ZitatAlso Du meinst mit einem Formular alle Daten des Motors (ElDaten,Grunddaten,Mechdaten) aufnehmen und dann über ein weiteres Formular die jeweiligen Vorgänge zum Motor.
Genau, so meinte ich das.
ZitatErfordert das Lager nicht auch eine weitere Tabelle für Lagernr und Lagerort?
Im Prinzip ja, aber da es nur 2 Felder sind, die bei anderen Vorgängen dann leer bleiben, wollte ich diese weitere tabelle vermeiden. Aber um es klar zu sagen, im Sinne der Normalisierung wäre es notwendig. Aber ich vetrete eher die Meinung nicht unter allen Umständen normalisieren.

ZitatWas sind das für Tabellen (MSysAccessStorage,MSysAccessStorage_1) die unter Beziehungen noch angezeigt werden?
Das ist mir auch ein Rätsel, ich kriege die auch nicht weg.
Da mich das interessiert, werde ich da mal einen eigenen Beitrag eröffnen.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: accessundich am Januar 07, 2010, 13:57:31
Dabei handelt es sich um Systemtabellen.
die bekommt man meines Wissens via Tools-Option-view (oder so ähnlich) und dort bei "Hidden Objects" raus. Habe Access2007 und momentan kein anderes zur Hand.
Und im Beziehungsfenster einfach löschen, da kann nichts passieren.

Bis denne
Andi
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 07, 2010, 14:00:32
Hallo,
@Andi
ZitatDabei handelt es sich um Systemtabellen.
Ja, das ist mir klar, nur wie kommen die da rein, ich habe diese nicht hinzugefügt. In den Optionen ist auch die Anzeige der Systemobjekte abgeschaltet.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: accessundich am Januar 07, 2010, 14:05:11
Meines Erachtens gehört das zu den Mysterien von Access. Da habe ich mittlerweile schon die tollsten Sachen erlebt.
>:(

Viele Grüße
Andi
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 08, 2010, 10:01:10
Zitat von: accessundich am Januar 07, 2010, 13:57:31Und im Beziehungsfenster einfach löschen, da kann nichts passieren.

Ich konnte die Beziehung löschen.

Muss das Feld Heizung in der Tabelle tbl_MotorElDaten korrekterweise nicht auch HeizungID_F heißen?

EDIT

Mit dem Feld Motorart in der Tabelle tbl_MotorElDaten meinst du die Antriebsart oder?

-Tom-
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 08, 2010, 10:29:13
Hallo,
ZitatMuss das Feld Heizung in der Tabelle tbl_MotorElDaten korrekterweise nicht auch HeizungID_F heißen?
Ja, so sollte es sein. Alle Fremdschlüsselfelder sollte das Anhängsel _F bekommen, damit man das immer zweifeldfrei auseinanderhalten kann. Das ist im späteren Verlauf der Enwicklung wichtig.
ZitatMit dem Feld Motorart in der Tabelle tbl_MotorElDaten meinst du die Antriebsart oder?
Damit meine ich Drehstrom oder Gleichstrom. Diese gehört nicht in die Tabelle "tbl_Antriebsart", das ist eindeutig eine elekrische Eigenschaft des Motors. In diesem Fall ist auch ein Nachschlagefeld in der Tabelle (habe ich angelegt) kein Problem.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Januar 08, 2010, 11:45:46
Hi, sorry wenn ich mich hier so reinhänge...

Aber nachdem ich mit genau solchen Dingen immer wieder konfrontiert bin...

Zitat von: MzKlMu am Januar 08, 2010, 10:29:13
Alle Fremdschlüsselfelder sollte das Anhängsel _F bekommen, damit man das immer zweifeldfrei auseinanderhalten kann. Das ist im späteren Verlauf der Enwicklung wichtig.

... kann man gar nicht oft genug darauf hinweisen, bereits bei der Entwicklung von Tabellen auf eine vernünftige und vor Allem EINDEUTIGE Benennung der Felder zu achten.
Wie man die Präfixe gestaltet ist nicht so wichtig, mehr dass sie verwendet werden und dass man immer die gleichen verwendet.

Gruß
Peter
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 08, 2010, 11:46:59
Zitat von: MzKlMu am Januar 08, 2010, 10:29:13
ZitatMit dem Feld Motorart in der Tabelle tbl_MotorElDaten meinst du die Antriebsart oder?
Damit meine ich Drehstrom oder Gleichstrom. Diese gehört nicht in die Tabelle "tbl_Antriebsart", das ist eindeutig eine elekrische Eigenschaft des Motors. In diesem Fall ist auch ein Nachschlagefeld in der Tabelle (habe ich angelegt) kein Problem.

Aber wo kommt dann die Antriebsart hin, die muss doch dann noch in die Tabelle tbl_MotorGrunddaten, oder nicht?

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Januar 08, 2010, 11:58:33
Hi Tom,

habe mir eben das Datenmodell des letzten Uploads angesehen - ich würde auch sagen in die Grunddaten - dort sind sie thematisch richtig und DB-technisch (Normalisierung) ebenfalls.

Frage zu meinem Verständnis: Was steht oder soll ins
Feld Motortyp der tbl_MotorGrunddaten - ein Zahlenfeld  ???

LG
Peter
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 08, 2010, 12:11:14
Hallo,
was ist denn die Antriebsart, die Antriebsart ist doch etwas was der Motor antreibt oder?
Ist der Motor immer fest damit verbunden, oder kann der gleiche Motor einmal eine Heizungspumpe und nach einer Reparatur z.B. eine Kreiselpumpe antreiben.
Die Tabelle mit der Antriebsart ist für mich noch völlig unklar.
Wenn das ein Getriebemotor ist und das getriebe ist immer fest mit dem Motor verbunden gehört das zum Motor. Wenn der Motor unterschiedliche Dinge antreibt muss das anders aufgezogen werden. Erkläre also bitte mal die Tabelle Antriebsart genau, genaugenommen, ist das die Abtriebsart.

Du kannst hier übrigens Fachbegriffe verwenden, ich bin vom Fach.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 08, 2010, 13:52:11
Zitat von: database am Januar 08, 2010, 11:58:33
Frage zu meinem Verständnis: Was steht oder soll ins
Feld Motortyp der tbl_MotorGrunddaten - ein Zahlenfeld  ???

Dort kommt der Typ des Motors rein, z.B. bei einem AEG-Motor "AM180MR2"

Zitat
was ist denn die Antriebsart, die Antriebsart ist doch etwas was der Motor antreibt oder?
Ist der Motor immer fest damit verbunden, oder kann der gleiche Motor einmal eine Heizungspumpe und nach einer Reparatur z.B. eine Kreiselpumpe antreiben.

Ja das ist das was der Motor antreibt, z.B. eine Pumpe oder ein Getriebe.
Ich würd mal sagen manchmal fest verbunden und manchmal eben auch nicht.

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 08, 2010, 13:56:58
Hallo,
ZitatIch würd mal sagen manchmal fest verbunden und manchmal eben auch nicht.
Dann muss das Schlüsselfeld in die Tabelle mit dem Einbauort, denn dort wird bestimmt was der Motor antreibt.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 09, 2010, 08:43:05
OK, habe ich gemacht.
Habe auch alle Beziehungen eingefügt. Jetzt müsste die Struktur doch fertig sein und ich kann mit dem Rest weitermachen, oder?

Im Anhang DB03

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 09, 2010, 10:25:07
Hallo,
ich bin mit der Antriebsarttabelle noch nicht einig. Zunächst muss mal Drehstrom und Gleichstrommotoer aus dieser Tabelle raus. Weiterhin wäre noch zu klären, ob in dieser Tabelle auch Antriebsarten sind die mit dem Motor immer fest verbunden sind.
Wenn das nähmlich der Fall ist, muss die Tabelle anders aufgebaut werden, oder geteilt in die Arten die fest mit dem Motor verbunden sind und die Arten die sich verändern.

Könntest Du das bitte noch klären.

Und noch mal der Hinweis, die Antriebsarten sind ja eigentlich die Teile die der Motor antreibt, es ist also die Abtriebsseite des Motoers.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 09, 2010, 13:49:53
Zitat von: MzKlMu am Januar 09, 2010, 10:25:07
Weiterhin wäre noch zu klären, ob in dieser Tabelle auch Antriebsarten sind die mit dem Motor immer fest verbunden sind.

Das muss ich nochmal klären, aber ich denke wir lassen das so dass die Antriebsart nicht fest verbunden ist.
Dann würde das mit der Tabelle ja so passen oder?

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 09, 2010, 13:53:57
Hallo,
Ja, dann sollte das passen.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 10, 2010, 06:50:36
Jetzt habe ich noch eine Frage, in den Tabellen tbl_Bremse und tbl_MotorMechdaten werden doch auch immer nur die Fremdschlüssel gespeichert oder? Dort fehlt doch dann auch noch das Kürzel _F, z.B. bei Bremsspannung oder Wellendurchmesser

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 10, 2010, 10:22:39
Hallo,
ja, es ist sinnvoll an alle Fremdschlüssel das _F anzuhängen. Ich habe das wegen der Vielzahl nicht überall geändert. Für die Funktion der DB ist es nicht wichtig, aber für den Programmierer/Entwickler. Es muss immer zweifelsfrei zwischen Primärschlüssel und Fremdschlüssel unterschieden werden. Bei den Kombis zur Auswahl wird ja der Primärschlüssel gesucht (mit Spaltenbreite 0 aber nicht angezeigt). Für den Hersteller z.B. suche ich im Komi nach der HerstellerID (PS) muss aber in den Fremdschlüssel schreiben. Das heist wenn alle Fremdschlüssel das _F haben muss das an das Kombi gebunden Feld auch an das gleichnamige Feld aber mit dem Anhängsel _F gebunden sein. Bei vielen Fremdschlüsseln, was ja hier der Fall ist, erleichtert das Vorgehen ganz erheblich den Überblick zu behalten. Wie Du die beiden Schlüsselarten kennzeichnest ist eigentlich egal, es muss nur einheitlich sein.

Es würde auch so gehen, z.B.

P_HerstellerID
F_HerstellerID

aber hinten anhängen ist in der Handhabung einfacher und es reicht auch nur das F anzuhängen, ohne F=PS.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 10, 2010, 11:08:37
Zitat von: MzKlMu am Januar 10, 2010, 10:22:39
Das heist wenn alle Fremdschlüssel das _F haben muss das an das Kombi gebunden Feld auch an das gleichnamige Feld aber mit dem Anhängsel _F gebunden sein.

Verstehe nicht so richtig was Du da meinst.

Noch ne andere Frage. In der Tabelle tbl_Bremse darf es jeden Bremsentyp (Bremsspannnung,-moment und Gleichrichter gleich) nur einmal geben. Richtig?

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 11, 2010, 17:36:07
Hallo,
ich habe die DB im Hinblich auf die Bremse noch mal geändert. Ich war bisher davon ausgegangen, dass die Bremse ein bestimmter Typ ist dessen Primärschlüssel dann als Fremdschlüssel in die Motortabelle kommt. Das ist aber nicht der Fall. Man könnte jetzt auf die tabelle "Bremse" verzichten und die Bremsspannung, das Moment und den Gleichrichter direkt der Motortabelle zuordnen. Das hat aber den nachteil dass
1.wenn der Motor keine Bremse hat leere felder geführt werden müssen und
2.die Beziehungen in einer Tabelle wieder zu viel werden.
Daher bleibt die Tabelle "Bremse" aber die Beziehung wird umgedreht. In die Bremstabelle kommt der Fremdschlüssel der el. Motordaten. Da ein Motor nur eine Bremse haben kann, wird das jetzt zu einer 1:1 Beziehung. Der Primärschlüssel der Bremse Tabelle spielt somit für die Beziehung keine Rolle mehr. Damit hat sich das Problem in Deinem anderen Beitrag erledigt.
Die Zuordnung der Bremsenfelder erfolgt jetzt in einem Ufo.
Das vorstehende gilt in 100% gleicher Weise auch für die Heizung. Habe ich auch geändert.

DB (04) anbei.



[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 12, 2010, 06:49:39
Zitat von: MzKlMu am Januar 09, 2010, 10:25:07
Weiterhin wäre noch zu klären, ob in dieser Tabelle auch Antriebsarten sind die mit dem Motor immer fest verbunden sind.

Habe das jetzt geklärt, die Antriebsart ist nicht fest verbunden, habe aus dieser Tabelle die ganzen Getriebe entfernt und eine eigene Tabelle tbl_Getriebeart gemacht.
Habe in der Tabelle tbl_Getriebe das Feld Getriebetyp durch Getriebeart ersetzt.

Des weiteren habe ich in der Tabelle tbl_MotorElDaten das Feld Motorart entfernt, ob es sich um einen Drehstrommotor bzw. Gleichstrommotor handelt sieht man ja anhand der Spannungsart.

Es existiert jetzt auch ein Formular zum aufnehmen der Motordaten.

Anbei DB05

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 12, 2010, 09:36:13
Hallo,
das Formular ist so nicht brauchbar. Ich werde Dir im Laufe des Tages mal ein Neues entwerfen, nicht vollständig aber so dass Du es vervollständigen kannst.
Die Getriebegeschichte muss ich auch noch mal überdenken.

Die Beziehungen zwischen Heizung und Motor und Bremse und Motor sind in Deiner Version 05 falsch. In meiner Version 04 sind diese anders. Bitte ändere solche grundlegenden Sachen nicht ohne Rücksprache.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 12, 2010, 10:20:03
Zitat von: MzKlMu am Januar 12, 2010, 09:36:13
Die Beziehungen zwischen Heizung und Motor und Bremse und Motor sind in Deiner Version 05 falsch. In meiner Version 04 sind diese anders. Bitte ändere solche grundlegenden Sachen nicht ohne Rücksprache.

Ich habe versucht deine Änderungen aus 04 bei mir zu übernehmen, da in meiner Version schon einige Sachen geändert waren.

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 12, 2010, 10:22:11
Hallo,
sind deine Änderungen in der 05 enthalten?
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 12, 2010, 10:23:32
Ja 05 ist aktuell. Hab meinen Fehler mit den Beziehungen gesehen.

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 12, 2010, 11:04:45
Hallo,
soll das Formular so ähnlich aussehen, wie das bisherige?

Es wird aber heute Abend, bis ich mich mal mit einem Formularvorschlag melde.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 12, 2010, 11:26:28
Zitat von: MzKlMu am Januar 12, 2010, 11:04:45
Hallo,
soll das Formular so ähnlich aussehen, wie das bisherige?

Ja, sollte es wenn möglich.

Zitat von: MzKlMu am Januar 12, 2010, 11:04:45
Es wird aber heute Abend, bis ich mich mal mit einem Formularvorschlag melde.

Das macht nichts, es reicht auch erst morgen, werde die Tage eh nicht sehr dazukommen dort weiter zumachen.

Danke

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 13, 2010, 19:53:54
Hallo,
Ich arbeite nie mit ungebundenen Formularen.
Der ganze Code zum Löschen der Felder wird so überflüssig.

Warum hast Du ein Formular mit ungebundenen Feldern?
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 14, 2010, 09:30:20
Ich habe halt die Kombifelder einfach eingefügt und mit der Tabelle verknüpft.

Bin ja auch nicht so der Profi in Access  ;)

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 14, 2010, 09:36:56
Hallo,
die Kombis waren mit der Tabelle verknüpft, aus der die Daten kommen, aber nicht mit der Tabelle wo die Daten hinsollen. Das gilt auch für die anderen Textfelder. Da sollte als Steuerelementinhalt das entsprechende Feld der Zieltabelle stehen und nicht ungebunden, in allen Feldern.
Aber ist jetzt egal, ich hatte mich nur gewundert.
Heute Abend, hast Du mal ein Erfassungsformular zur Aufnahme eines Motors.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Januar 15, 2010, 19:44:35
Hi Tom,
was lange währt  ;D

In der Anlage die DB mit einem Formular.
Es ist nur ein (Haupt)Formular, alles andere sind Unterformulare in diesem Formular.
Das Hauptformular heist "frm01MotorErfassung" und das solltest Du starten.
Die Getriebedaten, die Heizungsdaten und die Bremsdaten werden in Ufos erfasst. Wenn nichts drin steht, ist nichts da. Es kann durch die 1:1 Beziehung immer nur ein Getriebe, eine Heizung und eine Bremse zu einem Motor erfasst werden.

Folgendes ist noch zu beachten:
Die Drehzahlen des Motors sind ja im Normalfall höher (1400,2800 etc), daher gehören die Drehzahlen aus der Drehzahltabelle in die Getriebtabelle als Abtriebsdrehzahl. Der Motor kann aber ein polumschaltbarer Motor sein und mehrere Drehzahlen haben. Das musst Du noch klären und noch einbauen. Beim Motor sind auch die Momente nicht notwendig, die ergeben sich aus der Leistung. Daher gehören die Drehmomente in die Getriebetabelle. Das musst Du noch einbauen/ändern. Auch die Übersetzung gehört zum Getriebe, das habe ich aber eingebaut.

Schaue es Dir an und erkläre Dich.
DB (06) anbei.

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 18, 2010, 19:53:22
Hallo MzKlMu,

Ich werde die nächsten Tage nicht dazukommen hier weiterzumachen, melde mich aber sobald ich wieder Zeit habe.

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 28, 2010, 08:09:26
Zitat von: MzKlMu am Januar 15, 2010, 19:44:35
Folgendes ist noch zu beachten:
Die Drehzahlen des Motors sind ja im Normalfall höher (1400,2800 etc), daher gehören die Drehzahlen aus der Drehzahltabelle in die Getriebtabelle als Abtriebsdrehzahl. Der Motor kann aber ein polumschaltbarer Motor sein und mehrere Drehzahlen haben.

Ich werde beim Getriebe zwei Drehzahlen einfügen und beim Motor auch zwei Drehzahlen, da hab ich dann alles mit erschlagen.

Dann habe ich noch eine Frage zum Formular, wenn ich dort was ändere wird das sofort übernommen, gibt es auch die Möglichkeit erst den Button Speichern zu drücken damit es übernommen wird?

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: sigma5345 am Januar 28, 2010, 08:24:16
Hallo,

also ich habe für diese Funktion einen "Abbrechen" Button bei mir eingebaut der bei Betätigung mit der Eigenschaft Dirty prüft ob Daten im Formular geändert wurden.

If Forms("Formularname").Dirty Then 'stellt fest ob Daten im aktuellen DS geändert wurden
    If MsgBox("Es wurden Daten eingegeben / geändert." & vbCrLf & vbCrLf _
        & "Sollen die Eingaben / Änderungen gespeichert werden?" _
        , vbQuestion + vbYesNo, "Änderung speichern?") = vbNo Then
        Forms("Formularname").Undo
        DoCmd.Close
    Else
        DoCmd.Close
    End If
End If


gruß
sigma
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Februar 02, 2010, 07:23:45
Zitat von: -Tom- am Januar 28, 2010, 08:09:26
Ich werde beim Getriebe zwei Drehzahlen einfügen...

Ich habe jetzt versucht in die Tabelle tbl_Getriebe die zwei Drehzahlen einzufügen und eine Beziehung zu der Tabelle tbl_Drehzahl herzustellen. Bei der Eingabe erhalte ich jetzt aber immer die Fehlermeldung "Der Datensatz kann nicht hinzugefügt oder geändert werden, da ein Datensatz in der Tabelle 'tbl_Drehzahl' mit diesem Datensatz in Beziehung stehen muss. (Fehler 3201)"

Was mache ich falsch? Darf die Drehzahl nicht in die Tabelle tbl_Getriebe?

@sigma5345  

Danke werde mir das mal anschauen.

Tom


[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Februar 07, 2010, 23:03:25
@MzKlMu

Noch da?

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Februar 07, 2010, 23:05:10
Hi Tom,
sorry hatte vergessen, dass da noch was war. Werde mal nachsehen.
Melde mich.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Februar 07, 2010, 23:59:24
Hallo,
wenn Du die Drehzahlen auch noch in das Formular einbaust geht das auch.
Hast Du das beachtet, hatte ich schon mal geschrieben:
ZitatBeim Motor sind auch die Momente nicht notwendig, die ergeben sich aus der Leistung. Die Drehmomente müssen in das Getriebe.
Oder falls auch die Motere selbst eine Dremomentangabe haben, gehören solche auch zum Getriebe.
Das Drehmoment eines Getriebes ist eine entscheidende Kenngröße.

DB (08) anbei.

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Februar 09, 2010, 16:10:02
Zitat von: MzKlMu am Februar 07, 2010, 23:59:24
Hast Du das beachtet, hatte ich schon mal geschrieben:
ZitatBeim Motor sind auch die Momente nicht notwendig, die ergeben sich aus der Leistung. Die Drehmomente müssen in das Getriebe.

Habe die Momente jetzt ins Getriebe gesetzt.

Habe jetzt versucht die Formular zu den Vorgängen des Motors einzubauen, aber ich hänge da schon wieder bei den Beziehungen und den gebundenen Feldern. Bekomme schon wieder den Fehler 3201.

Kannst Du mir vielleicht das ganze mal erklären ohne es einzubauen so dass ich das ganze nachvollziehen kann was ich falsch mache?

DB09 anbei.

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: MzKlMu am Februar 09, 2010, 19:56:41
Hallo,
na, die 09 hätten wir dann schon mal erreicht. Hoffentlich wird das nicht noch dreistellig.  ;D

Zur Sache:
Wenn der Motor erfasst ist, ist dieses Formular erledigt. Der Einbau bzw. Vorgänge zum Motor sollten auf einem anderen Formular erfolgen.
Das Formular wird sonst viel zu überladen. Außerdem lässt sich viel besser eine Hirachie realisieren, denn der, der den Motor erfasst kann ja ein ganz anderer sein als der, der den Motor einbaut.
Grundage für dieses neue Formular ist die Tabelle "tbl_VorgaengeZumMotor". Hierin wird der Motor an Hand der eindeutigen SZNr mit einem Kombi ausgewählt und als Fremdschlüssel im Feld "MotorGrunddatenID_F" gespeichert. Die Grundaten des Motor können noch angezeigt werden, müssen aber nicht. Der Motor ist auch so ausreichend bestimmt.
In diesem Formular werden alle Daten zum Vorgang erfasst.
So entsehen z.B. folgende Datensätze im Laufe der Lebendsdauer des Motors.
Beschaffung
Auf Lager
Einbau
Ausbau
Inspektion
Einbau
Ausbau
Inspektion
Einbau
Ausbau
Überholung
Einbau
Ausbau
Verschrottung

Zum Einbau gibt es ein Ufo das die Details zum Einbau zeigt.

Versuche es mal.


Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Februar 24, 2010, 07:40:18
Zitat von: MzKlMu am Februar 09, 2010, 19:56:41
Grundage für dieses neue Formular ist die Tabelle "tbl_VorgaengeZumMotor". Hierin wird der Motor an Hand der eindeutigen SZNr mit einem Kombi ausgewählt und als Fremdschlüssel im Feld "MotorGrunddatenID_F" gespeichert.

Ich habe das ganze mehrmals versucht komme da aber irgendwie nicht klar. Habe es mit der SZNr so versucht wie Du es beim Formular MotorErfassung gemacht hast, aber da erhalte ich immer die Fehlermeldung "Das Microsoft Jet-Datenbankmodul erkennt "MotorGrunddatenID" nicht als gültigen Feldnamen oder -ausdruck"

Das ist ja eigentlich auch klar da das Formular ja auf der Tabelle "tbl_VorgaengeZumMotor" passiert und dort gibt es den Feldnamen ja nicht. Der Versuch mit "tbl_MotorGrunddaten.MotorGrunddatenID" hat auch nicht geklappt.

Habe das ganze dann mal anders versucht, Habe ein Formular mit der Tabelle "tbl_MotorGrunddaten" als Grundlage, und darin befindet sich ein Ufo mit den Daten der Tabelle "tbl_VorgaengeZumMotor" und hier kann ich dann auch über die SZNr auswählen.

Allgemein habe ich nun noch Probleme wie ich die Vorgänge speichern soll.

Vielleicht kannst Du Dir das nochmal anschauen.

Der erste Versuch ist im Formular frm31MotorVorgang und der zweite im Formular frm03MotorVorgang zu sehen.

Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am März 17, 2010, 07:22:53
Hallo MzKlMu,

Ich wollte mal nachfragen ob Du mal Zeit hattest Dir meine letzte DB anzuschauen.

Tom
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am November 28, 2010, 22:08:15
Hallo,

Ich melde mich nach langer Zeit mal wieder, hatte vorher leider keine Zeit mich damit weiter zu beschäftigen.

Ich habe es jetzt soweit gebracht dass ich im Formular anhand der SZNr auswähle und dann die entsprechenden Daten angezeigt bekomme.

Jetzt habe ich dazu noch ein paar Fragen

Wenn ich das Formular frm03MotorVorgang öffne wird mir immer der erste Datensatz der Tabelle tbl_VorgaengeZumMotor angezeigt, gibt es auch eine Möglichkeit erst nach der Auswahl eines Motors einen Datensatz anzuzeigen?

Wie soll ich die Vorgänge genau in der Tabelle speichern?
Soll ich diese direkt in die Tabelle eingeben oder wie angedeutet über das Register Neuen Vorgang erstellen?

Ich weiß irgendwie nicht wie ich die Vorgänge am besten abspeichere.

-Tom-

Im Anhang DB11



[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: Lernwilliger am Dezember 08, 2010, 19:19:46
Zitat von: -Tom- am Dezember 31, 2009, 18:12:07
Hallo,

Ich habe ein Formular das 70 Felder enthält, einige sind reine Textfelder, manche sind Kombifelder und dann noch Kontrollkästchen.

Zu jedem Kombifeld gibt es eine zugrundeliegende Tabelle.

z.B.

tbl_spannung
tbl_strom
tbl_leistung
...
..
.

Diese 70 Felder habe ich nun in mehrere Tabellen zusammengefasst.


tbl_Motorgrunddaten1
-> tbl_spannung
-> tbl_strom
-> tbl_leistung
...
..
.

tbl_Motorgrunddaten2
-> tbl_antriebsart
-> tbl_wellenlänge
-> tbl_wellendurchmesser
...
..
.

tbl_Motorgrunddaten3
-> farbe
-> gewicht
...
..
.

tbl_getriebe
-> ...

tbl_bremse
-> ...

Diese  Tabellen fasse ich dann in der Tabelle tbl_Motordaten zusammen.

Zwischen den Tabellen habe ich Beziehungen mit referentieller Integrität eingestellt.

Ist dieser Aufbau so korrekt?

Tom



Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Dezember 08, 2010, 19:44:11
Hallo Lernwilliger,

1. Lektion:  Kopiere keine Startbeiträge auf die 5. Seite


Grüße
Peter
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Dezember 18, 2010, 03:52:23
Wollte mal nachfragen ob noch jemand Zeit und Lust hat mir bei meinem Projekt zu helfen!?

-Tom-
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Dezember 18, 2010, 09:01:45
Hallo, guten Morgen,

ich denke, dass du hier IMMER Hilfe erwarten kannst - aber kannst du deine Frage nicht auf ganz einfache und konventionelle Art und Weise stellen?
Als neuer User mit obiger Aktion in einem alten Beitrag wirst du nicht recht viel erwarten können  ;)

ZitatWollte mal nachfragen ob noch jemand Zeit und Lust hat mir bei meinem Projekt zu helfen!?
Also dann - bitte konkrete Fragen zu einem speziellen NEUEN Thema in einen neuen Tread verpacken und wenn der alte hier abgschlossen ist bitte auf 'gelöst' setzen,
wenn noch Fragen zum gegenständlichen Problem bestehen ... hier posten (DIE FRAGE) ... und dann geht's weiter!  ::)

Grüße
Peter
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Dezember 18, 2010, 18:28:22
Zitat von: database am Dezember 18, 2010, 09:01:45
Als neuer User mit obiger Aktion in einem alten Beitrag wirst du nicht recht viel erwarten können  ;)

Ich bin kein neuer User ;) ich bin der Beitragsstarter!

Zitat von: database am Dezember 18, 2010, 09:01:45
ZitatWollte mal nachfragen ob noch jemand Zeit und Lust hat mir bei meinem Projekt zu helfen!?

wenn noch Fragen zum gegenständlichen Problem bestehen ... hier posten (DIE FRAGE) ... und dann geht's weiter!  ::)

Habe ich doch ;)

Zitat
Hallo,

Ich melde mich nach langer Zeit mal wieder, hatte vorher leider keine Zeit mich damit weiter zu beschäftigen.

Ich habe es jetzt soweit gebracht dass ich im Formular anhand der SZNr auswähle und dann die entsprechenden Daten angezeigt bekomme.

Jetzt habe ich dazu noch ein paar Fragen

Wenn ich das Formular frm03MotorVorgang öffne wird mir immer der erste Datensatz der Tabelle tbl_VorgaengeZumMotor angezeigt, gibt es auch eine Möglichkeit erst nach der Auswahl eines Motors einen Datensatz anzuzeigen?

Wie soll ich die Vorgänge genau in der Tabelle speichern?
Soll ich diese direkt in die Tabelle eingeben oder wie angedeutet über das Register Neuen Vorgang erstellen?

Ich weiß irgendwie nicht wie ich die Vorgänge am besten abspeichere.

-Tom-

Im Anhang DB11

-Tom-
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Dezember 19, 2010, 11:39:49
Hallo,

da dürften wir dann aneinander vorbeigepostet haben - ich meinte nicht den, von dir zitirten Beitrag sondern den #65 vom User 'Lernwilliger'

Sorry, aber da ist's wirklich daneben gegangen.

Nachdem MzKlMu - wie ich gesehen habe - sehr viel mit dir an der DB gemacht hat denke ich, dass er vielleicht wieder einsteigen möchte.

Gruß
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Dezember 19, 2010, 17:46:37
Hallo,

also ich habe mir die Nr.11 angesehen.

ZitatWenn ich das Formular frm03MotorVorgang öffne wird mir immer der erste Datensatz der Tabelle tbl_VorgaengeZumMotor angezeigt, gibt es auch eine Möglichkeit erst nach der Auswahl eines Motors einen Datensatz anzuzeigen?

Für das Unterformular tbl_VorgängeZumMotor.... hast du in den Formulareigenschaften (Daten) Verknüpfen von / Verknüpfen nach eingetragen - nimm das raus.
Die Datenherkunft für das UFo änderswt du dann dahingehend, dass du für das Feld 'MotorGrunddaten_F' das Kriterium [Formulare]![frm03MotorVorgang]![cboSZNrSuchen] einträgst.
Dann änderst das Ereignis After_Update für das Kombi cboSZNrSuchen - nimm alles raus und schreibe:

Me.tbl_VorgaengeZumMotor_Unterformular.Requery
Me!cboSZNrSuchen = Null


Dadurch wird ein leeres UFo angezeigt, wenn du das HaFo öffnest - also auch dann wenn zum Eintrag im Kombi cboSZNrSuchen kein Vorgang gespeichert wurde.
Wählst du - nach deinem Beispiel - den Eintrag 2 oder 4 aus werden die entsprechenden Einträge der Vorgänge im UFo angezeigt. (getestet)

2. Frage:

ZitatSoll ich diese direkt in die Tabelle eingeben ...
Wenn das von MzKlMu so 'angedeutet' wurde - ich habe die letzten 65 Beiträge nicht wirklich alle durchstudiert - dann gehe ich davon aus, dass er das auch GENAU so gemeint hat!
Es gibt keinen Grund, Daten direkt in die Tabellen zu schreiben, die Eingaben haben ausschließlich über entsprechende Formulare zu erfolgen.

Was mir bei der ganzen Vorgangsgeschichte allerdings aufgefallen ist:

Vorgang zum Motor ist scheinbar nicht gleich Vorgang zum Motor ... ??? ??? ???

Das ist ein wenig verwirrend, da du die Register in deinem HaFo so beschriftet hast, dass der Eindruck entsteht die unter 'Neuen Vorgang erstellen' erfasste Daten würden dann unter 'Vorgänge zum Motor' erscheinen - tun sie aber nicht, da hierbei 2 unterschiedliche Tabellen bedient werden!
Da solltest du deine Phantasie nochmal schwer strapazieren um das zu begradigen.  ;)

Grüße
Peter



Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Dezember 20, 2010, 03:55:04
Zitat von: database am Dezember 19, 2010, 17:46:37
Dadurch wird ein leeres UFo angezeigt, wenn du das HaFo öffnest - also auch dann wenn zum Eintrag im Kombi cboSZNrSuchen kein Vorgang gespeichert wurde.
Wählst du - nach deinem Beispiel - den Eintrag 2 oder 4 aus werden die entsprechenden Einträge der Vorgänge im UFo angezeigt. (getestet)

Genau so soll es sein.

Zitat von: database am Dezember 19, 2010, 17:46:37
Das ist ein wenig verwirrend, da du die Register in deinem HaFo so beschriftet hast, dass der Eindruck entsteht die unter 'Neuen Vorgang erstellen' erfasste Daten würden dann unter 'Vorgänge zum Motor' erscheinen - tun sie aber nicht, da hierbei 2 unterschiedliche Tabellen bedient werden!

Sollte nun begradigt sein.

Ich habe das ganze mit dem Eintragen der Vorgänge jetzt mal eingebaut, ist meine Vorgehensweise da so in Ordnung?
Ein Problem habe ich jetzt vorerst noch und zwar möchte ich nachdem ich einen Vorgang eingetragen habe mit dem Wechsel auf "Vorgänge zum Motor" den aktuellen Motor mit den neuen Vorgang angezeigt bekommen.

Habe das so versucht:

Private Sub RegisterStr2_Change()
Select Case RegisterStr2
 Case 0
     Me.frm03VorgaengeZumMotorUfo.Requery
     Me.frm03MotorVorgangUfoGrunddaten.Requery
End Select
End Sub


Aber da wird mir nur eine leeres Ufo angezeigt da die MotorGrunddatenID nicht übergeben wurde, aber wie muss ich die genau übergeben?

DB12 im Anhang

-Tom-


[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Dezember 20, 2010, 13:37:19
Hallo,

ja, so sieht das schon viel besser aus, jetzt sind die Felder auf den richtigen Seiten angelangt  ;D

Zitat... mit dem Wechsel auf "Vorgänge zum Motor" den aktuellen Motor ...
Muss ich mir noch in Ruhe ansehen, ev. muss der ausgewählte Motor im Kombifeld stehen bleiben, bis eine neue Auswahl erfolgt.
Aber wie gesagt - ich schau' da noch nach und gebe dir Bescheid.

So, ist schneller möglich gewesen als angenommen.
Die geänderte Version befindet sich bereits hier im Anhang.  8)

Habe im Modul1 eine Function erstellt (aktuellerMotor), welche an die Abfrage hinter dem Unterformular die MotorGrunddatenID übergibt.
Diese Info bezieht die Function aus der globalen Variable, welche du After_Update des Kombifeldes mit der MotorGrunddatenID befüllst.
Wechselst du nun die Register, beziehen sich die angezeigten Daten immer auf den zuvor ausgewählten Motor, bis eine neue Auswahl erfolgt.

Hoffe das kommt deinen Vorstellungen entgegen  ;)

[Anhang gelöscht durch Administrator]
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Dezember 21, 2010, 23:05:04
Zitat von: database am Dezember 20, 2010, 13:37:19
So, ist schneller möglich gewesen als angenommen.
Die geänderte Version befindet sich bereits hier im Anhang.  8)

Perfekt!

Danke

-Tom-
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 01, 2011, 11:40:38
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-
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Januar 01, 2011, 12:21:53
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.
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 02, 2011, 13:19:20
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-
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: database am Januar 02, 2011, 14:02:21
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
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: oma am Januar 02, 2011, 14:17:55
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
Titel: Re: Aufbau der Datenbankstruktur korrekt?
Beitrag von: -Tom- am Januar 02, 2011, 16:52:03
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-