Newsgroup: it.comp.appl.access
Titolo: eseguire file .bat da access è possibile?

?Si può lanciare un file .bat da access? grazie.
 


butta in un modulo:
Private Declare Function OpenProcess Lib "Kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
    ByVal dwProceessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "Kernel32" _
(ByVal hHandle As Long, ByVal dwMillisecond As Long) As Long
Private Declare Function CloseHandle Lib "Kernel32" _
(ByVal hObject As Long) As Long
Private Const SYNCRONIZE = &H100000
Private Const INFINITE = &HFFFF
Public Sub RunAppAndWait(FileName As String, WindowsStyle As Integer)
Dim hProg As Long
hProg = Shell(FileName, vbNormalNoFocus)
If hProg Then WaitOnProgram (hProg)
End Sub
Public Sub WaitOnProgram(idProg As Long)
Dim hProg As Long
Dim iret As Long
hProg = OpenProcess(SYNCRONIZE, False, idProg)
If hProg <> vbNull Then
     iret = WaitForSingleObject(hProg, INFINITE)
     CloseHandle hProg
End If
End Sub
per lanciare il bat:
     Call RunAppAndWait("c:\tuo.bat", 0)
ciao
BFS

 ?Si può lanciare un file .bat da access? grazie.
Qui c'è un esempio:
http://support.microsoft.com/kb/302891/it
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


con la mia soluzione il tuo codice si interrompe fino a quando il bat 
non ha finito....se non ti serve che succeda questo usa pure l'altra 
soluzione proposta
ciao
BFS

 proposta
Questo potrebbe anche far comodo se il file bat deve buttare fuori dei 
valori che Access deve leggere
Piuttosto, come leggere dei codici di errore 'sputati' fuori dalla procedura 
dentro il bat ?


infatti io lo uso perchè il bat deve fare appunto delle elaborazioni che 
mi servono al passo successivo vba.
Per gli errori credo che nel bat ci sia qualche comando dos per sputar 
fuori un log...si tratterebbe semplicemente di leggerlo. Nel mio caso il 
bat è banale e non mi sono mai posto il problema
ciao
BFS


Invio sms ? 


no no semplici xcopy...per gli sms uso l'ocx di volasms
ciao

 ?Si può lanciare un file .bat da access? grazie.
Call Shell("C:\Guarda.bat")
se vuoi vedere quel che "ritorna" la Shell:
MsgBox Shell("C:\Guarda.bat")
Guardati l'Help per le opzioni Shell.
Bruno 

 ha scritto nel messaggio
news:4cae3e95$0$23143$4faf...@reader1.news.tin.it...


 ha scritto nel messaggio
news:4cad98fa$0$41847$4faf...@reader5.news.tin.it...



se il bat lo metti direttamente in c:\ funziona?
ciao
BFS

 BFS
già provato nemmeno! non capisco 

 wrote in message 
news:4caf479b$0$10757$4faf...@reader2.news.tin.it...

Cosa c'è nel .BAT?
Bruno 


nel bat c'è il codice qui sotto, premetto che se faccio doppio click sul 
file bat da windows funziona perfettamente
***** code bat ***********
@echo off
blat -subject "Scarichi " -body "Alleghiamo file scarichi" -t 
in...@emailmittente.it
 -f 
in...@emaildestinatario.it
 -server 
out.alice.it
 -attach "C:\Program Files\miacartella\pdf\scarichi.pdf" -d
 

 wrote in message 
news:4cafb8a6$0$41848$4faf...@reader5.news.tin.it...

Immagino sia tutto su una riga e l'unico eseguibile
sia quel "blat" che io non conosco.
Al quale, se anch'esso è un .bat, puoi provare a
premettere un Call.
Ma non ti aspettare che Access funga da sistema
operativo supplementare per tutte le cazzate che
vorresti fargli eseguire.
Perché - opinione personale - mi sembra proprio
una cazzata cercare di fargli eseguire operazioni
che non coinvolgono dati da esso Access generati
o archiviati.
Ovvero con quel file .BAT si inviano dati di Access?
Mi pare di no, correggimi se sbaglio.
Bruno 

 ha scritto nel messaggio 
news:4cb03851$0$10749$4faf...@reader2.news.tin.it...

no anche se mi servirebbe inviargli l'email ma non so come,  forse è il caso 
di gestire blat da access come mi aveva postato qualcuno ma non mi 
funzionava per questo ho provato con un bat esterno. 

 funzionava per questo ho provato con un bat esterno.
Anni fa feci anche io mi trovai a tentare di lanciare il ".bat" da
VBA, senza successo. Mi accorsi poi che era l'antivirus a bloccarne
l'invocazione.

 l'invocazione.
ah grazie per la segnalazione controller�