zip d'une bd

Le
macgiver
bonjour a tous, voici ma question, est-il possible à partir d'access de
zipper une bd? C'est que je fais un export de plusieurs table dans une bd
externe et ensuite cette bd est compacter et envoyer par email, le tout par
access, mais j'aimerais qu'avant qu'elle s'envoit elle se zip donc économie
de temps et d'espace lors de l'envoi par email.
merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #6269021
bonjour a tous, voici ma question, est-il possible à partir d'access de
zipper une bd? C'est que je fais un export de plusieurs table dans une bd
externe et ensuite cette bd est compacter et envoyer par email, le tout par
access, mais j'aimerais qu'avant qu'elle s'envoit elle se zip donc économie
de temps et d'espace lors de l'envoi par email.
merci

Bonjour MacGiver,

Si tu connais la synthaxe pour ziper un fichier un ligne de commande il
suffit de le faire faire par access avant d'envoyer ton mail.
Mais comme il faut 'arreter' access le temps que se fasse le zip, voici
un module qui permet de lancer une commande et de ne reprendre la main
qua la fin de celle ci.

Option Compare Database
Option Explicit

' --------------------------------------------------
' Source : Microsoft
' Article ID : Q178116
' --------------------------------------------------

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

Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
hHandle As Long, ByVal dwMilliseconds As Long) As Long

Private 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

Private Declare Function CloseHandle Lib "kernel32" (ByVal _
hObject As Long) As Long

Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const INFINITE = -1&


' --------------------------------------------------
' LANCEMENT D'UN LOGICIEL
' --------------------------------------------------
' La main est rendue à Access *après* que le programme
' appelé se soit arrêté.
' Entrée : cmdline$ <- Nom du programme à appeler (avec chemin
' d'accès éventuel).
'
Public Sub Execcmd(cmdline$)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ReturnValue As Integer

' Initialize the STARTUPINFO structure:
start.cb = Len(start)

' Start the shelled application:
ReturnValue = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, _
NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)

' Wait for the shelled application to finish:
Do
ReturnValue = WaitForSingleObject(proc.hProcess, 0)
DoEvents
Loop Until ReturnValue <> 258

ReturnValue = CloseHandle(proc.hProcess)
End Sub

Tiens nous au courant !

Fabien
Le #6269011
bonjour a tous, voici ma question, est-il possible à partir d'access
de zipper une bd? C'est que je fais un export de plusieurs table dans
une bd externe et ensuite cette bd est compacter et envoyer par email,
le tout par access, mais j'aimerais qu'avant qu'elle s'envoit elle se
zip donc économie de temps et d'espace lors de l'envoi par email.
merci

Bonjour MacGiver,

Si tu connais la synthaxe pour ziper un fichier un ligne de commande il
suffit de le faire faire par access avant d'envoyer ton mail.
Mais comme il faut 'arreter' access le temps que se fasse le zip, voici
un module qui permet de lancer une commande et de ne reprendre la main
qua la fin de celle ci.

Option Compare Database
Option Explicit

' --------------------------------------------------
' Source : Microsoft
' Article ID : Q178116
' --------------------------------------------------

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

Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
hHandle As Long, ByVal dwMilliseconds As Long) As Long

Private 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

Private Declare Function CloseHandle Lib "kernel32" (ByVal _
hObject As Long) As Long

Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const INFINITE = -1&


' --------------------------------------------------
' LANCEMENT D'UN LOGICIEL
' --------------------------------------------------
' La main est rendue à Access *après* que le programme
' appelé se soit arrêté.
' Entrée : cmdline$ <- Nom du programme à appeler (avec chemin
' d'accès éventuel).
'
Public Sub Execcmd(cmdline$)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ReturnValue As Integer

' Initialize the STARTUPINFO structure:
start.cb = Len(start)

' Start the shelled application:
ReturnValue = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, _
NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)

' Wait for the shelled application to finish:
Do
ReturnValue = WaitForSingleObject(proc.hProcess, 0)
DoEvents
Loop Until ReturnValue <> 258

ReturnValue = CloseHandle(proc.hProcess)
End Sub

Tiens nous au courant !


http://manuelsdaide.com/System/7zip/7-Zip.htm
Tu y trouvera 7-zip (l'équivalent libre de winzip) et dans l'aide la
syntaxe pour l'utiliser en ligne de commande.


pgz
Le #6268981
Bonjour.

Pour lancer Winzip en VBA
Shell "C:winzipwinzip32.exe -a C:MonRepMonFichier.zip
F:MonRepMonFichierAZiper"

--
pgz
_____________________________

MJ
Le #6265621
Bonjour
Moi j'utilise MDBTASK.exe qui zip et compacte et crypte à heures fixes
tous les jours.

macgiver a écrit:

bonjour a tous, voici ma question, est-il possible à partir d'access de
zipper une bd? C'est que je fais un export de plusieurs table dans une bd
externe et ensuite cette bd est compacter et envoyer par email, le tout par
access, mais j'aimerais qu'avant qu'elle s'envoit elle se zip donc économie
de temps et d'espace lors de l'envoi par email.
merci



Publicité
Poster une réponse
Anonyme