DOS-BOX in Access darstellen
Ich möchte DOS-Befehle (dir, copy, ftp etc.) über verschiedene Button in Access auslösen.
Über die Befehl "Shell(cmd......etc.)" eigendlich kein Problem.
Nur wird dann ein DOS-Fenster geöffnet
und z.B. das Ergebnis von "dir" in diesem Fenster angezeigt.
Ich möchte aber kein zusätzliches DOS-Fenster, sondern das Ergebnis z.B. in einem Formular-Feld
von Access. Alle über die Button ausgeführten Befehle (und Ergebnisse) werden in diesem Formular oder -Listenfeld
angezeigt.
DOS in Access sozusagen.
Ich hoffe auf Hilfe.
Über die Befehl "Shell(cmd......etc.)" eigendlich kein Problem.
Nur wird dann ein DOS-Fenster geöffnet
und z.B. das Ergebnis von "dir" in diesem Fenster angezeigt.
Ich möchte aber kein zusätzliches DOS-Fenster, sondern das Ergebnis z.B. in einem Formular-Feld
von Access. Alle über die Button ausgeführten Befehle (und Ergebnisse) werden in diesem Formular oder -Listenfeld
angezeigt.
DOS in Access sozusagen.
Ich hoffe auf Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 47865
Url: https://administrator.de/contentid/47865
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
10 Kommentare
Neuester Kommentar
Was Du als erstes brauchst ist eine Funktion ähnlich der hier:
Der Aufruf wäre dann in etwa so:
Dann kannst Du die Datei %TEMP%\x.txt einlesen und im Formular darstellen.
Declare Function GetModuleUsage Lib "Kernel" (ByVal hModule As Integer) As Integer
Function ShellAppAndWait(ByVal pstrApp As String)
Dim intTaskID As Integer
intTaskID = Shell(pstrApp, vbHide)
Do While GetModuleUsage(intTaskID) <> 0
DoEvents
Loop
End Function
Der Aufruf wäre dann in etwa so:
ShellAppAndWait(environ("comspec") & " /C dir c:\*.* > " & environ("temp") & "\x.txt")
Dann kannst Du die Datei %TEMP%\x.txt einlesen und im Formular darstellen.
- senden klappt leider noch nicht.
"Datentypen stimmen nicht
überein" (kann ich das ganz noch
auf Dateitypen begrenzen? .mdb, .jpg etc)
=ftpPutFiles("meinftpserver";"user";"meinpass";"C:\ftp\Ausgang";"/";1)
Host As String, User As String, Password As String => selbsterklärend
LocalFile() As String => ein Array das Typs String
RemoteFile() As String => ein Array das Typs String
Optional FailIfExists As Boolean => Wahr=Abbruch, falls Datei auf dem Server schon existiert.
Zu LocalFile() und RemoteFile():
Das sind wie gesagt Arrays. Das ganze ist so gedacht, das die Members des Arrays LocalFile als auf dem
Server den Namen/Pfad aus RemoteFile bekommen.
Beispiel:
LocalFile(1)="C:\WAS\AUCH\IMMER.TXT"
RemoteFile(1)="/was/anderes.txt"
=> aus die Lokale Datei "C:\WAS\AUCH\IMMER.TXT" wird auf dem Server als "anderes.txt" im Verzeichnis "/was"
abgelegt.
Du wirst also um ein bischen VBA Programmierung nicht drumrum kommen. Die Funktionen sind nicht
zur Verwendung in einem Control im Formular o.Ä. gedacht.
- wie kann ich den gesamten Status
während des Anmeldens, Senden oder
Empfangen nun sichtbar machen?
Ich hab in deiner Funktion was von MSGBOX
gelesen, doch beim "Empfangen"
macht er zwar seine Arbeit, doch angezeigt
wird nichts.
Gar nicht. Diese Funktionalität bietet die DLL nicht. Die Funktionen geben jeweilswährend des Anmeldens, Senden oder
Empfangen nun sichtbar machen?
Ich hab in deiner Funktion was von MSGBOX
gelesen, doch beim "Empfangen"
macht er zwar seine Arbeit, doch angezeigt
wird nichts.
TRUE falls die Aktion erfolgreich war oder FALSE wenn nicht.
2.
Hallo,
ich hab noch einen Fehler, wenn ich mich
über VPN einwähle
geht auch das Dateien empfangen nicht.
Folgender Fehler:
Laufzeitfehler 91 "Objektvariable oder
With-Blockvariable nicht festgelegt"
Beim Debuggen markiert er
"ftp.CloseConnection" gelb.
Die Verbindung ins VPN steht, per Dos
erreiche ich auch den ftp-Server
Hm, ich fürchte da kann ich dir leider nicht helfen. Das scheint evtl.Hallo,
ich hab noch einen Fehler, wenn ich mich
über VPN einwähle
geht auch das Dateien empfangen nicht.
Folgender Fehler:
Laufzeitfehler 91 "Objektvariable oder
With-Blockvariable nicht festgelegt"
Beim Debuggen markiert er
"ftp.CloseConnection" gelb.
Die Verbindung ins VPN steht, per Dos
erreiche ich auch den ftp-Server
ein problem mit der Netzwerklibrary der MyFTP.dll zu sein, die sich
nicht mit deinem VPN Client verträgt o.Ä. (Die DLL ist nicht von mir
selber, also keine Ahnung, was da genau schief läuft.)
HTH,
Slainte