Access-o-Mania

Access-Forum => Access Programmierung => Thema gestartet von: Taikido am Februar 06, 2018, 09:26:54

Titel: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 06, 2018, 09:26:54
Guten Morgen zusammen,

ich suche eine Möglichkeit, nur die letzten / aktuellsten Einträge einer Tabelle (über ein Formular) zu kennzeichnen.

Ich habe zwei Tabellen mit dem Namen tblFahrzeuge und tblStationen. Die Tabelle tblFahrzeuge hat die Spalten |"Cars" | "Stations" | "Dates" | "Time" |. Die Tabelle tblStationen hat die Spalte "Stationen", die als Grundlage für die Filterfunktion dient. (Dates in der Tabelle Fahrzeuge aus dem Grund, weil Date bereits durch das System belegt ist und mir nichts besseres einfiel. Auf der Arbeitsoberfläche im Formular ist der Name dann Datum).

In die Tabelle tblFahrzeuge wird über das Formular "Fahrzeugbewegung erfassen", über zwei Textfelder, in die Spalten Cars und Stations der Tabelle "tblFahrzeuge" die entsprechenden Werte geschrieben.


Wenn ich heute um 15.00 Uhr über das Formular "Fahrzeugbewegung erfassen" in das Textfeld 1 "Cars" das "Fahrzeug A" und in Textfeld 2 "Stations" den "Parkplatz" eingebe, dann erscheint mir im Formular "Fahrzeugsuche" ein Eintrag
| Fahrzeug A | Parkplatz | 25.01.2018 | 15:54 Uhr. Das System zieht sich das Datum und die Uhrzeit selbstständig.

Mach ich das morgen um 13 Uhr nochmal und filtere nach Parkplatz, dann erscheint
| Fahrzeug A | Parkplatz | 26.01.2018 | 13:00 Uhr
| Fahrzeug A | Parkplatz | 25.01.2018 | 15:54 Uhr

Was ich möchte ist, bzw. mein Problem ist:

Eine Markierung des Eintrags "Fahrzeug A" am 26.01.2018 im Formular "Fahrzeugsuche".

Das Thema ist; dass ich korrekterweise im Formular "Fahrzeugsuche" alle möglichen Fahrzeuge und alle möglichen Lagerplätze nach Datum und Uhrzeit usw. angezeigt bekomme. Wenn ich nun aber über das Dropdownfeld im Formular "Fahrzeugsuche" nach einem gewissen Kriterium filtere, z.B. "Parkplatz", dann zeigt es mir alle Fahrzeuge unter dem Lagerplatz Parkplatz an, aber nur als Historie mit allen Einträgen seit z.B. 2 Monaten. Ich filtere über Dropdown die Stationen und per Textfeld nach Fahrzeuge oder Datum.

Woher weiß ich aber, ob es nicht das gleiche Fahrzeug bereits mit einer aktuelleren Buchung auf z.B. Werkstatt gibt? Die mir ja nicht angezeigt wird, wenn ich nach Parkplatz filtere.

Was ich suche ist:

1).: in der Fahrzeugsuche (Formular Fahrzeugsuche) ohne Filter alle Fahrzeuge angezeigt und die Fahrzeuge mit den aktuellsten Buchungen irgendwie markiert, da diese sich vom Namen her nicht ändern wenn sie mal angelegt sind, die Station jedoch schon.
2).: wenn ich einen Filter anwende nur die Fahrzeuge mit der aktuellsten Buchung auf diesen Filter (Beispiel Parkplatz), gerne auch per neuem Filterfeld, Dropdown, etc.

Wenn ich dann nämlich nach z.B. Parkplatz filtere, soll es mir alle Fahrzeuge anzeigen, die wirklich auf dem Parkplatz stehen, da diese Fahrzeuge ihre letzte Buchung auf Parkplatz haben.

Mir ist bewusst, dass das nicht einfach ist und ich habe auch nicht die Kompetenz, das zu lösen.

Viele Grüße
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Lachtaube am Februar 06, 2018, 09:43:54
Hi Taikido,

ich würde mindestens 3 Tabellen für so eine Szenerie veranschlagen. In einer Tabelle werden die Fahrzeugdaten erfasst, in einer anderen die Stationsdaten. Beide Tabellen haben jeweils einen Autowert als Primärschlüssel. In einer dritten Tabelle (ich taufe sie einmal Aufenthalt) würde man dann jeweils ein Fremdschlüsselfeld der beiden anderen Tabellen als Pflichtfeld definieren und ein (1) Datum/Uhrzeitfeld (ebenso als Pflichtfeld und idealerweise indiziert) würde aussagen, wann ein Fahrzeug an einer Station erfasst wurde.

Mit einer Abfrage oder auch mit der Funktion DomMax könnte man sich dann leicht für ein Fahrzeug das zuletzt (jüngste) erfasste Datum nebst Station anzeigen lassen, oder auch abfragen, wann wurde Fahrzeug A zuletzt an Station XYZ erfasst.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 06, 2018, 10:04:22
Hi, ok dann würde ich meine Datenbank wie folgt umbauen:

- Die Tabelle tblStationen wird komplett geleert und alle Spalten bis auf | ID | Stationen|  werden gelöscht. Die Tabelle dient dann als Stationsdatenbank in die alle Stationen geschrieben werden.
- die Tabelle tblFahrzeuge wird komplett geleert und alle Spalten bis auf | ID | Fahrzeug |  werden gelöscht. Die Tabelle dient dann als Fahrzeugdatenbank, in die alle Fahrzeuge geschrieben werden.


Ich erstelle eine neue Tabelle mit dem Namen tblFahrzeugbewegungen mit den Spalten | ID | Fahrzeug | Station | Datum | Zeit | Bemerkung | << diese Tabelle zieht sich dann die Daten Fahrzeug und Station aus den beiden Tabellen tblStationen und tblFahrzeuge. Datum/Uhrzeit wird dann automatisch aus dem System gezogen.

Ich erstelle eine zusätzliche Tabelle tblBemerkung, die dann ausgefüllt wird und die Daten an die Tabelle tblFahrzeugbewegungen liefert.

Korrekt?

 :)


Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Lachtaube am Februar 06, 2018, 10:19:21
Hi,

erfasse den Zeitpunkt in einem (1) Feld - alles andere bereitet später bei der Auswertung nur unnötige Probleme.

Bei den Bemerkungen kann ich Dir nicht folgen. Das müsstest Du näher erklären.

PS: Handelt es sich bei den Fahrzeugen um AGVs (https://de.wikipedia.org/wiki/Fahrerloses_Transportfahrzeug)?
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 06, 2018, 11:17:59
Hi, also ich habe nun:

- ein Formular "frmFahrzeugbewegungen" mit den Textfeldern Fahrzeuge, Stationen und Bemerkung
- eine Tabelle tblFahrzeuge --> gefüttert durch das Textfeld Fahrzeuge und Bemerkung
- eine Tabelle tblStationen --> gefüttert durch das Textfeld Stationen und durch das System mit Datum/Zeit in einem Feld ( jetzt() in Standardwert).

Die Einträge werden über einen Button "Datensatz hinzufügen" in die Tabelle geschrieben.

In das Textfeld Bemerkungen kann der User nun Dinge wie z.B. Felge defekt schreiben. Dann würde man in der gefilterten Übersicht irgendwo einen Eintrag Felge defekt sehen.

Wie gehts nun weiter bzgl. "ein Fremdschlüsselfeld der beiden anderen Tabellen als Pflichtfeld definieren " ?

Es handelt sich um Kfz

Gruß
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 06, 2018, 11:22:03
Hallo,
die Stationen sind zeitlos. Das Datum/Zeitfeld gehört demzufolge in die Tabelle frmFahrzeugbewegungen. In dieser Tabelle sind die beiden Felder  Fahrzeuge und Stationen die Fremdschlüsselfelder die eine Zahl sind. Für die beiden Felder solltest Du keine Nachschlagefelder in der Tabelle anlegen. Nachschlagefelder (Kombinationsfelder) werden ausschließlich in Formularen verwendet.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 06, 2018, 12:33:47
Hi, ok also ich habe die Tabelle tblFahrzeugbewegungen erstellt und drei Felder hinzugefügt:

- Fahrzeuge vom Typ Zahl --> Eingabe erforderlich = ja
- Stationen vom Typ Zahl --> Eingabe erforderlich = ja
- Zeitraum vom Typ Datum/Zeit

Die beiden Felder Fahrzeuge und Stationen sind unten im Reiter Nachschlagen als Textfeld deklariert.

Das Datum/Zeit-Feld aus tblStationen habe ich entfernt.

Ich gehe aber davon aus, dass ihr meint, ich solle aus Stationen und Fahrzeuge wieder ein Textfeld machen und über Beziehungen die beiden Felder Stationen und Fahrzeuge in der tblFahrzeugbewegungen verknüpfen, oder?

Gruß
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 06, 2018, 13:01:59
Hallo,
Zitat
Ich gehe aber davon aus, dass ihr meint, ich solle aus Stationen und Fahrzeuge wieder ein Textfeld machen
Du spricht in Rätseln.

Die Bewegungstabelle sollte so aussehen:
- FahrzeugID_F vom Typ Zahl
- StationID_F vom Typ Zahl
- Zeitraum vom Typ Datum/Zeit

Die beiden Fremdschlüsselfelder (_F) verweisen auf den Primärschlüssel von Fahrzeug bzw. Station.

Zeige mal ein Bild des Beziehungsfensters.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 06, 2018, 13:10:06
"Du spricht in Rätseln." -> Denkfehler meinerseits, einfach ignorieren   :P

(https://abload.de/img/beziehungen6rqfr.png) (http://abload.de/image.php?img=beziehungen6rqfr.png)


Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 06, 2018, 13:25:41
Hallo,
die Beziehung zwischen Fahrzeug und Station ist überflüssig.
Benenne die ID vernünftig. FahrzeugID und StationID, die beiden Framdschlüsselfelder dann analog aber mit angehängtem _f, damit man Primärschlüssel und Fremdschlüssel zweifelsfrei unterscheiden kann.

Und, in den Beziehungen ist grundsätzlich referentielle Integrität einzustellen.

Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 06, 2018, 13:47:53
Hi, ich habe die Felder entsprechend benannt und die bei der Beziehung StationenID_f zu Station ID die referentielle Integrität aktiviert. Nun habe ich das bei FahrzeugeID_f zu FahrzeugID auch probiert aber erhalte folgende Fehlermeldung:

(https://abload.de/img/beziehungen2x7sor.png) (http://abload.de/image.php?img=beziehungen2x7sor.png)

Was habe ich falsch gemacht?
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 06, 2018, 13:53:41
Hallo,
der Datentyp von FahrzeugeID_f muss Long Integer sein.

Warum verwendst Du für Fahrzeuge die mehrzahl, da steht nur ein Fahrzeug drin.
Eine einheitliche sinnvolle Nomenklatur ist vorteilhaft.

PS:
Bitte lade Bilder hier im Forum als Anhang hoch.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 06, 2018, 14:05:50
Hi,

hab aus der Mehrzahl die Einzahl (FahrzeugID_f) gemacht. Der Datentyp ist bereits Long Integer.

 :)

Kommando zurück: Ich habe die Beziehung nochmal neu gezogen und jetzt passt es soweit.

Wie ginge es nun weiter?
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 06, 2018, 14:15:20
Hallo,
gibt es schon Einträge in der Tabelle mit den Bewegungen ?
Wann ja, alle löschen und dann noch mal versuchen.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Lachtaube am Februar 06, 2018, 14:18:45
Zwar ohne den von Klaus propagierten _f-Suffix, sollte das Datenmodell in Grundzügen so wie im ersten Anhang ausschauen.

fzg_bez (Fahrzeugbezeichnung) und stat_bez (Stationsbezeichnung) haben jeweils einen eindeutigen Index, um doppelte Eingaben auszuschließen. Ebenso ist dafür das Attribut Eingabe erforderlich im Tabellenentwurf auf Ja gesetzt - Fahrzeuge und Stationen ohne Bezeichnung wollen wir nicht zulassen. Sollten weitere relevante Attribute zu Fahrzeug bzw. Station vorliegen, kann man diese natürlich in den Tabellen ergänzen.

fzg_id und stat_id sind in Tabelle fahrzeug bzw. station jeweils ein Autowertfeld mit gesetztem Primärschlüssel. Blende das Index-Fenster (Symbol mit dem gelben Blitz) ein, und sorge dafür, dass jedes dieser Felder nur einen Index aufweist (einen 2. Index ggf. löschen).

In der Tabelle fzg_an_station habe ich die Datum/Uhrzeitfelder ankunft und abfahrt neben den Fremdschlüsselfeldern fzg_id und stat_id (jeweils Zahlenfelder, Long Integer) gewählt. ankunft sollte Pflichtfeld sein und Jetzt() als Standardwert aufweisen. abfahrt kann nachträglich erfasst werden, wenn das Fahrzeug die Station verlässt. Um sich gegen Fehleingaben (Abfahrt liegt vor Ankunft) zu schützen, kann die Tabelleneigenschaft Gültigkeitsregel mit ([ankunft]<=[abfahrt]) Oder [abfahrt] Ist Null ausgefüllt werden. Beide Fremdschlüsselfelder sind natürlich auch als Pflichtfelder zu kennzeichnen (Eingabe erforderlich auf Ja setzen).

Der zweite Anhang zeigt ein mögliches Eingabe-Formular in Endlos-Darstellung.
Im Formular fügst Du alle Felder (den Primärschlüssel muss man nicht anzeigen) ein und änderst über das Kontextmenü (Rechtsklick mit der Maus) fzg_id und stat_id in ein Kombifeld um. Als Datensatzherkunft legst Du jeweils eine Abfrage an, die für das Fahrzeug z. Bsp. so als SQL-Text lauten könnte:SELECT f.fzg_id,
       f.fzg_bez
FROM   fahrzeug AS f;
Dann legst Du die Spaltenanzahl auf 2 fest, und setzt die Spaltenweiten auf z. Bsp. 0cm;2,54cm, was dazu führt, dass die zweite Spalte angezeigt wird, die erste aber im Feld gespeichert wird. Analog verfährst Du dann mit dem Feld stat_id.

Das Filtern anhand der Ausgangsfrage wäre dann Schritt Nr. 3, der, wenn Du gleichziehst, erarbeitet werden kann.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 07, 2018, 09:02:33

fzg_id und stat_id sind in Tabelle fahrzeug bzw. station jeweils ein Autowertfeld mit gesetztem Primärschlüssel. Blende das Index-Fenster (Symbol mit dem gelben Blitz) ein, und sorge dafür, dass jedes dieser Felder nur einen Index aufweist (einen 2. Index ggf. löschen).

<< Hab ich geprüft und so umgesetzt. Beide Tabellen haben nun nur einen Index.  :)


In der Tabelle fzg_an_station habe ich die Datum/Uhrzeitfelder ankunft und abfahrt neben den Fremdschlüsselfeldern fzg_id und stat_id (jeweils Zahlenfelder, Long Integer) gewählt. ankunft sollte Pflichtfeld sein und Jetzt() als Standardwert aufweisen. abfahrt kann nachträglich erfasst werden, wenn das Fahrzeug die Station verlässt. Um sich gegen Fehleingaben (Abfahrt liegt vor Ankunft) zu schützen, kann die Tabelleneigenschaft Gültigkeitsregel mit ([ankunft]<=[abfahrt]) Oder [abfahrt] Ist Null ausgefüllt werden. Beide Fremdschlüsselfelder sind natürlich auch als Pflichtfelder zu kennzeichnen (Eingabe erforderlich auf Ja setzen).

Das Filtern anhand der Ausgangsfrage wäre dann Schritt Nr. 3, der, wenn Du gleichziehst, erarbeitet werden kann.

Bei mir heißt die Tabelle tblFahrzeugbewegungen.

Ich habe dazu folgende Frage: Und zwar werden die Fahrzeugbewegungen per Scanner erfasst. D.h. es wird an einem Tablet per Finger-Touch im Eingabeformular das Textfeld Fahrzeuge ausgewählt und anschließend die FahrzeugID-Karte am Fahrzeug gescannt (Fahrzeugname). Dann wird das Fahrzeug an eine Station gebracht und anschließend am Tablet das Textfeld Stationen per Finger-Touch ausgewählt und die entsprechende Station gescannt, wenn das Fahrzeug dort abgestellt wurde.

Daher habe ich erstmal nur ein Datum/Uhrzeit-Feld, da im Endeffekt nur die Ankunftszeit an der jeweiligen Station ausreichend ist. Das hieße wiederum: Dieses Feld auf Pflichteingabe und Standarddatum, richtig?

Kurz zum Hintergrund: In meinem ersten Versuch solch eine Datenbank aufzuziehen habe ich es durch Forenrecherche und Youtube hinbekommen, dass alles soweit funktioniert bis auf die Sache mit der Auswahl, dass zu jedem Fahrzeug nur die letzte Buchung angezeigt wird. Es wird quasi in einer Tabelle über ein Eingabeformular eine Historie angelegt. Das ist nicht optimal daher auch meine Frage hier in die Runde  :)

Mit eurer Hilfe fange ich quasi wieder von null an und ihr seid echt super hilfsbereit!  :) Das hab ich so in Foren noch nicht erlebt. Ich bin euch echt mega dankbar dafür  :)

Ich bräuchte nach aktuellem Stand quasi ein Formular, welches drei Textfelder enthält, die ich am Tablet auswählen kann und die ich per Scannung füttere. Der Scanner schreibt einfach direkt ins Textfeld. Was muss ich tun, damit das in dieser Datenbank funktioniert? Mir ist noch nicht ganz klar, wie die Datenbank im Hintergrund dann funktioniert weil die Scannung ja eine Eingabe in ein Textfeld tätigt. Ich glaube ihr hattet den Plan das, wie du schon sagst, über Dropdown zu regeln. Ich habe anfangs vergessen zu sagen, dass alles per Scanner laufen soll, kein Mensch kommt auf die Idee das vorauszusetzen. An der Stelle bitte ich um Entschuldigung, das hätte ich von Anfang an sagen müssen.  :-[  :-\

Mein aktueller Stand ist: "fzg_id und stat_id sind in Tabelle fahrzeug bzw. station jeweils ein Autowertfeld mit gesetztem Primärschlüssel. Blende das Index-Fenster (Symbol mit dem gelben Blitz) ein, und sorge dafür, dass jedes dieser Felder nur einen Index aufweist (einen 2. Index ggf. löschen)." << das habe ich umgesetzt und in der Tabelle tblFahrzeugbewegungen ein Feld mit Datum/Zeit als Pflichteingabe und jetzt() als Standardwert.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Beaker s.a. am Februar 07, 2018, 13:32:18
Hallo,
Eingabe ist Eingabe. Access ist es egal wo die herkommt.

OT: bezügl. Indices
Da muss man bei FK-Feldern aufpassen, da diese bei Einrichtung einer
Beziehung autom. indiziert werden ohne dass die Indices im Entwurf
angezeigt werden. Anbei ein kleines Tool, mit dem du das leicht über-
prüfen kannst.

gruss ekkehard
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Lachtaube am Februar 07, 2018, 14:18:19
Taikido,

wenn Fahrzeuge gescannt werden, müsste man beim Kombifeld in dem Fall das NichtInListe-Ereignis aufrufen, damit auch neue Fahrzeuge problemlos erfasst werden können. Das Prinzip kannst Du in der FAQ 4.13 (http://www.donkarl.com/FAQ/FAQ4Formulare.htm#4.13) nachlesen. Wenn das Scannen auch für die Stationsdaten gilt, ist dort genauso zu verfahren.

Und wenn Du nur Ankünftszeitpunkte erfasst, ist es natürlich richtig, auch nur ein Feld für den Zeitpunkt in der Tabelle zu führen. Mich hat halt der Begriff Zeitraum (im Sinne von Zeitspanne) dazu veranlasst, Ankunft und Abfahrt als Felder festzulegen.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 08, 2018, 10:07:07
Ok verstanden. Vielen herzlichen Dank schonmal :)

Dazu eine Sache und zwar soll der Anwender ausschließlich per Scannung die Fahrzeuge erfassen. Es soll vermieden werden, dass der Anwender, wenn er lustig ist, sie per Dropdown ein Fahrzeug und eine Station zieht und somit Fahrzeuge unkontrolliert von A nach B schiebt. Quasi eine Prozessabsicherung. Daher mein Gedanke des Textfeldes. Kann ich das dann analog auf das Textfeld übertragen oder gibt es dafür wieder eine spezielle Vorgehensweise?

Dass ich Zeitraum geschrieben habe liegt daran, dass ich mit Access und der Genauigkeit noch nicht so firm bin. Ich hatte da die Gedanken wohl woanders ....

Ich denke ihr merkt dass ich keine Ahnung davon habe   :-\

PS: Danke für das Tool, Ekkehard   :)
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Lachtaube am Februar 08, 2018, 10:50:03
Ob Eingaben per Tastatur oder Scanner erfolgen, merkt Access nicht. Wenn Mitarbeiter spielerisch veranlagt sind, sollte man ihnen nur Eingabeformulare zur Verfügung stellen (manchmal genügt auch ein entsprechender Hinweis, dass die Daten des Bedieners/Datenerfassers auch gespeichert werden und mutwillige Manipulationen Konsequenzen nach sich ziehen), die u.U. nicht an eine Tabelle gebunden sind. Dann wären auch Textfelder die richtigen Steuerelemente zur Scanner-Eingabe. Allerdings wird dann ein wenig Code benötigt, um die Daten in die richtigen Tabellen zu schieben, denn es muss ja aus der Scanner-Eingabe in der Fahrzeugtabelle die richtige ID gesucht werden bzw. bei Ersterfassung eines Fahrzeugs zuerst ein neuer Datensatz mit ID angelegt werden, die dann in die die Erfassungstabelle eingetragen wird.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 08, 2018, 10:55:17
Ganz genau, da bin ich voll bei dir. Und genau das ist das Thema, deswegen ist die Version die aktuell läuft und die meine Kolleginnen und Kollegen nutzen nur eine Datenbank mit einer Historie. Man kann zwar alle Fahrzeuge nach ihrer letzten Buchung finden, jedoch muss man dafür jedes Fahrzeug einzeln abrufen.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Lachtaube am Februar 08, 2018, 11:21:44
Wenn das Modell der DB steht und Du in's Stocken gerätst, kannst Du ja in einem Anhang die DB mit wenigen Spieldaten hochladen und darin ein Formular für die Historie vormodellieren - die passenden Abfrag(n) nebst Code bastelt Dir bestimmt jemand hier aus dem Forum.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 08, 2018, 14:29:03
Oh vielen Dank. Also ich habe jetzt eine Beispieldatenbank mit zwei Formulare; eins für die Fahrzeughistorie mit Kombinationsfelder zum filtern der Historie und eins zum Erfassen der Bewegungen. Die Tabelle tblFahrzeuge habe ich um ein paar Spalten erweitert, weil ich die Daten dann später für einen Bericht usw. brauchen kann. Die Formatierung usw. habe ich erstmal stiefmütterlich behandelt.

Es ist mir jetzt sehr unangenehm, dass sich nun jemand opfern möchte um meine Arbeit zu machen  :-[  :-[  :-[
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 08, 2018, 14:47:57
Hallo,
das ist völlig falsch. Das Formular für die Fahrzeugbewegung muss auch auf dieser Tabelle beruhen, es nennt sich ja auch Bewegung.
Die Station und das Fahrzeug wird dann per Kombinatuionsfeld ausgewählt und die beiden Fremdschlüsselfelder gefüllt. Dort kommt nicht der Klartext rein. Die Beziehung in der Abfrage für dieses Formular ist auch falsch, man kann zwischen zwei Autowerten keine Verknüpfung herstellen. Ist hier auch sinnfrei.
Die Daten für den Fahrzeugbetreuer solltest Du in eine extra Tabelle auslagern.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 09, 2018, 08:25:10
Guten Morgen,

ok...das heißt dann für die frmFahrzeugbewegungen, dass ich drei Kombinationsfelder erstelle und dann jeweils auf die tblFahrzeugbewegungen verweise?

Für Die Fahrzeuge also:

Das Kombinationsfeld soll die Werte in einer Tabelle oder Abfrage abrufen --> Tabelle Fahrzeugbewegungen --> FahrzeugID_f übernehmen --> Reihenfolge keine --> Schlüsselspalte ausblenden --> Wert speichen in Feld FahrzeugID_f

richtig? Analog dann dazu für Station und Bemerkung.

Die Beziehungen: soll ich die dann löschen?

Die Betreuer schreibe ich in eine neue Tabelle tblFahrzeugbetreuer, ebenso für Ladegerät (tblLadegeräte)

Gruß
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 09, 2018, 08:29:19
Hallo,
Zitat
dass ich drei Kombinationsfelder erstelle und dann jeweils auf die tblFahrzeugbewegungen verweise?
wieso 3 ?
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 09, 2018, 08:34:00
Weil das Fahrzeug und die Station gescannt werden soll und unter Bemerkung kann der Anwender dann einen Freitext eintragen, so der Plan.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 09, 2018, 09:34:04
Hallo,
Zitat
Fahrzeug und die Station gescannt werden soll
Das sind doch nur zwei.

Zeige bitte noch mal ein Bild des Beziehungsfensters.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 09, 2018, 09:53:45
Hallo,
Zitat
Fahrzeug und die Station gescannt werden soll
Das sind doch nur zwei.

Zeige bitte noch mal ein Bild des Beziehungsfensters.

Stimmt. Ich dachte da ja in Bemerkungen was eingetragen werden soll, muss ich auch dafür dann ein Feld in dem Formular erstellen.

Ich hab die aktuelle DB auch nochmal angehängt.

Gruß
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 09, 2018, 10:05:19
Hallo,
wenn Du scannen willst, brauchst Du doch auch Felder die den Barcode dazu speichern. Wo sind denn die Felder ?
Fahrzeug und Station benötigen je ein solches Feld.

Wenn die Bemerkungen Freitext ist, welchen Sinn soll da ein Kombinationsfeld machen ?
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 09, 2018, 10:17:14
Hallo,
wenn Du scannen willst, brauchst Du doch auch Felder die den Barcode dazu speichern. Wo sind denn die Felder ?
Fahrzeug und Station benötigen je ein solches Feld.

Wenn die Bemerkungen Freitext ist, welchen Sinn soll da ein Kombinationsfeld machen ?

Du hast gestern das hier geschrieben
 
Hallo,
das ist völlig falsch. Das Formular für die Fahrzeugbewegung muss auch auf dieser Tabelle beruhen, es nennt sich ja auch Bewegung.
Die Station und das Fahrzeug wird dann per Kombinatuionsfeld ausgewählt und die beiden Fremdschlüsselfelder gefüllt. Dort kommt nicht der Klartext rein. Die Beziehung in der Abfrage für dieses Formular ist auch falsch, man kann zwischen zwei Autowerten keine Verknüpfung herstellen. Ist hier auch sinnfrei.
Die Daten für den Fahrzeugbetreuer solltest Du in eine extra Tabelle auslagern.

Das hat mich verwirrt. Ich hatte zuvor 3 Textfelder im Formular frmFahrzeugbewegungen. Die Textfelder schreiben dann direkt in die tblFahrzeugbewegungen.

Deswegen dachte ich, das sei falsch und habe dann aus den Textfeldern die Kombinationsfelder gemacht.

 :)
Gruß
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 09, 2018, 10:40:58
Hallo,
ich habe heute nix anderes gesagt. Und dabei bleibt es auch.
Und in welche Felder enthalten jetzt den Barcode?
Das ist ja unabhängig von den Kombis, die ja richtig sind, aber eben nur die 2 Fremdschlüsselfelder, Bemerkungen kann niemals ein Kombi sein.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 09, 2018, 11:03:45
Ok dann hab ich dich falsch verstanden.

Ich hab nun wieder zwei Kombinationsfelder für Fahrzeug und Station und ein Textfeld für Bemerkung. Gescannt wird (bzw. soll werden) in die Kombinationsfelder Fahrzeug und Station.

Das eine Formular (tblFahrzeugbewegungen - ich muss das noch umbenennen) soll alle Daten anzeigen und filtern, wenn man nach bestimmten Fahrzeugen oder Stationen sucht. Wenn Filter auf Station dann nur die letzten Einträge auf diese Station zu jedem Fahrzeug.

Das andere Formular (frmFahrzeugbewegungen) dient zur Eingabe. Da dachte ich anfangs an 3 Textfelder, da hier ja der Scanner zum Einsatz kommt. Also Fahrzeug, Station wird gescannt und Bemerkung erfolgt über die Bildschirmtastatur.

Gruß
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 09, 2018, 11:20:59
Hallo,
welche Felder enthalten jetzt den eigentlichen Barcode ?
Die beiden Fremdschlüsselfelder können keinen Barcode speichern.

Oder anders gefragt, was steht in den Feldern Stationen und Fahrzeuge ?
Hier ist übrigens die Mehrzahl irritierend, da steht eine Station drin und ein Fahrzeug.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 09, 2018, 13:27:36
Hallo,
welche Felder enthalten jetzt den eigentlichen Barcode ?
Die beiden Fremdschlüsselfelder können keinen Barcode speichern.

Oder anders gefragt, was steht in den Feldern Stationen und Fahrzeuge ?
Hier ist übrigens die Mehrzahl irritierend, da steht eine Station drin und ein Fahrzeug.

Da ich hier für Verwirrung stifte und selbst mittlerweile nicht mehr mitkomme:

was ich habe bzw. gerne hätte ist:

5 Tabellen:

• tblFahrzeugbetreuer
- | ID | Fahrzeugbetreuer | Telefon_Fahrzeugbetreuer | Vertretung | Telefon_Vertretung |

• tblFahrzeugbewegungen
- | FahrzeugbewegungenID | FahrzeugID_f | StationsID_f |Datum_Zeit | Bemerkung |

• tblFahrzeuge
- | FahrzeugID | Fahrzeuge | Bemerkung | zweite_Batterie |

• tblLadegeräte
- | ID | Batterieladegerät |

• tblStationen
- | StationID | Stationen |


2 Formulare:

• frmFahrzeugbewegungen
- Kombinationsfeld "Fahrzeug" mit FahrzeugID_f << Scannung einer Barcodekarte mit Information aus:
 tblFahrzeuge >> Spalte "Fahrzeug"

- Kombinationsfeld "Station" mit StationsID_f << Scannung einer Barcodekarte mit Information aus:
 tblStationen >> Spalte "Stationen". (Es gibt mehrere Karten mit unterschiedlichen Stationen)

- Textfeld "Bemerkung" mit Bemerkung mit Informationen aus:
der Bildschirmtastatur am Tablet. Freitext.

- Button "Datensatz hinzufügen"


• frmFahrzeugsuche (Quelle: tblFahrzeugbewegungen)
- Textfelder "FahrzeugID_f" , "StationsID_f" , "Datum_Zeit" , "Bemerkung"
- Kombinationsfelder Fahrzeug (ungebunden), Station (ungebunden), Datum (ungebunden)

über die Kombinationsfelder soll man später filtern können. Bei Station sollen aber nur Fahrzeuge angezeigt werden, die ihre letzte Scannung auf diese Station haben.

------
Funktionsweise:

Der Anwender soll über das Formular "frmFahrzeugbewegungen" in das Feld "Fahrzeug" tippen und den Barcode der Fahrzeugkarte (die sich am Fahrzeug befindet und auf der der exakt gleichte Text wie in der Tabelle tblFahrzeuge in Spalte  "Fahrzeuge" steht) scannen. Anschließend soll er das Fahrzeug bewegen. Dann den Barcode der Station scannen an der er das Fahrzeug abstellt (der Barcode hat, wie auch bei Fahrzeuge, die Codegundlage aus der Tabelle tblStationen (Spalte "Stationen") und falls er keine Bemerkung schreiben möchte, auf den Button "Datensatz hinzufügen" tippen. Dann weiter mit dem nächsten Fahrzeug. Die Fahrzeugkarten werden wenn die Datenbank mal soweit funktioniert, über einen Bericht erstellt. Daten dazu ziehe ich mir dann aus den Tabellen das bekomme ich hin.

Das gesamte Konzept läuft bereits in einer anderen Konstellation (nur eine Tabelle die ihre Daten direkt über den Scanner bekommt). Leider scheitert es bei der laufenden Version am Filter nach Stationen weil mir alle Fahrzeuge angezeigt werden, die irgendwann mal dort standen, was ja sinnlos ist wenn ich wissen will an welcher Station aktuell welche Fahrzeuge stehen.
------

Soll ich nochmal neu anfangen oder was muss ich umbauen, dass ich die Datenbank wie in der Funktionsweise beschrieben hinbekomme? Ich bin euch wirklich sehr dankbar für eure Hilfe! Im Grunde scheitert es an dem blöden Filter  :-\

Anbei nochmals die aktuelle DB und dazu auch das Beziehungsfenster.

Access ist schon speziell  :-[

Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Beaker s.a. am Februar 09, 2018, 14:26:29
Hallo,
Ergänze zunächst die Tabellen
tblFahrzeugbetreuer
tblLadegeraete
und kläre uns über die Zusammenhänge dieser beiden Tabellen mit der
tblFahrzeuge auf. Vorher macht's keinen Sinn sich mit Formularen zu
beschäftigen.
gruss ekkehard
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 09, 2018, 14:51:08
Hallo,
man müsste auch wissen was es mit den Ladegeräten auf sich hat, wie hängt diese Tabelle mit den anderen Tabellen zusammen ?
Wechseln die Ladegeäte ?
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 09, 2018, 15:12:08
Hi, also die Tabelle Ladegeraete und die Tabelle Fahrzeugbetreuer sind für die Fahrzeugkarten gedacht. Damit dort zu den jeweiligen Fahrzeugen der entsprechende Betreuer samt Vertretung und Telefonnummer, sowie das zum Laden der Hauptbatterie (Fahrzeugbatterie) nötige Ladegerät zu finden ist. Die Ladegeräte können wechseln, wenn die Fahrzeugbatterie getauscht wird.

Gruß
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: MzKlMu am Februar 09, 2018, 15:18:29
Hallo,
Zitat
Die Ladegeräte können wechseln, wenn die Fahrzeugbatterie getauscht wird.
dann braucht es auch eine Tabelle für die Batterien. Und dem Fahrzeug ist die Batterie (als FS) zuzuordnen und nicht das Ladegerät. Denn das Ladegerät ist von der Batterie abhängig und nicht vom Fahrzeug.

Der Betreuer kann ja auch wechseln, dann ordnest Du dem Fahrzeug einen anderen Betreuer zu. Dann kannst Du aber nicht mehr nachvollziehen wer das Fahrzeug in der Vergangenheit betreut hat, ist Dir das klar bzw. ist das egal ?

Du solltest endlich mal alles erklären, Du machst hier Salamitaktik, es kommt ständig was neues hinzu.
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 14, 2018, 07:54:42
Hi,

du hast natürlich recht dass das dem Fahrzeug die Batterie zugeordnet werden soll. Dennoch soll die Tabelle Ladegeraete und Fahrzeugbetreuer nur für den Bericht dienlich sein. Es ist egal wer das Fahrzeug mal vor ein paar Monaten betreut hat, es zählt nur der aktuelle Betreuer.

Wir haben Ladegeräte, die für alle Fahrzeuge (Batterien) mit Ausnahme von vllt. 2 oder 3 geeignet sind. Für die speziellen Batterien gibt es andere Ladegeräte. Wenn sich die Batterie ändert muss eh eine neue Fahrzeugkarte per Bericht erstellt werden, somit ist das auch egal. Die Batterien wechseln nur in absoluten Ausnahmefällen und das bekommt man immer mit und kann somit die Fahrzeugkarte aktualisieren.

 :)

Was ich in Post #34 geschrieben habe ist funktionstechnisch alles, mehr kommt (käme) nicht hinzu.

Vielen Dank für eure Hilfe !!  :)
Titel: Re: die letzten Einträge kennzeichnen
Beitrag von: Taikido am Februar 16, 2018, 07:14:33
Wie ginge es nun weiter?