Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2010, 14h50   #1
Nom
Membre habitué
 
Inscription : octobre 2005
Messages : 528
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 528
Points : 143
Points : 143
Par défaut Ajouter des lignes à une tables depuis Excel

Bonjour à tous

J'ai un fichier Excle ou j'effectue un traitement via un macro qui me permet de construire les données que je souhaite ajouté à une de mes tables.
Les données sont correctement construtes donc pour le moment, l'ajout est possible mais manuel (copier la ligne depuis Excel, coller dans Access) : Un peu laborieux !
Je souhaite donc automatiser la chose mais je ne trouve pas comment faire;

J'ai essayer d'utiliser le menuer Importer des données extene mais j'ai une erreur:
"Une erreur est survenue lors de l'importation du fichier. Le fichier n'a pas été importer"

J'ai donc voulu passer par VBA en m'inspirant de mes code Access :

Code vba :
1
2
insertSQL = "insert into latable(clo1, col3) values('values1', 'value2')"
CurrentDb.Execute insertSQL

Sur internet, j'ai vu l'utilsation de DoCmd.RunSQL
Code vba :
1
2
insertSQL = "insert into latable(clo1, col3) values('values1', 'value2')"
DoCmd.RunSQL insertSQL

Mais dans les 2 cas, j'ai une erreur "Objet requis"
Je suppose qu'il ne connait pas de table "latable" ... Donc comment faire pour lui indiquer que cette table est sous access ?
__________________
Le savoir est une arme alors soyons armés
Nom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 15h08   #2
Membre confirmé
 
Avatar de spaiku
 
Chef de projet MOA
Inscription : septembre 2007
Messages : 191
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2007
Messages : 191
Points : 250
Points : 250
Bonjour,

tu ne peux pas utiliser CurrentDB dans Excel, vu que tu n'est pas dans une base de données.

Pour faire référence à ta base Access, tu peux écrire quelque chose comme :

Code :
1
2
Dim db As Database
Set db = OpenDatabase(Le_chemin_de_ton_mdb)
Ca nécessite d'activer la référence à DAO dans ton fichier Excel. Après, tu pourras utiliser db.Execute et tous les objets DAO comme si tu écrivais ton code dans Access.
spaiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 16h04   #3
Nom
Membre habitué
 
Inscription : octobre 2005
Messages : 528
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 528
Points : 143
Points : 143
Exactement ce qu'il me fallait !
Merci à toi
__________________
Le savoir est une arme alors soyons armés
Nom est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h48.


 
 
 
 
Partenaires

Hébergement Web