Automatisiete Dateneingabe - via .bat od .cmd
Hallo Zusammen,
erstmal möchte ich das Problem kurz darstellen:
Ich habe eine DB ( acces) in die Links von Bildern einzelner Proben gelinkt werden - diese Bilder werden von einer Microskopkammera aufgenommen und in Verzeichnis X abgelegt ( viele viele Bilder je Probe).
Die Proben bekommen in der DB fortlaufen ID's zu denen dann z.B. auch die Bilder gelinkt werden, 4 je Probe/ID. Die Bilder haben eine festgelegte Benennung nach ID, Eingabefeld in der DB und weiteren Daten.
Da ich natürlich zu faul bin 50 Bilder am Tag in der DB zu linken, würde ich die Eingabe der Bilderlinks gern automatisieren. Ich habe dazu etwas gegooglt und das Produkt: DictWatch http://www.supernature-forum.de/uberwachung/72809-watchdirectory-verzeichnisse-auf-aenderungen-ueberwachen.html zur Verzeichnisüberwachung gefunden. Es kann z.B. bei neuen Daten/Bildern im Verzeichnis X z.B. eine .bat oder .cmd ausführen.
Grundlegende Frage:
Funktioniert Dateneingabe in eine DB überhaupt per .bat oder .cmd?
Da das Tool eine .bat ausführen kann, dacht ich aus dem Filename die Informationen für eine Dateneingabe in per .bat realisieren zu können. Da wir im Filename alle Informationen haben wohin der Link zum Bild in der DB gehört – ID, Eingabefeld.
Gibt es vielleicht solche Schnittstellen fertig/halbfertig zu kaufen?
Der Suchende
Antwort schreiben
Antwort 1 von sdswd vom 24.02.2021, 22:56 Options
Kannst du mit ein paar Zeilen Access-VBA realisieren, etwa so: 1. Die Batchdatei schreibt die Info in ein Textfile.
2. Das VBA prüft regelm. ob eine Textdatei da ist.
3. Wenn JA: VBA öffnet Textdatei, liest Info aus, speichert diese in der DB und löscht die Textdatei.
ok?
Antwort 2 von dersuchendeX09 vom 24.02.2021, 23:05 Options
Klar ist begreiflich, nochmal bisschen in VBA einstudieren :) ( im Studium nicht aufgepasst :D )
Danke
Lässt sich vielleicht mit VBA auch noch das Verzeichniss überwachen, um nicht zwei Schnittstellen zu verwenden?
Der S.
Antwort 3 von sdswd vom 24.02.2021, 23:22 Options
Geht noch einfacher, wenn du alle Dateien/Bilder im selben Verzeichnis speicherst.
Wenn du eine neue Datei gespeichert hast, lässt du die Batchdatei einen DIR Befehl ausführen, der alle Dateinamen in eine Textdatei schreibt, etwas so:
1.
DIR *.* > [LW+Verzeichnis\]Textdatei.txt
kannst die nicht gewollten Informationen noch wegfiltern mit der FIND-Verkettung, etwa so:
DIR |FIND /V "Zeile-die-du-nicht-sehen-willst" *.* > [LW+Verzeichnis\]Textdatei.txt
2. Du kannst dann über VBA die Datei öffnen und insgesamt einlesen
3. s.oben
Antwort 4 von dersuchendeX09 vom 24.02.2021, 23:45 Options
Antwort 5 von dersuchendeX09 vom 24.02.2021, 23:49 Options
Das ist doch Perfekt - ich werde mich gleich mal an die Arbeit machen und es unserem Programmierer vorwerfen :D
Oder ich staube einen Leergang ab, um meine Wissenslücken zu schliessen.
Interessiert mich schon, lässt sich ja viel mit machen ( hab im damals nur mal rein geschnuppert)...
Ich würde aber noch weiter gehen, dass auch VBA das Batchscript "aktiviert" und alles per "Buttondrück" aus der DB funktioniert?.
Erstmal dickes Danke an Euch! *Forum- & Userlob*
Antwort 6 von Yossarian vom 25.02.2021, 01:34 Options
Das Batchen mit Dir & Co. würd ich ganz weglassen.
Dateinamen aus 'nem Verzeichnis lesen kann man auch in VBA. Eine Schnittstelle weniger ;o)
Yossarian
Antwort 7 von dersuchendeX09 vom 25.02.2021, 08:03 Options
:)
Danke