[AccessD] A2K: Shell 'discoveries'

Gustav Brock gustav at cactus.dk
Thu Apr 22 11:24:07 CDT 2004


Hi Steven

Several will for sure post you the code variants for "ShellAndWait",
"ShellWait" etc. which will solve your immediate problem.

However, as this sounds as a serious application, I would strongly
recommend you to spend the small money for a licens to 3D-FTP.

This is an excellent multi-threaded FTP client which can be fully
automated and controlled from within your app. I used it for a client
who regularly uploads over 1000 files for a web site and it has never
failed. In addition, the user (operator) has a nice status window
visually indicating progress of the upload.

I have no "ready-to-run" code as this will be very much individual,
but if you wish, I can rip off the essential procedures which I'm sure
you (as a skilled programmer) will be able to modify as to your needs.

/gustav


> Dear Group,

> In debugging the custom EDI application I'm writing for a client of mine, I "discovered" a thing or two about using the Shell command to run a DOS batch file.

> The purpose of using the DOS batch file is to start an FTP session and upload a bunch of files to the EDI mailbox. Then, when the batch file is finished, move the files that were uploaded into an
> archive folder on the server.

> I had tested the batch file from a command prompt and it works just dandy. The EDI documents show up as having been uploaded successfully. However when I used the Shell command in my application I
> wouldn't see any document names uploaded. Then I'd get the annoying e-mail the next day from the EDI service provider saying that the expected documents weren't received.

> I finally figured out the problem: Access doesn't wait for the batch file to finish. The Shell command just launches the external program, whatever it is, and goes on to the next task. In my case
> it was moving the EDI documents into an archive folder. Well, Access whisked those files out of the FTP folder so fast that by the time the FTP login was complete (user name, password, and account
> name) the files were no longer available for uploading. The FTP session didn't fail, as such, there just wasn't anything to send.

> So, I added a MsgBox asking the user to verify that the DOS session had ended before going on to archive the EDI files. Problem solved.

> Sorry if this is tediously obvious, but I haven't ever run a batch file from Access and I have nobody to bounce this stuff off of (nobody off of whom to bounce this stuff?).




More information about the AccessD mailing list