[AccessD] Running Dir from Batch file in MS Access

jack drawbridge jackandpat.d at gmail.com
Mon Mar 13 10:47:58 CDT 2017


Thanks to all who have responded.
I am using the recursive code provided by Stuart as the base as an option
to the Dir approach. Eventually, if I understand the forum poster
correctly, he will be manipulating /managing about 600K
images??
It isn't clear what the ultimate objective is, but he has Acc 2016 and
seems keen.

Thanks.

On Mon, Mar 13, 2017 at 8:53 AM, Stuart McLachlan <stuart at lexacorp.com.pg>
wrote:

> On 12 Mar 2017 at 20:07, Jim Dettman wrote:
>
> > Jack,
> >
> > I have a "waitwhilerunning" function that I can share.    All it needs
> > is a windows handle,  so you can shell to a batch file if you want to.
> >
>
> No need for a handle, just pass it the command you want to run.
>
> Here's my standard "Wait for Shelled Application to finish" code, FWIW:
>
> Private Const STARTF_USESHOWWINDOW& = &H1
> Private Const NORMAL_PRIORITY_CLASS = &H20&
> Private Const INFINITE = -1&
>
> Private Type STARTUPINFO
>     cb As Long
>     lpReserved As String
>     lpDesktop As String
>     lpTitle As String
>     dwX As Long
>     dwY As Long
>     dwXSize As Long
>     dwYSize As Long
>     dwXCountChars As Long
>     dwYCountChars As Long
>     dwFillAttribute As Long
>     dwFlags As Long
>     wShowWindow As Integer
>     cbReserved2 As Integer
>     lpReserved2 As Long
>     hStdInput As Long
>     hStdOutput As Long
>     hStdError As Long
> End Type
>
> Private Type PROCESS_INFORMATION
>     hProcess As Long
>     hThread As Long
>     dwProcessID As Long
>     dwThreadID As Long
> End Type
>
> Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As
> Long, ByVal
> dwMilliseconds As Long) As Long
>
> Declare Function CreateProcessA Lib "kernel32" (ByVal lpApplicationName As
> Long, ByVal
> lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal
> lpThreadAttributes As
> Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal
> lpEnvironment
> As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO,
> lpProcessInformation As PROCESS_INFORMATION) As Long
>
> Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
>
> Public Sub ShellWait(Pathname As String, Optional WindowStyle As Long)
> On Error GoTo Err_Handler
>
>    Dim proc As PROCESS_INFORMATION
>    Dim start As STARTUPINFO
>    Dim ret As Long
>
>    ' Initialize the STARTUPINFO structure:
>    With start
>       .cb = Len(start)
>       If Not IsMissing(WindowStyle) Then
>          .dwFlags = STARTF_USESHOWWINDOW
>          .wShowWindow = WindowStyle
>       End If
>    End With
>    ' Start the shelled application:
>    ret& = CreateProcessA(0&, Pathname, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS,
> 0&, 0&,
> start, proc)
>    ' Wait for the shelled application to finish:
>    ret& = WaitForSingleObject(proc.hProcess, INFINITE)
>    ret& = CloseHandle(proc.hProcess)
>
> Exit_Here:
>    Exit Sub
> Err_Handler:
>    MsgBox Err.Description, vbExclamation, "E R R O R"
>    Resume Exit_Here
>
> End Sub
>
>
>
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>


More information about the AccessD mailing list