J'ai concu une série d'instructions dans une macro.
Cette macro doit importer un fichier dans une table de ma base qui comporte
un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table
d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se
réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque
traitement.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma
macro (ie après le "Delete" des enregistrements de ma table), via une
instruction en VBA ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Pierre"
J'ai concu une série d'instructions dans une macro.
Module VBA ou "macro macro" ;-(
Cette macro doit importer un fichier dans une table de ma base qui comporte un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque traitement.
Normalement, le numauto-clé primaire est là pour avoir un identifiant unique pour un enregistrement et ne devrais influencer par sa valeur.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma macro (ie après le "Delete" des enregistrements de ma table), via une instruction en VBA ?
On peut compacter la base en cours... Mais de la à le faire "tout en restant DANS le code"....
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Salut,
"Pierre"
J'ai concu une série d'instructions dans une macro.
Module VBA ou "macro macro" ;-(
Cette macro doit importer un fichier dans une table de ma base qui comporte
un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table
d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se
réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque
traitement.
Normalement, le numauto-clé primaire est là pour avoir un identifiant unique
pour un enregistrement et ne devrais influencer par sa valeur.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma
macro (ie après le "Delete" des enregistrements de ma table), via une
instruction en VBA ?
On peut compacter la base en cours...
Mais de la à le faire "tout en restant DANS le code"....
J'ai concu une série d'instructions dans une macro.
Module VBA ou "macro macro" ;-(
Cette macro doit importer un fichier dans une table de ma base qui comporte un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque traitement.
Normalement, le numauto-clé primaire est là pour avoir un identifiant unique pour un enregistrement et ne devrais influencer par sa valeur.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma macro (ie après le "Delete" des enregistrements de ma table), via une instruction en VBA ?
On peut compacter la base en cours... Mais de la à le faire "tout en restant DANS le code"....
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Evaro
Bonjour,
"Pierre" a écrit dans le message de news: 4187f123$0$15752$
Bonsoir,
J'ai concu une série d'instructions dans une macro.
Cette macro doit importer un fichier dans une table de ma base qui comporte un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque traitement.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma macro (ie après le "Delete" des enregistrements de ma table), via une instruction en VBA ?
Merci de vos suggestions.
Cordialement
Il n'est pas possible de compacter une base ouverte L'astuce consiste à ouvrir une autre base et à compacter la Base en cours.
Public Function CallCompacte() Dim Bidon As Variant Dim intChoix As Integer On Error GoTo Err_Compacte CallCompacte = Shell(SysCmd(acSysCmdAccessDir) & "Msaccess.exe " & MonChemin & "Compacte.mdb", vbMaximizedFocus) DoCmd.Quit End Function
Au démarrage de la base "Compacte.mdb", tu lances le compactage :
Public Function Compacte Dim fso As Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' On doit Compacter la base sous un nom différent DBEngine.CompactDatabase MonChemin & "MaBase.mdb", MonChemin & "Toto.mdb" Kill (MonChemin & "MaBase.mdb")
' Renommer la base compactée fso.Movefile MonChemin & "Toto.mdb", MonChemin & "MaBase.mdb"
MsgBox ("Compactage effectué avec succès") ' Relancer la Base Compactée Compacte = Shell(SysCmd(acSysCmdAccessDir) & "Msaccess.exe " & MonChemin & "MaBase.mdb", vbMaximizedFocus) Currentdb.Close DoCmd.Quit Exit Function
Penser à cocher la référence Microsoft Scripting Runtime.
@ +
Etienne
Bonjour,
"Pierre" <pmbidal@club-internet.fr> a écrit dans le message de news:
4187f123$0$15752$7a628cd7@news.club-internet.fr...
Bonsoir,
J'ai concu une série d'instructions dans une macro.
Cette macro doit importer un fichier dans une table de ma base qui
comporte
un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table
d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se
réinitialise pas à "0", sauf à compresser ma base manuellement entre
chaque
traitement.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma
macro (ie après le "Delete" des enregistrements de ma table), via une
instruction en VBA ?
Merci de vos suggestions.
Cordialement
Il n'est pas possible de compacter une base ouverte
L'astuce consiste à ouvrir une autre base et à compacter la Base en cours.
Public Function CallCompacte()
Dim Bidon As Variant
Dim intChoix As Integer
On Error GoTo Err_Compacte
CallCompacte = Shell(SysCmd(acSysCmdAccessDir) & "Msaccess.exe " &
MonChemin & "Compacte.mdb", vbMaximizedFocus)
DoCmd.Quit
End Function
Au démarrage de la base "Compacte.mdb", tu lances le compactage :
Public Function Compacte
Dim fso As Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' On doit Compacter la base sous un nom différent
DBEngine.CompactDatabase MonChemin & "MaBase.mdb", MonChemin &
"Toto.mdb"
Kill (MonChemin & "MaBase.mdb")
' Renommer la base compactée
fso.Movefile MonChemin & "Toto.mdb", MonChemin & "MaBase.mdb"
MsgBox ("Compactage effectué avec succès")
' Relancer la Base Compactée
Compacte = Shell(SysCmd(acSysCmdAccessDir) & "Msaccess.exe " & MonChemin
& "MaBase.mdb", vbMaximizedFocus)
Currentdb.Close
DoCmd.Quit
Exit Function
Penser à cocher la référence Microsoft Scripting Runtime.
"Pierre" a écrit dans le message de news: 4187f123$0$15752$
Bonsoir,
J'ai concu une série d'instructions dans une macro.
Cette macro doit importer un fichier dans une table de ma base qui comporte un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque traitement.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma macro (ie après le "Delete" des enregistrements de ma table), via une instruction en VBA ?
Merci de vos suggestions.
Cordialement
Il n'est pas possible de compacter une base ouverte L'astuce consiste à ouvrir une autre base et à compacter la Base en cours.
Public Function CallCompacte() Dim Bidon As Variant Dim intChoix As Integer On Error GoTo Err_Compacte CallCompacte = Shell(SysCmd(acSysCmdAccessDir) & "Msaccess.exe " & MonChemin & "Compacte.mdb", vbMaximizedFocus) DoCmd.Quit End Function
Au démarrage de la base "Compacte.mdb", tu lances le compactage :
Public Function Compacte Dim fso As Scripting.FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' On doit Compacter la base sous un nom différent DBEngine.CompactDatabase MonChemin & "MaBase.mdb", MonChemin & "Toto.mdb" Kill (MonChemin & "MaBase.mdb")
' Renommer la base compactée fso.Movefile MonChemin & "Toto.mdb", MonChemin & "MaBase.mdb"
MsgBox ("Compactage effectué avec succès") ' Relancer la Base Compactée Compacte = Shell(SysCmd(acSysCmdAccessDir) & "Msaccess.exe " & MonChemin & "MaBase.mdb", vbMaximizedFocus) Currentdb.Close DoCmd.Quit Exit Function
Penser à cocher la référence Microsoft Scripting Runtime.
@ +
Etienne
Daniel Carollo
Bonjour Pierre!
Le plus simple serait d'importer les donnees dans la table apres avoir supprime le champ numeroauto, et de creer ce champ ensuite.
Bonne contiuation,
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Pierre" wrote in message news:4187f123$0$15752$
Bonsoir,
J'ai concu une série d'instructions dans une macro.
Cette macro doit importer un fichier dans une table de ma base qui comporte
un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque
traitement.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma macro (ie après le "Delete" des enregistrements de ma table), via une instruction en VBA ?
Merci de vos suggestions.
Cordialement
Bonjour Pierre!
Le plus simple serait d'importer les donnees dans la table apres avoir
supprime le champ numeroauto, et de creer ce champ ensuite.
Bonne contiuation,
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Pierre" <pmbidal@club-internet.fr> wrote in message
news:4187f123$0$15752$7a628cd7@news.club-internet.fr...
Bonsoir,
J'ai concu une série d'instructions dans une macro.
Cette macro doit importer un fichier dans une table de ma base qui
comporte
un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table
d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se
réinitialise pas à "0", sauf à compresser ma base manuellement entre
chaque
traitement.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma
macro (ie après le "Delete" des enregistrements de ma table), via une
instruction en VBA ?
Le plus simple serait d'importer les donnees dans la table apres avoir supprime le champ numeroauto, et de creer ce champ ensuite.
Bonne contiuation,
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Pierre" wrote in message news:4187f123$0$15752$
Bonsoir,
J'ai concu une série d'instructions dans une macro.
Cette macro doit importer un fichier dans une table de ma base qui comporte
un champ "numauto".
A chaque fois que je lance un nouveau traitement, je vide d'abord ma table d'import, puis j'importe mon fichier.
Le problème comme d'habitude est que la fonction "numauto" ne se réinitialise pas à "0", sauf à compresser ma base manuellement entre chaque
traitement.
Y'a t il une façon d'inclure la compression de ma base à l'intérieur de ma macro (ie après le "Delete" des enregistrements de ma table), via une instruction en VBA ?