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

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

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.