Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

die letzten Einträge kennzeichnen

Begonnen von Taikido, Februar 06, 2018, 09:26:54

⏪ vorheriges - nächstes ⏩

Taikido

Zitat von: Lachtaube am Februar 06, 2018, 14:18:45

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.
  •  

Beaker s.a.

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
--
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.
  •  

Lachtaube

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 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.
Grüße von der (⌒▽⌒)
  •  

Taikido

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   :)
  •  

Lachtaube

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.
Grüße von der (⌒▽⌒)
  •  

Taikido

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.
  •  

Lachtaube

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.
Grüße von der (⌒▽⌒)
  •  

Taikido

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  :-[  :-[  :-[
  •  

MzKlMu

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.
Gruß
Klaus
  •  

Taikido

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ß
  •  

MzKlMu

Hallo,
Zitatdass ich drei Kombinationsfelder erstelle und dann jeweils auf die tblFahrzeugbewegungen verweise?
wieso 3 ?
Gruß
Klaus
  •  

Taikido

Weil das Fahrzeug und die Station gescannt werden soll und unter Bemerkung kann der Anwender dann einen Freitext eintragen, so der Plan.
  •  

MzKlMu

Hallo,
ZitatFahrzeug und die Station gescannt werden soll
Das sind doch nur zwei.

Zeige bitte noch mal ein Bild des Beziehungsfensters.
Gruß
Klaus
  •  

Taikido

Zitat von: MzKlMu am Februar 09, 2018, 09:34:04
Hallo,
ZitatFahrzeug 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ß
  •  

MzKlMu

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 ?
Gruß
Klaus
  •