Creer supprimer une base une table un champ lier excel à access ainsi que creer une requete afin de l'executer

Soyez le premier à donner votre avis sur cette source.

Snippet vu 31 704 fois - Téléchargée 36 fois

Contenu du snippet

Creer supprimer une base access
Creer supprimer une table
creer un champs
Mon programme montre comment creer lier un fichier excel a access sous vb, creer donc la table a partir du fichier excel. Creer une requete ainsi que lui donnée les instructions en sql et l'executer

Source / Exemple :


'On declare les variables
'n oublier pas d ajouter la reference microsoft DAO 2.5/3.5 et microsoft access 8.0 object

Dim DB1 As Database
Dim TD as TableDef
Dim FLD as Field
Dim Db as Database
Dim qdf As QueryDef
Dim chSQL As String

'on cree le fichier access ou vous le desirez
Set DB1 = CreateDatabase("c:\????\????\????.mdb", dbLangGeneral)

'suprimer une base
Kill ("C:\????\????\????.mdb")

'on ouvre la base creer
Set DB1 = OpenDatabase("c:\????.mdb")

'on cree la table que j appelle ici plan_inventaire
Set TF = DB.CreateTableDef("plan_inventaire")

'on creer ici 3 champ (produit, n_produit, nom_produit) dans la table plan prealablement ouverte

Set FLD = TF.CreateField("produit", dbInteger)
TF.Fields.Append FLD

Set FLD = TF.CreateField("n_produit", dbText, 20)
TF.Fields.Append FLD

Set FLD = TF.CreateField("nom_produit", dbText, 20)
TF.Fields.Append FLD
DB1.TableDefs.Append TF

'fermeture de la base
DB1.close 

'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

'POUR LIER UN FICHIER EXCEL A ACCESS SOUS VB

'ouverture de la table creer
Db.OpenCurrentDatabase ("c:\????\????\????.mdb")

'Commande pour lier le fichier excel a access en creant une table que l'on appellera ici plan
DoCmd.TransferSpreadsheet acImport, 8, "plan_", (C:\????\????\????.xls), True, ""

'Suppression de la table plan creer auparavant
DoCmd.DeleteObject acTable, "plan_inventaire"

Db.CloseCurrentDatabase

'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

'CREER UNE REQUETE ET L EXECUTER

'on ouvre notre base
Set Db= OpenDatabase("c:\????\????\????.mdb")
Db.QueryDefs.Refresh
' Test d'existence de la requete  si la requête NouvelleRequête existe, la supprime.Sinon la creer
    For Each qdf In Db.QueryDefs
        If qdf.Name = "NouvelleRequete" Then
          Db.QueryDefs.Delete qdf.Name
       End If
Next qdf
    
    

'Creer n importe qu elle requete sous access puis toujours sous access cliquer sur modifier puis sur moder sql copier toute la chaine sql et placer la tous simplement entre les de guillemet 
'On stock notre chaine SQL dans chSQL (selection des champs + critere)
chSQL = "????????????votre chaine SQL????????????????ex: SELECT plan_.[Secteur_(Appli)], plan_.Lieu INTO plan From plan_ WHERE (((plan_.[Secteur_(Appli)])>0));??????????????????????????????????????????"

'                                  On cree la requete

'Creation de la requete "nouvellerequete"
Set qdf = Db.CreateQueryDef("NouvelleRequete", chSQL)
qdf.Close
Db.Close

'                                          On execute la requete

'ouvre la base
Db.OpenCurrentDatabase ("????\????\????\????.mdb")
'On donne un nom a notre requete
stDocName = "NouvelleRequete"
On execute la requete
DoCmd.OpenQuery stDocName, acNormal, acEdit
Db.CloseCurrentDatabase

'Et voila c est fini j espere que mon code pourra en aider quelqu un

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
28 juin 2006

salut

chez moi ce code ne fonctionne pas :-(

quand je lance le programme sous excel (office 2003), il me dit sur la ligne

Dim DB1 As Database

type defini par l'utilisateur non defini !

il me manque surement quelque chose
aidez moi svp
Messages postés
1
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
12 février 2006

merci bcp, je vais l'essaiyé et si quelqu'un sais comment copier une feuille excel vers une table access et merci. (voici mon email pour me proposé d'aide "silitix@yahoo.fr" merci d'avance).
Messages postés
13
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
1 décembre 2005

Ok merci ria94.
Messages postés
97
Date d'inscription
mercredi 28 mai 2003
Statut
Membre
Dernière intervention
3 octobre 2006

Salut sbbois
Bon ca fait super longtemps que j'ai pas touché à ce code et que j'ai pas fait de vb
mais en relisant mon code vite fait j'ai pas testé mais je ferai comme ca :

Db.OpenCurrentDatabase ("????\????\????\????.mdb")
'On donne un nom a notre requete
stDocName = "DROP TABLE Nom_de_la_table" // ici tu mets t'as requete pour supprimer une table
'On execute la requete
DoCmd.OpenQuery stDocName, acNormal, acEdit
Db.CloseCurrentDatabase


Bonne chance
++
Messages postés
13
Date d'inscription
lundi 24 janvier 2005
Statut
Membre
Dernière intervention
1 décembre 2005

salut Ria94, Bien le code. mais comment fait tu pour supprimer une table?
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.