Neuigkeiten:

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

Mobiles Hauptmenü

Unvollständige Abfrage

Begonnen von H_Stadler, August 21, 2015, 12:35:34

⏪ vorheriges - nächstes ⏩

el_gomero

Hallo,

Zitat
tbl_Abteilung beinhaltet 12 versch. Abteilungen in denen ein Mitarbeiter tätig sein kann (Fertigung, Service etc.). Die Hauptaufgabe dieser Tabelle ist es die Mitarbeiter filtern zu können, damit die Auswahl der Mitarbeiter in einer Kombobox leichter fällt.

Eine Tabelle für die Abteilung ist schon richtig. Falls ein Mitarbeiter in mehreren Abteilungen tätig sein kann, brauchst du noch eine Hilfstabelle tbl_Abt_MA zB mit den Primärschlüsseln aus tbl_Abteilung und tbl_Mitarbeiter um die m:n Beziehung darstellen zu können.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

H_Stadler

ZitatDie Tabellen in der "zweiten" Spalte"  können allesamt  zu einer ("tbl_Personen"  oder ähnlich) zusammengeführt werden, erforderlich ist dann noch eine Unterscheidung durch einen "Bearbeitertyp" (Sachbearbeiter oder Service oder...)

Habe das so dann doch mal versucht. Das Problem wird im Screenshot deutlich. Habe ich etwas nicht beachtet, oder den Vorschlag nicht richtig verstanden?  :-[

Nachtrag
Das Fenster "bestehende Beziehung" öffnet sich, wenn ich versuche eine Beziehung zwischen tbl.Mitarbeiter: MitarbeiterID und ServicemonteurVPIDRef herzustellen
LG,
Hubert

el_gomero

du brauchst noch eine Tabelle Bearbeitertyp mit ID und Beschreibung. Diese ID wird dann in der entsprechenden Spalte der Personentabelle abgelegt. Falls eine Person mehrere Bearbeitertypen verkörpern kann, gilt gleiches wie in meinem letzten Post (m:n).
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

H_Stadler

Hallo,

Danke für den Hinweis Jürgen! Jetzt verstehe ich erst die Empfehlung von Franz  :D
Ich habe also eine Tabelle Bearbeitertyp hinzugefügt, wie von euch empfohlen. Auch habe ich eine m:n Beziehung aufgebaut und glaube auch verstanden zu haben, warum das Sinn macht. Wo ich nicht ganz mitkomme ist, wie jetzt die Verbindung zu der Mängelliste aufzubauen ist...

tbl_Bearbeitertyp beinhaltet die Typen Sachbearbeiter, ServicemonteurVP, ...., NameUeberprueft und hat eine m:n Beziehung zu tbl_Mitarbeiter (tbl_MitBtyp). Wie stelle ich jetzt die Verbindung zu sämtlichen "Bearbeitungsfeldern" her? Sprich die Beziehung zu SachbearbeiterIDRef etc.? Habe verschiedene Varianten versucht, bekomme aber nach wie vor die Meldung "Es gibt bereits eine Beziehung".

Was übersehe ich/habe ich noch nicht verstanden?

P.S: Hier noch der neue Aufbau
LG,
Hubert

el_gomero

Moin,

bin ja in deinem Thema nicht so drin ... was ich aber glaube heraus gelesen zu haben ist, dass die Mängelliste verschiedene Bearbeitungsstadien haben kann. Also erst guckt der Techniker A drüber, dann geht es in eine weitere Phase und Techniker B aus ner anderen Abteilung nimmt sich den Fall vor. Wenn das so ist, brauchst du zu Mängelliste eine Fortschrittstabelle in der der Ablauf dargestellt wird.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

H_Stadler

Das hast du richtig verstanden. Wie sähe die Fortschrittstabelle denn aus? Etwa so:

tbl_Fortschritt
FortschrittID
Fortschritt
MitarbeiterBearbeitertypIDRef

Oder was meinst du mit "Fortschrittstabelle"?
So wie ich mir das grade vorstellen kann verlagert das mein Problem nur...
LG,
Hubert

H_Stadler

ZitatDie Tabellen in der "zweiten" Spalte"  können allesamt  zu einer ("tbl_Personen"  oder ähnlich) zusammengeführt werden, erforderlich ist dann noch eine Unterscheidung durch einen "Bearbeitertyp" (Sachbearbeiter oder Service oder...)

Warum ist es überhaupt notwendig die einzelnen Monteure zusammenzufassen? Wenn ich Sachbearbeiter, Servicemonteure etc. in einzelne Tabellen packe, mache ich dann tatsächlich etwas falsch?
LG,
Hubert

el_gomero

die tbl_Fortschritt muss den Fremdschlüssel der Mängelliste beinhalten. Desweiteren wohl eine Beschreibung der Massnahme (kann auch aus einer Tabelle kommen, dann nur den Schlüssel speichern), denjenigen der die Aktion ausgeführt hat (FK aus Person) usw ...
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

H_Stadler

Hallo zusammen!

Habe mich jetzt nochmal wirklich kleinschrittig mit meinem Aufbau beschäftigt und habe nochmal einiges geändert. Und immer noch: Eine Abfrage zu den Formularinhalten zeigt nicht alle Datensätze an. Habe jetzt noch etwas herumprobiert, einiges geändert und mir genau angeguckt ab wann ein Datensatz nicht mehr in der Abfrage auftaucht.

Kleinigkeit zum Aufbau des Formulars:
Hauptformular, welches die Daten der Anlage erfasst.
UFO1, welches die Daten der Prüfungen erfasst.
UFO2, welches die Fehlerdaten erfasst.

  • Hier (UFO2) gibt es noch zwei weitere UFOS, welche die Daten zu der Fehlerfeststellung und die Daten zu der Fehlerbehebung erfassen.

Das Ergebnis meiner "Studie":
Wenn einzelne Felder frei bleiben gibt es keine Probleme mit der Abfrage. Sollte allerdings das gesamte UFO mit den Daten der Fehlerbehebung leer bleichen, da der Fehler noch nicht behoben ist, so wird der Gesamte Datensatz, also auch die Daten zur Anlage, Prüfung, etc. Nicht in der Abfrage angezeigt. Ich GLAUBE also, dass Datensätze dann in meiner Abfrage fehlen, wenn z.B. zu der Fehlerbehebung KEINERLEI Eingaben getroffen wurden. Sobald eine ID in der Tabelle Fehlerbehebung vorhanden ist wird der Datensatz in der Abfrage angezeigt.

Also meine Frage: Wie schaffe ich es, dass zu einer bestimmten AnlagenID auch direkt eine FehlerbehebungID angelegt wird, auch wenn keine Eintragungen im UFO zur Fehlerbehebung getätigt werden?

Kann natürlich auch sein, dass ich mich irre und es IMMER NOCH  >:( :-\ an meinem Aufbau liegt.
Sollte es euch interessieren hier auch nochmal der SQL Code meiner riesigen Abfrage (Hier sind wieder INNER JOINS vorhanden. Ist das nach wie vor mein Problem oder sind meine Überlegungen von oben sinnvoll?)
SELECT tbl_DatenAnlage.AnlagenID, tbl_DatenAnlage.PrueffeldIDRef, tbl_DatenAnlage.Workorder, tbl_DatenAnlage.Kommissionsnummer, tbl_DatenAnlage.SchaltanlagenSeriennummer, tbl_DatenAnlage.GesamtSeriennummer, tbl_DatenAnlage.Anlagenkennung, tbl_DatenAnlage.Standort, tbl_DatenAnlage.Land, tbl_DatenAnlage.AnlagentypIDRef, tbl_DatenAnlage.SchranktypIDRef, tbl_DatenAnlage.KundeIDRef, tbl_DatenPruefung.PruefdatenID, tbl_DatenPruefung.AnlagenIDRef, tbl_DatenPruefung.Pruefbeginn, tbl_DatenPruefung.Pruefende, tbl_DatenPruefung.[QAATR Zeit], tbl_DatenPruefung.AbteilungsIDRef, tbl_DatenPruefung.Sachbearbeiter, tbl_DatenPruefung.UebertragenDurch, tbl_DatenVP.VPID, tbl_DatenVP.PruefdatenIDRef, tbl_DatenVP.AbteilungsIDRef, tbl_DatenVP.ServicemonteurVP, tbl_DatenHP.HPID, tbl_DatenHP.PruefdatenIDRef, tbl_DatenHP.AbteilungsIDRef, tbl_DatenHP.ServicemonteurHP, tbl_DatenFIFC.FIFCID, tbl_DatenFIFC.PruefdatenIDRef, tbl_DatenFIFC.AbteilungsIDRef, tbl_DatenFIFC.ServicemonteurFIFC, tbl_DatenFehler.FehlerID, tbl_DatenFehler.AnlagenIDRef, tbl_DatenFehler.Fehlerbeschreibung, tbl_DatenFehler.Ort, tbl_DatenFehler.BMK, tbl_DatenFehler.FehlerartIDRef, tbl_DatenFehler.AnlagenstatusIDRef, tbl_DatenFehler.ZuBehebendeAbteilungIDRef, tbl_FehlerBehebung.BehebungID, tbl_FehlerBehebung.Behebungsdatum, tbl_FehlerBehebung.ATRZeit, tbl_FehlerBehebung.FehlerIDRef, tbl_FehlerBehebung.MitarbeiterIDRef, tbl_FehlerBehebung.AbteilungsIDRef, tbl_FehlerFeststellung.FeststellungID, tbl_FehlerFeststellung.Feststellungsdatum, tbl_FehlerFeststellung.FehlerIDRef, tbl_FehlerFeststellung.MitarbeiterIDRef, tbl_FehlerFeststellung.AbteilungsIDRef, tbl_FehlerUeberpruefung.UeberpruefungID, tbl_FehlerUeberpruefung.Ueberpruefungsdatum, tbl_FehlerUeberpruefung.FehlerIDRef, tbl_FehlerUeberpruefung.MitarbeiterIDRef, tbl_FehlerUeberpruefung.AbteilungsIDRef
FROM (((((((tbl_DatenAnlage INNER JOIN tbl_DatenFehler ON tbl_DatenAnlage.AnlagenID = tbl_DatenFehler.AnlagenIDRef) INNER JOIN tbl_DatenPruefung ON tbl_DatenAnlage.AnlagenID = tbl_DatenPruefung.AnlagenIDRef) INNER JOIN tbl_FehlerBehebung ON tbl_DatenFehler.FehlerID = tbl_FehlerBehebung.FehlerIDRef) INNER JOIN tbl_FehlerFeststellung ON tbl_DatenFehler.FehlerID = tbl_FehlerFeststellung.FehlerIDRef) INNER JOIN tbl_FehlerUeberpruefung ON tbl_DatenFehler.FehlerID = tbl_FehlerUeberpruefung.FehlerIDRef) INNER JOIN tbl_DatenFIFC ON tbl_DatenPruefung.PruefdatenID = tbl_DatenFIFC.PruefdatenIDRef) INNER JOIN tbl_DatenHP ON tbl_DatenPruefung.PruefdatenID = tbl_DatenHP.PruefdatenIDRef) INNER JOIN tbl_DatenVP ON tbl_DatenPruefung.PruefdatenID = tbl_DatenVP.PruefdatenIDRef;
LG,
Hubert

MaggieMay

Hallo,

du solltest dich mal mit den Möglichkeiten der Tabellenverknüpfung in Abfragen beschäftigen.
Wenn du immer nur den INNER JOIN wählst, ist es klar, dass du nur Datensätze erhältst, zu denen alle beteiligten Tabellen Daten liefern.

Aber wenn du eine Konstruktion aus Haupt- und Unterformularen einsetzt, so brauchst du auch keine Abfrage, die sämtliche Tabellen enthält, sondern jedes Formular kann dann an die datenspendene Quelle gebunden werden.


Freundliche Grüße
MaggieMay

H_Stadler

Gut Danke für den Hinweis. Ich gehe davon aus, dass du diese 3 Möglichkeiten bei den Verknüpfungseigenschaften meinst!?

Die Abfrage mit sämtlichen Inhalten soll anschließend als Export Quelle dienen. Habe zwar auch schon überlegt, das dann so zu benennen das klar ist, dass nur vollständige Datensätze exportiert werden und dann weitere Exportvorgänge für nicht behobene Mängel etc... Aber ein komplettes Ding wäre schon schön. Ich spiele mal mit den Verknüpfungen  ;)
LG,
Hubert

H_Stadler

Halleluja!  ;D  Es hat geklappt!
Was für eine schwere Geburt. Aber viel gelernt unterwegs! DANKE für eure Unterstützung!
LG,
Hubert