Formular mittels Barcode-Scanner steuern

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

LittleNoMuc2
Beiträge: 2
Registriert: Fr, 27.11.2015 09:34

Formular mittels Barcode-Scanner steuern

Beitrag von LittleNoMuc2 »

Vorab zum Hintergrund: Ich bastel gerade in Base an einer DB zur Verwaltung der Schlüsselausgabe. Ein Schlüssel wird ausgegeben und die DB muss wissen bei wem er ist bzw. wann er wieder zurück gebracht wurde.

Um den Ablauf zu beschleunigen und gleichzeitig menschliche Fehlerquellen zu vermeiden, würde ich gerne jeder Person die Schlüssel ausleiht und jedem einzelnen Schlüssel eine Nummer vergeben, die mittels Barcode aufgedruckt ist.

Nimmt jetzt jemand einen Schlüssel mit, muss er im Idealfall nur seine "Benutzerkarte" scannen und danach den Schlüssel.

Den Barcode-Scanner kann ich so einstellen, das er nach jedem Scan ein Enter mitschickt. Ich könnte also in Base ein Formular bauen, in dem ich mittels Textfeld den Barcode-Scanner eine Eingabe machen lasse die dann mit Enter bestätigt wird.

Jetzt meine Frage: Kann ich nur mittels eines Textfeldes anhand der Eingabe in dem Feld (Ich könnte ja z. B. jedem Barcode vor die Schlüsselnummer noch Steuerzeichen vorsetzen, die dem Base-Formular verraten ob es sich um einen gescannten Schlüssel oder Mitarbeiter handelt) einen Eintrag in die entsprechende Tabelle auslösen?

Ich weiss nicht ob meine Frage jetzt verständlich formuliert ist, deshalb ein Beispiel: Mitarbeiter XY nimmt Schlüssel 122 mit. Jetzt scannt er seine Mitarbeiter-Karte wodurch der Barcode-Scanner in das Eingabefeld des Formulars die Zeichenfolge $$MtbXY-Enter "tippt". Danach scannt er den Schlüssel, was die Eingabe $$S122-Enter auslöst. Jetzt soll das Formular in die entsprechende Tabelle die Felder ausfüllen mit "Zeitstempel", "Mitarbeiter", "Schlüssel" und das Feld "Schlüssel-Zurück" leer lassen (das brauch ich an anderer Stelle um die Auswertung vorzunehmen, welche Schlüssel aktuell ausgegeben sind).

Das scannen von zwei verschiedenen Befehlen (zuerst Mitarbeiter, danach Schlüssel) wird wahrscheinlich zu komplex, deshalb könnte ich mir dafür vielleicht mit Schaltflächen behelfen, die ich später auf einem kleinen Touch-Display den Mitarbeiter drücken lasse. Wichtig wäre mir aber, das sich Mitarbeiter und Schlüssel nur mittels Barcode "angeben" lassen.
TrueColor
******
Beiträge: 542
Registriert: Do, 11.03.2010 11:23

Re: Formular mittels Barcode-Scanner steuern

Beitrag von TrueColor »

Das scannen von zwei verschiedenen Befehlen (zuerst Mitarbeiter, danach Schlüssel) wird wahrscheinlich zu komplex, deshalb könnte ich mir dafür vielleicht mit Schaltflächen behelfen, die ich später auf einem kleinen Touch-Display den Mitarbeiter drücken lasse. Wichtig wäre mir aber, das sich Mitarbeiter und Schlüssel nur mittels Barcode "angeben" lassen.
Ich würde das vielleicht auf diese Weise lösen:

Mitarbeiter 92 --> ID: M092
Schlüssel 122 --> ID:S122

erster Scan --> input1
zweiter Scan --> input2

wenn input1 = input2 --> Fehler! "Einen Mitarbeiter und einen Schlüssel scannen!", Eingaben zurücksetzen

Datum-Zeit-Stempel --> zeit

wenn erstes Zeichen von input1 = "M" --> mitarbeiter = input1,
wenn erstes Zeichen von input2 = "S" --> schluessel = input2,

wenn erstes Zeichen von input1 = "S" --> schluessel = input1
wenn erstes Zeichen von input2 = "M" --> mitarbeiter = input2,

zeit, mitarbeiter, schlüssel in DB übernehmen

Ausgabe oder Rückgabe könnte über eine Bestandsprüfung automatisch gesetzt werden, würde ich aber auf dem Bildschirm ausgeben und bestätigen lassen.

Meiner Meinung nach sollte nicht nur der Barcode, sondern auch 'ne menschenlesbare ID aufgedruckt sein, damit derjenige das auch kontrollieren kann.
System:
Arbeit: Windows 7 (64 bit) + Apache OpenOffice 4.1.2 (AOO412m3), LibreOffice 4.1.4.2
Home: Windows 10 (64 bit) + Apache OpenOffice 4.1.2 (AOO412m3)
LittleNoMuc2
Beiträge: 2
Registriert: Fr, 27.11.2015 09:34

Re: Formular mittels Barcode-Scanner steuern

Beitrag von LittleNoMuc2 »

Ja, gegen den Ablauf den du schilderst, gibts nix einzuwenden.

Ich brauche aber Hilfe bei der Erstellung eines Formulars was genau das umsetzt
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formular mittels Barcode-Scanner steuern

Beitrag von RobertG »

Hallo LittleNoMuc2,

ich habe den Barcodescanner auch schon testweise mit Base genutzt. Sobald ein Barcode eingescannt wird wandert der Cursor zum nächsten Feld. Ist das Feld das letzte Feld, so wird der Sprung zum nächsten Datensatz durchgeführt.

Deine Tabelle müsste ein Feld für jeden Barcode haben. Die anderen Felder werden ausgeblendet. Das Ausgabedatum wird, da es sich um einen neuen Datensatz handelt, automatisch geschrieben, wenn Du dem Datumsfeld einen Default-Wert mitteilst. So etwas geht über Extras → SQL mit einem Befehl wie

Code: Alles auswählen

ALTER TABLE "Tabelle" ALTER COLUMN "Datum" SET DEFAULT TODAY;
In der Datenbank sollte natürlich eine Tabelle "Mitarbeiter" und eine Tabelle "Schluessel" existieren. Die Primärschlüssel dieser Tabellen wären dann die entsprechenden Barcodeziffern. Dabei würde ich darauf achten, dass sich die Mitarbeiterprimärschlüssel klar von den anderen Schluesselprimärschlüsseln unterscheiden. Ginge ja z.B., indem die Codes für die Mitarbeiter alle eine führende 1 erhielten.

Die Tabelle, die dem Formular zugrundeliegt, ist die Verbindungstabelle zwischen "Mitarbeiter" und "Schluessel". Sie wird auch unter Extras → Beziehungen so definiert. Wird jetzt versucht, einen falschen Schlüssel einzuscannen, so wird die Abspeicherung von Base verweigert.

Den Beispieldatenbanken für das Handbuch Base liegt übrigens ein Font bei, mit dem es auch möglich ist, solche ean13-Barcodes aus Base heraus auszudrucken.

Gruß

Robert
Dateianhänge
Schluessel_Barcode.odb
Einfaches Formular, nur Barcodes
(17.33 KiB) 217-mal heruntergeladen
Antworten