Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

DOS-BOX in Access darstellen

Frage Microsoft Microsoft Office

Mitglied: moeller67

moeller67 (Level 1) - Jetzt verbinden

03.01.2007, aktualisiert 05.01.2007, 5756 Aufrufe, 10 Kommentare

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.
Mitglied: SlainteMhath
03.01.2007 um 16:49 Uhr
Was Du als erstes brauchst ist eine Funktion ähnlich der hier:

01.
Declare Function GetModuleUsage Lib "Kernel" (ByVal hModule As Integer) As Integer  
02.
 
03.
 
04.
Function ShellAppAndWait(ByVal pstrApp As String)  
05.
    Dim intTaskID As Integer  
06.
 
07.
 
08.
    intTaskID = Shell(pstrApp, vbHide)  
09.
    Do While GetModuleUsage(intTaskID) <> 0  
10.
        DoEvents  
11.
    Loop  
12.
End Function 
Der Aufruf wäre dann in etwa so:
01.
ShellAppAndWait(environ("comspec") & " /C dir c:\*.* > " & environ("temp") & "\x.txt")
Dann kannst Du die Datei %TEMP%\x.txt einlesen und im Formular darstellen.
Bitte warten ..
Mitglied: moeller67
03.01.2007 um 21:40 Uhr
Oh SlainteMhath du bist doch echt ein Genie, leider
habe ich noch einen Laufzeitfehler 53 "Datei nicht gefunden: Kernel".
Außerdem bin ich auch zu blöd die Textdatei im Formular darzustellen. Wie geht das?

Was will ich eigendlich, vielleicht verstricke ich mich auch in komplizierten Blödsinn.
Ich will im Access einen Dateiaustausch via ftp darstellen. Unsere Verkäufer melden sich via UMTS in ein VPN ein. Innerhalb dieses VPN läuft ein ftp-Server. Über dieses Acces-Tool soll der Verkäufer per ftp Dateien senden und empfangen können (besonders einfach für Verkäufer). Wichtig dabei ist, das der Verkäufer auch sieht, das seine Dateien wirklich angekommen sind. Und auch welche Dateien er bekommen hat.
Ich wollte das über die integrierte DOS-Box darstellen, vielleicht geht es auch einfacher.
Klar würde es auch über eine externes cmd-Fenster gehen ist aber unkomfortabel und nicht so schön.

Ich kenne mittlerweile Access ganz gut, auch ein müh VBA, aber hier bin ich doch stark überfordert. Vielleicht kannst du mir helfen.
Bitte warten ..
Mitglied: SlainteMhath
04.01.2007 um 08:42 Uhr
Achso, sag doch gleich, das Du was mit FTP machen willst

Schick mir mal Deine Mailadresse per PM, dann schick ich dir ein Stück VBA-Code und eine DLL mit der sowas geht.
Bitte warten ..
Mitglied: moeller67
04.01.2007 um 08:46 Uhr
Hallo SlainteMhath, meine Mail ist stephan.moeller@klaus-stapler.de
Bitte warten ..
Mitglied: SlainteMhath
04.01.2007 um 10:17 Uhr
Mail ist unterwegs
Bitte warten ..
Mitglied: moeller67
05.01.2007 um 14:45 Uhr
Lieber SlainteMhath melde dich nochmal,
ich hatte dir 2 Mails geschrieben, sind die angekommen?
Bitte warten ..
Mitglied: SlainteMhath
05.01.2007 um 14:47 Uhr
Lieber SlainteMhath melde dich nochmal,
ich hatte dir 2 Mails geschrieben, sind die
angekommen?
Das Mailkonto lese ich nicht regelmaessig

Gibts Probleme mit dem Code?
Bitte warten ..
Mitglied: moeller67
05.01.2007 um 14:50 Uhr
Jetzt nehme ich mal die Mail's und kopiere sie einfach:

1.
Hallo,

vielen Dank erstmal.

- empfangen klappt einbandfrei (kann ich das ganz noch auf Dateitypen begrenzen? .mdb, .jpg etc)
=ftpGetAllFiles("meinftpserver";"user";"meinpass";"/";"C:\ftp\Eingang";1)


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

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

Vielen Dank

Gruß
Stephan Möller


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

In der Firma über Netzwerk geht es ja auch, nur hier am Notebook über die VPN-Einwahl nicht.

Gruß
Stephan Möller
Bitte warten ..
Mitglied: SlainteMhath
05.01.2007 um 15:18 Uhr

- 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)
Die Funktion ftpPutFiles hat folgende Parameter:
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 jeweils
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.
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
Bitte warten ..
Mitglied: moeller67
05.01.2007 um 15:25 Uhr
Ich hatte es ja vorher über Shell(ftp.....), so funktioniert es ja.
Nur wird dabei ein DOS-Fenster geöffnet, wo Übertragungsstatus (Transfer...OK) etc.
drin stehen. Ich würde diesen Status aber gerne im Formular darstellen. Ich muß sehen
ob die Dateien angekommen sind.
Vielleicht fällt dir ja noch durch Zufall was ein.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Dos-Box, seltsame(s) Zeichen - Was und woher? (6)

Frage von Franz-Josef-II zum Thema Batch & Shell ...

Voice over IP
Fritz!Box 7360 als DECT Access Point (4)

Frage von Bander82 zum Thema Voice over IP ...

LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (4)

Frage von geocast zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...