Supprimer une table avec code VBA et importer

Fermé
GuestCam Messages postés 56 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 8 mars 2008 - 1 mars 2007 à 10:30
blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 - 28 déc. 2009 à 10:47
Bonjour,
j'aimerais savoir comment supprimer une table dans une base de données avec le code VBA et exporter une table toujours avec VBA.
Merçi d'avance pour votre aide.
A voir également:

7 réponses

blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
28 déc. 2009 à 10:47
Donc dans ce cas, tu fais :

db.TableDefs.Delete "table1"
2
blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
1 mars 2007 à 11:16
Salut,

pour supprimer une table, il faut lancer du SQL avec DROP TABLE :

DoCmd.RunSql ("DROP TABLE TOTO")

Pour exporter, on peut utiliser :

DoCmd.OutputTo
DoCmd.TransferText...

Tout dépend ce que tu veux exporter et en quel format...
0
blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
1 mars 2007 à 11:26
Bon, en même temps, le titre parle d'importer et le message d'exporter...
Faut savoir ! ;-)
0
GuestCam Messages postés 56 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 8 mars 2008
1 mars 2007 à 11:59
toutes mes excuses. Il s'agit bien de l'exportation d'une table d'un fichier A.mdb vers un autre fichier B.mdb.

Mais quand je lance le code VBA, Access me demande le format, je ne comprend pas pourquoi. Et ça ne fonctionne pas.une idée?
voiçi le code que j'ai écrit:

DoCmd.OutputTo acOutputTable, "OPERATION", , "\\Serveur\Z\@-DATAS\@GRATOS\SAISIE_GRA\SAISIE_EXPLE.mdb"
0
blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289 > GuestCam Messages postés 56 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 8 mars 2008
2 mars 2007 à 10:48
C'est normal, la fonction outputto sert à créer un fichier à plat pour une application externe, il te demande donc le format...

Si tu veux copier un objet ACCESS vers une base ACCESS, utilise plutôt docmd.copyobject
0
GuestCam Messages postés 56 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 8 mars 2008
1 mars 2007 à 11:25
merçi beaucoup, j'essaie tout de suite.
0
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
21 déc. 2009 à 15:23
Bonjour,

Et si j'ai plusieurs base d'ouverte qui ont des tables avec des nom commun au deux base (dans les deux bases il ya une table nommé "Contenu" par exemple).
Comment je fait pour choisir sur quel base je lance mon DoCmd.RunSql ("DROP TABLE Contenu") ?
Ou comment choisir de lancer le "DoCmd.DeleteObject acTable, tableName" sur la bonne base ?

Merci ;-)
Raph
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
21 déc. 2009 à 17:35
Une session ACCESS est rattachée à UNE seule base, donc le code VBA s'applique sur la base courante...
0
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
23 déc. 2009 à 12:09
Oui c'est bien ce qu'il me semblais en effet. Mais merci de confirmer mes hypothèse :-)

Mais comment puis-je supprimer la table dans ma base distante depuis la base sur laquelle je lance le code ?
(J'avais un peu mieux expliqué le problème sur ce post aussi : https://forums.commentcamarche.net/forum/affich-15700733-gestion-docmd-vba-access#1)
0
blux Messages postés 25999 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
23 déc. 2009 à 12:40
tu es connecté comment sur la 'base distante' : attachement tables, odbc ?
0
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
23 déc. 2009 à 15:26
Heu bah je l'ouvre dans le code VBA :

Dim db As DAO.Database
Dim ws As DAO.Workspace

Set ws = DBEngine.Workspaces(0)

' Ouverture de la base de données
Set db = ws.OpenDatabase(fdFiles, False, False, "MS Access;PWD=XXXX")


Je serais tenté de dire en DAO, mais je sais pas si ça fait du sens ce que je dit là... :-s

Sinon j'ai bien essayer de faire les truc du style

db.DeleteObject acTable, tableName

Mais ça marche pas... :-(
0