Juni 30, 2022, 22:03:40

Neuigkeiten:

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


Suchabfrage zu Mehrfacheinträgen bei einem Datensatz

Begonnen von isis361, März 15, 2022, 19:42:43

⏪ vorheriges - nächstes ⏩

isis361

Hallo zusammen,
ok, bin ein absoluter Anfänger, Kurs ist 10 Jahre her und nie in der Praxis angewendet. Daher vermutlich eine völlige Anfängerfrage aber mein Hirn hat gerade einen völligen Knoten im System.

Fahrzeugliste mit bis zu 5 Kennzeichen.
Teilbereich 1 Mitarbeiterdatensatz mit Pers.-Nr., Vorname und Name
Teilbereich 2 Kennzeichen mit bis zu 5 Kennzeichen
Teilbereich 2 Angaben zu verschiedenen anderen erforderlichen Daten (dieser besteht aus verschiedenen Tabellen mit Beziehungen zur Mitarbeitertabelle, funktioniert auch in der Suchabfrage ohne Probleme)

Ich hänge jetzt an dem Problem mit den Kennzeichen. Ich möchte in der Suchabfrage nur einmal das Kennzeichenfeld haben und dort auch nur nach Teilstücken des Kennzeichen suchen können.
Wie löse ich dieses am Besten? Bisher stehen alle Daten gemeinsam in einer Tabelle, benötige ich eine extra Tabelle oder wie müsste ich das Suchfeld aufbauen. Bisher wirft er mir leider nur die Datensätze aus die 2 Kennzeichen oder mehr haben.

Vielen Dank für die Hilfe.
isis361

DF6GL

Hallo,

ich befürchte, es steht da einiger Aufwand an Vorbereitungen an, was die Basis einer DB anbelangt:

--  Aufteilung zueinander gehörenden Daten in einzelne Tabellen unter Berücksichtigung und Anwendung der Normalisierungsregeln.


-- Einstellen der Beziehungen (Primärschlüssel, Fremdschlüssel) zwischen den Tabellen.

-- Beachten von Benennungs-Regeln. (Vermeiden von Sonder- und Leerzeichen in Namen. Reservierte Wörter nicht benutzen. Über alle Tabellen hinweg eindeutige Feldnamen definieren.)


-- Abfragen, Formulare/Berichte  erst nach vollständiger Tabellenkonstruktion angehen.



Ein Screenshot des (ganzen) Beziehungsfensters mit allen Tabellen und den darin sichtbaren Feldern wäre sehr informativ.


isis361

Vielen Dank für die Antwort, mit dem Bild hatte ich gestern schon versucht. Leider ist mir das nicht gelungen.


MzKlMu

März 16, 2022, 16:45:08 #3 Letzte Bearbeitung: März 16, 2022, 18:50:44 von MzKlMu
Hallo,
Zitat von: undefinedLeider ist mir das nicht gelungen.
Man kann völlig problemlos Bilder hier anhängen.
Es ist mir nicht gelungen ist eine wenig hilfreiche Beschreibung Deiner Versuche.
Woran ist es denn gescheitert ?
Gruß
Klaus


isis361

Leider sind hier auf der Arbeit viele Funktionen nicht verfügbar und daher muss ich über Umwege gehen und bin nun bei dieser Möglichkeit angekommen.



https://www.dropbox.com/s/jj8clqxzzxbe9s5/Beziehungen-63f0d0fa.png?dl=0

Das wären die Vorlagen für das Eingabeformular und das Abfrageformular und die bisher bestehenden Beziehungen.

DF6GL

März 16, 2022, 22:25:17 #6 Letzte Bearbeitung: März 16, 2022, 22:29:58 von DF6GL
Hallo,

mein vorheriger Beitrag gilt nach wie vor.

Bevor die Tabellen nicht entspr. der Normalisierungsregeln aufgebaut werden, brauchen wir hier nicht weiter zu diskutieren.

Welche Aufgabe soll die DB denn bewältigen?

Ich vermute, es soll sich um eine (kleine) Fuhrpark-(Fahrzeug-)Verwaltung handeln.

Als absolutes Minimum an Tabellen sollte sein:


tblFahrzeuge     (neben dem obligatorischen Primärschlüssel (FZID) als Autowert alle Attribute, die ein Fahrzeug ausmachen und definieren (z.B.: FG_Nummer, Hersteller, Modell, Anschaffungsdatum ,etc.),  zusätzlich Fremdschlüssel für Nachschlagetabellen --->  Hersteller, Besitzer(Personen), etc. )


tblPersonen   (neben dem obligatorischen Primärschlüssel (PersID) als Autowert alle Attribute, die eine Person bestimmen, z. B. Vorname, Nachname, PLZ, Wohnort, Strasse, Führerschein_Nummer , etc.)


weitere Nachschlagetabellen, die ich jetzt außen vorlasse.


Die mehrfachen Kennzeichen-Felder erschließen sich mir nicht, außer dass es erforderlich ist, eine Historie über die FZ-Kennzeichen zu führen, die einem FZ nacheinander zugeteilt wurden. Dann:

tblFz_Kennzeichen 
FzKzID (PK. Autowert)
FzKz_FZID  (FK, zu Tabelle tblFahrzeuge)
FzKz_Kennzeichen (Text)
FzKz_VergabeDatum (Datum/Uhrzeit)




Selbiges gilt für die ParkplatzNr, wenn die zeitlich wechselnd sein kann.



Arbeitsplatz und Einfahrtberechtigung gehören m. E. in tblPersonen aufgenommen


Welche Daten sollen als Anlage erfasst werden?

Welche Bedeutung hat tblEinfahrtberechigung?  Gibt es mehrere unterschiedliche solcher Berechtigungen  (ganztägig, Zeitbereich, Mitfahrer-Erlaubnis , ?? )

Was ist "Freischaltung" und "Gruppierung" ?




isis361

Ok, ich versuche es mal genauer zu erklären.

Die hauptsächliche Nutzung der Datenbank wird die Suchfunktion nach den Kennzeichen der Mitarbeiter sein. Es soll möglichst schnell der Mitarbeiter ausfindig gemacht werden der zu einem Fahrzeug gehört (für die Mitarbeiter vom Empfang). Sie soll jedoch auch in der Lage sein, nach den anderen Kriterien zu filtern um z.B. zu sehen wer in welches Werk fahren darf, wer wo parken darf, wer welche Art der Freischaltung hat etc. (für andere Abteilungen).

Es ist also eher eine Kennzeichenliste als Fahrzeugliste. Sie ist hauptsächlich für die privaten Fahrzeuge der 3500 Mitarbeiter, daher auch bis zu 5 Kennzeichen.
Dienstfahrzeuge und Poolfahrzeuge möchte ich darin aber auch erfassen, u.a. wegen der Einfahrtberechtigung in die Werke, nicht jedes darf in jedes Werk fahren.

tblWerk: Es gibt 10 verschiedene Werke in denen die Mitarbeiter arbeiten und parken, sowohl in Wort als auch Zahl geschrieben. Um unterschiedliche Schreibweisen zu verhindern hatte ich diese als extra Tabelle angelegt.

tblParkmarke: Es gibt bisher 3 verschiedene Arten dieser Marken die unterschiedliche Berechtigungen haben.

tblEinfahrtberechtigungen: Bisher ist die Einfahrt in 4 verschieden Werke möglich, jedoch in den unterschiedlichsten Kombinationen. Soll aber zukünftig ausgedehnt werden evtl. auch für die Parkplätze, die nicht im umzäunten Gelände liegen.

tblFreischaltungArt: Bisher 3 verschieden Arten der Freischaltung, Karte, Tag oder durch Knopfdruck vom Empfang

tblGruppierung: Es gibt 8 verschieden Gruppen die, aufgrund ihrer Arbeit, Freischaltungen zu den Schranken haben.

ParkplatzNr: Gilt tatsächlich nur für den Mitarbeiter im Gelände, daher gehört es zu den Mitarbeiterdaten.

Arbeitsplatz wechselnd: ist ein Ja/Nein Feld für die Mitarbeiter die in mehreren Werken im Einsatz sind, diese haben dann eigentlich ein festes Werk als Arbeitsplatz können aber auch in den anderen Werken als Vertretung im Einsatz sein.

Bemerkungen, erteil am, erteilt durch sind auf den Mitarbeiter und die Einfahrtgenehmigung bezogenen Daten.

Die Einzeltabellen sind eher für die Filterung gedacht. Die Sekretariate der Werke oder die für die Freischaltung der Mitarbeiter zuständigen Personen gleichen ihre Daten mit diesen dann ab. Um hier unterschiedliche Schreibweisen zu vermeiden oder später schneller neue Werke etc. hinzufügen zu können habe ich die alle separat angelegt. und über die ID mit Autowert verknüpft.

Anlage war erstmal nur eine Idee im Hinterkopf, um dort später vielleicht Dokumente anzuhängen, in denen weiter Daten für die Genehmigungen stehen. Wird aber vermutlich nicht notwendig sein.

Erschließt sich das jetzt etwas besser?

Beaker s.a.

Hallo,
Also nach der Beschreibung kommen da schon so ein Dtzd. Tabellen
zusammen. Am Besten postest du ein komplettes Bild des Beziehungsfensters,
worum Klaus auch schon gebeten hatte.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

isis361

Die Links zur Dropbox in der der die Bilder liegen hatte ich bereits gepostet. Weiß leider nicht wie ich das hier sonst hinbekommen soll.





MzKlMu

März 17, 2022, 17:25:16 #10 Letzte Bearbeitung: März 17, 2022, 17:58:32 von MzKlMu
Hallo,
@ekkehard
Das Beziehungsbild gibt es schon in #5
Ich habe das hier noch als Bild angehängt.

@isis361
Zitat von: undefineddaher auch bis zu 5 Kennzeichen.
Die Kennzeichen gehören in eine extra Tabelle je Kennzeichen ein Datensatz mit einem Fremdschlüssel zum Mitarbeiter. Wahrscheinlich sind da auch noch 2 Datumsfelder sinnvoll (von-bis), denn man muss auch frühere Kennzeichen zuordnen können.
Auch der Arbeitspaltz ist mit Von-bis in einer extra Tabelle zu erfassen.
Die jetzige Tabelle "tblKennzeichen" ist in "tblPersonen" umzubenennen, denn in dieser Tabelle gibt es nur die reinen Personendaten und keine Kennzeichen.
Verzichte unbedingt auf Leer und Sonderzeichen (außer dem _) in den Feldnamen.
Die ID Felder nicht einfach ID nennen, sondern mit einem Bezug zur Tabelle. Es ist vorteilhaft, wenn es in einer DB über alle Tabellen keine gleichen Feldnamen gibt.
Und natürlich RI einstellen.
Das war es mal vorläufig, da gibt es bestimmt noch mehr zu ändern. Mache das mal, dann neues Beziehungsbild hier zeigen.

Sind die Einfahrten der Person zugeordnet oder dem Kennzeichen ?
Gruß
Klaus

isis361

Hallo, Klaus,

ok, diesen Denkansatz hatte ich auch schon. War mir nur nicht sicher ob der jetzt richtig ist oder nicht.

Die Einfahrten sind gesplittet zugeordnet. Bei der Karte ist es der Mitarbeiterausweis, beim Tag hat das Fahrzeug (Poolfahrzeug) die Berechtigung, bei den Dienstwagen ist es unterschiedlich, einige haben noch Tags andere schon Karte.
Unterschiedlich auch noch in den Werken, in einem Werk darf die Freischaltung nur über die Karte, also persönlich zugeordnert, erfolgen in den Anderen ist es egal, da kann sich auch das Fahrzeug unabhängig vom Fahrer reinlassen.

Ist leider ein sehr schwieriges Thema und über die Jahre und Systeme gewachsen.

MzKlMu

@isis361
Bitte meinen Beitrag in #10 noch mal lesen, habe noch einiges ergänzt.
Gruß
Klaus

Beaker s.a.

Hallo,
@kKlaus
Ja, habe ich mir gerade angesehen. Bin kein Freund externer Links. Bei
Dropbox hab' ich's dann aber mal "gewagt".

@isis361
Das die KZ in eine Extratabelle gehören, hat Klaus bereits erwähnt.
ZitatArbeitsplatz wechselnd: ist ein Ja/Nein Feld für die Mitarbeiter die in mehreren Werken im Einsatz sind, diese haben dann eigentlich ein festes Werk als Arbeitsplatz können aber auch in den anderen Werken als Vertretung im Einsatz sein.
Das würde ich anders lösen
1. die Beziehung Mitarbeiter - Werk mit einer n:m-Tabelle abbilden
2. darin ein Ja/Nein-Feld "StandardWerk" (dabei musst du nur sicherstellen, dass
nur 1 DS markiert sein darf)
Das Feld "Arbeitsplatz wechselnd" hätte dann nur noch informativen Charakter, ist
aber eigentlich unnötig.

Ganz wichtig! In den Beziehungen ist "Referentielle Integrität" einzustellen.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Beaker s.a.

Hat sich gerade mit euren letzten Antworten überschnitten.
Der letzte Post von isis bestätigt meine Annahme, dass da noch einiges an Tabellen
notwendig sein wird. Die eine oder andere n:m vermute ich.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.