Téléchargement
illégal
Posez votre question Signaler

Supprimer une table avec code VBA et importer

GuestCam 56Messages postés 28 septembre 2006Date d'inscription - Dernière réponse le 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.
Lire la suite 

Supprimer une table avec code VBA et importer »

11 réponses
Réponse
+2
moins plus
Donc dans ce cas, tu fais :

db.TableDefs.Delete "table1"
Ajouter un commentaire
Réponse
+0
moins plus
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...
blux- 1 mars 2007 à 11:26
Bon, en même temps, le titre parle d'importer et le message d'exporter...
Faut savoir ! ;-)
GuestCam- 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"
blux- 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
Ajouter un commentaire
Réponse
+0
moins plus
merçi beaucoup, j'essaie tout de suite.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Une session ACCESS est rattachée à UNE seule base, donc le code VBA s'applique sur la base courante...
Ajouter un commentaire
Réponse
+0
moins plus
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 : http://www.commentcamarche.net/forum/affich-15700733-gestion-docmd-vba-access?#1)
blux- 23 déc. 2009 à 12:40
tu es connecté comment sur la 'base distante' : attachement tables, odbc ?
Ajouter un commentaire
Réponse
+0
moins plus
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... :-(
Ajouter un commentaire
Ce document intitulé « supprimer une table avec code VBA et importer » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?