VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Connexion access visual basic [Résolu]

mich8569 69Messages postés 2 juillet 2004Date d'inscription - Dernière réponse le 21 janv. 2012 à 20:54
Bonjour,

Je dois réaliser une application Visual Basic qui utilise une base de donnée Access. J'ai cherché sur internet comment se connecter à Access sous Visual Basic et comment récupérer le résultat de requêtes mais je n'ai réussi à rien faire, même pas à me connecter à Access.

Est-ce que certains ont déjà fait cela? Si oui est-ce que vous auriez des liens ou alors est-ce que vous pourriez me montrer comment on se connecte et on effectue une requete en récupérant les résultat??

Merci d'avance ;)
Lire la suite 

Connexion access visual basic »

41 réponses
Réponse
+20
moins plus
Bon et bien ca y est ca marche

En fait ca vient des références, il faut rajouter la référence Microsoft DAO 3.6 Object Library
En gros à la fin, on doit avoir les références suivantes :
- Microsoft DAO 3.6 Object Library
- OLE Automation
- Visual Basic Objects and procedure
- Visual Basic runtime Objects and procedure
- Visual Basic For Application

Pour info, j'ai Access 2000 alors peut etre qu'avec des versions antérieures ca marchera pas, qu'il faudra référencer une version antérieure de Microsoft DAO 3.6 Object Library

Sinon le code que j'ai mis plus haut c'est exactement celui la ;)
HEISIENE - 8 juil. 2008 à 17:23
bj,moi aussi j ai un projet a realiser et il s agit d la connexion entre visuel basic et access et j arrive pas a resoudre le probleme.s il vous plais si vous pouvez m aider ça sera gentil.j ai creé les fenetres en vb et les fichiers en acceess et il m reste le lien entre eux par un code que j connai pa.drai
nino - 6 juil. 2007 à 23:43
pk moi pour moi ne marche pa je comprend pa
Ajouter un commentaire
Réponse
+5
moins plus
bon c'est facile
tout d'ab:
vous ajoutez au code ses lignes:
Private Sub Form_Load()
chaine = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\....\nom de votre base.mdb;Persist Security Info=False"
Set dtBase = New ADODB.Connection
Set rst = New ADODB.Recordset
dtBase.Open chaine
Me.Refresh
End Sub
ensuite vous faites les declarations suivantes:
Dim dtBase As ADODB.Connection
Dim rst As ADODB.Recordset
Dim chaine As String
puis vous faite les affectations que vous avez fait comme suit:
dtBase.Execute " insert into nom_tableau (les variables déclarés dans la base) Values ( '" & var1 & "','" & var2 & "',..)
est comme sa vous avez enserre des variables dans votre base access.
pour récuperer des données de votre base vous pouver la parcourir par le curseur rstcomme suit:
rst!var1 (var1 est le champ associer dans votre tableau)
Ajouter un commentaire
Réponse
+4
moins plus
salut
je vais essayer de vous repondre a cette question; mais avant je vous pose qlq question concernant votre besoin:
cette conexion est ce que c'est pour lire les données de la base de donnée et aussi entrer les données a la base de données. c'est le cas alors suivere les etapes suivantes.
ajouter a la feuille des zonne de text qui corespond aux nombre de chaps de la table

ajouter le controle data a la feuille
modifier les deux propriétésdatabasename:selectionner la base de donnée et recordsource=nom de la table
pour ajouter les données ajouter une commandet ecrire le code suivant;
data1.recordset.addnew
data1.recordset(0)=text1.text
..
...
...
data.recordset.update
bon c'est ça votre probleme je peux vous donner plus d'information sur ce type de connexion et aussi sur l'utilisation de datagrid.
mounsouf- 21 mars 2010 à 01:29
j'ai un probleme Mme\Mr avec la connexion base de donnes avec access ( data),
j'ai ecrit cette code la :

Private Sub Form_Load()
Dim dbs As Database
Dim rst As Recordset
Dim wrk As Workspace
Set wrk = CreateWorkspace("", "admin", "", dbUseJet)
Set dbs = wrk.OpenDatabase("C:\Documents and Settings\MS SCHOCKMANN\Bureau\Total Projet vb6\soufiane.mdb", False)
Set rst = dbs.OpenRecordset("clients", dbOpenDynaset)

If rst.RecordCount <> 0 Then
MsgBox "parfait"
Else
MsgBox "error"
End If

'pour charger datagrid
Set DataGrid1.DataSource = rst

End Sub



mais il fonctione pas Mme\Mr ,
error affiche

Type mismatch







comment doit faire Mme\Mr .
Repondez vous moi svp mounsouf@hotmail.com , c'est urgent ,





Merci
Ajouter un commentaire
Réponse
+3
moins plus
Bonjour, voici ce que j'ai testé mais ca ne marche toujours pas :

Dim bds As Database, qdf As QueryDef
Dim re As Recordset

'on ouvre la base de données
Set bds = OpenDatabase("F:\micka\cours\Appli\dossier programmation\Appli\appli.mdb")
Set re = bds.OpenRecordset("Select * From [article]")
If re.RecordCount <> 0 Then ' Enregistrement trouvé avec le Bon Mot de Passe et le Bon Login'Accés
MsgBox ("parfait")
Else
MsgBox ("erreur")
End If

Lorsque je veux executer, ca me dit que j'ai une erreur au niveau de :
Set re = bds.OpenRecordset("Select * From [article]")

Je comprends pas, c'est exactement ce que j'ai trouvé sur d'autres sites...

Est-ce que quelqu'un voit d'ou peut venir l'erreur??
layemory - 13 janv. 2010 à 17:54
Salut ,il faut au prealable que ta base de donne ait un format 97
pour cela convertissez la en cliquant sur le menu
outil- utilitaire de base de donnee- convertir la base vers un format 97
puis enregistrer sous un autre nom.

D'autres part vous pouvez utilise la connexion ADO en faisant le sdeclarations suivantes

Dim con as new adodb.connection
Dim rs as new adodb.recordset
dim req as string
procedez ensuite a la connection
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=chemin d'acces\nombase.mdb "
req="select * from nomtable"
rs.open req,con,adopenkeyset
msgbox rs.recordcount

Pas besion de convertir la base. je pense que ca doit marcher
Audoli07 - 12 mars 2010 à 17:49
Bonjour,

Seriez-vous m'aidez, je souhaiterais faire un lin de Access a visual basic mais je n'y arrive pas. J'ai la version de Acces 2007 et visual basic 2008 mais rien ne fais ca ne marche pas.

Merci de m'aider svp
Ajouter un commentaire
Réponse
+2
moins plus
petit détail :
tu peux aussi écrire ta requète directement dans ton code vb
dans cet exemple je veux que les classes d'un collège apparaissent dans une listbox et faire mon choix en cliquant sur une des classes
Private Sub list1_Change()
Set rs1 = db.OpenRecordset(requete1)
'initialiser requete1
requete1 = ""
'emission de  la requete1
'selectionner l'enregistrement en cours  de la table classe qui s'affichera dans la list1
'requete1 = "select lib_classe, code_classe from CLASSECODE order by code_classe = '" + List1.Text + "'"
requete1 = "select lib_classe from CLASSECODE  = '" + List1.Text + "'"
'aller a l'enregistrement suivant
rs1.MoveFirst


Exit Sub


c'est valable lorsque tu sais que tu n'utiliseras cette requète qu'une seule fois
Ajouter un commentaire
Réponse
+2
moins plus
il a plusieurs méthodes de connection(ADO, DAO, RDO)
avec DAO tu ajoute d'abord la bibliothèque en cochant:
projet----references--Microsoft data active object
Ensuite tu place les différents controles sur lza feuille form et tu pars sous le code
a l'évènement form_load :
dim db as databse
dim rs as recordset
set db=opendatabase("chemin de la base de donnée)
set rs=db.openrecordset("nom de la table)
pour enregistrer
sl="insert into nom_table values(' " & nom_controle.text & " ')"
db.execute(sl)
pour de plus amples informations écris moi à cette adresse
lsetenet@yahoo.fr
r2c2maxou91 - 8 oct. 2008 à 14:58
Si tu as besoin d'une application avec access, contacte moi par mail : r2c2@free.fr
naval - 21 août 2008 à 10:24
bonjour, j fè un projet circulation doc d'une e/se sur access et j' veux excuter les commandes suivants sur vb: situation du livre(disponible ou pas), les doc que pôssède le detenteur en entrant son N°matricule,...
merci de me repondre
stan - 4 mai 2011 à 17:57
si c pour connection access-vb avec dao 3.6 voici le code
procedure: d'abord click project-references
ajouter microsfot dao 3.6 object library.
dans le forme load ajouter le code suivant
dim db as database
dim rs as recodset
set db=dbengine.opendatabase("chemin\nomdatabase.mdb")
set rs=db.openrecordset("nom table")
rs.addnew
rs!nomchamp1=text1.text(exemple)
rs!nomchamp2=text2.text(exemple)
rs.update
Ajouter un commentaire
Réponse
+1
moins plus
Pour répondre à ton message je: il faut ajouter un Data Environnement dans ton projet puis il y’aura une connexion qui te permettra de te connecter à la base de données Access de même cette connexion te permettra aussi de spécifier les données que tu veut afficher sur le DataGrid.
Ajouter un commentaire
Réponse
+1
moins plus
salut

moi j'execute ce que tu as dit seulement au niveau de datasource qd je clique il me dit pilote IAM introuvable et donc je n'accede pas à ma table mais à ma base si avc databasename en suivant mon chemin d'acces.
Ajouter un commentaire
Réponse
+1
moins plus
J'ai une application à faire avec visual basic et access, je veux connaître les étapes à suivre pour établir une connexion access_visual basic svp...
Ajouter un commentaire
Réponse
+1
moins plus
bjr tt le monde;g realisé une application sous vb 3 avec une base de données sous access;g installé mn application sur 3 poste;le probleme c que je vx que les modifications apportées sur la base sur n'importe quel poste seront affchées ds la base et je sé po comment faire.svp aider moi;
merci d'avance
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour,

Je dois réaliser une application Visual Basic qui utilise une base de donnée Access. J'ai cherché sur internet comment se connecter à Access sous Visual Basic et comment récupérer le résultat de requêtes mais je n'ai réussi à rien faire, même pas à me connecter à Access.

Est-ce que certains ont déjà fait cela? Si oui est-ce que vous auriez des liens ou alors est-ce que vous pourriez me montrer comment on se connecte et on effectue une requete en récupérant les résultat??

Merci d'avance ;)69 message(s) posté(s) depuis le vendredi 2 juillet 2004
Polux31- 14 juil. 2008 à 18:10
bonjour,

Pas mal le copier/coller ... es-tu sûr d'avoir pris la peine de lire ce qu'il y a sur ce topic ?

;o)
chrisbaby12- 24 sept. 2008 à 11:11
Bonjour Polux31,
je cherche à controler la redondance dans mes tables access à partir de Visual basic,
je le fais par nom comme index de la table, mais il ya plusieurs personnes de meme nom.
comment prendre en compte tous les champs de la table dans l'evaluation de la redondance ?
Merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
Je pense qu'il suffit d'intégrer un DataGrid au form en création et que un assistant s'ouvre alors pour permettre de définir l'origine des données.
(il y a longtemps que j'ai utilisé VB)

Sinon, il doit y avoir moyen d'indiquer le chemin d'accès quelque part dans la liste des propriétés...
Ajouter un commentaire
Réponse
+0
moins plus
bjr,je voulai savoir c'est quoi vb et ça sert à quoi.
Merci
Ajouter un commentaire
Réponse
+0
moins plus
je veux faire un projet de gestion d'ecole sur vb et access ;je sollicite donc des orientations de votre part;s'il faut être clair des idées(nbre de feuilles,composants et autres...)
OUDET - 8 juil. 2008 à 20:14
tu v gere ql genre d' ecole (lycée,.....)
Ajouter un commentaire
Réponse
+0
moins plus
ecoute essaye de m'envoyer ton num de gsm dans ma boite email et jte dirai coment il faut faire
Ajouter un commentaire
Réponse
+0
moins plus
comment je fais en detail svp)
pour se connecter a une base de données acess a partir d'une interface graphique devlopée sur vb6
je veux encore avoir le code source pour afficher des images gif,jpeg dans une base de données apartir d'un fichier al' exterieur de ma base
est ce que je dois ouvrir la conection vers la base achaque fois que je viens de consulter,modifier... ma base de données
Ajouter un commentaire
Réponse
+0
moins plus
svp moi aussi j'ai besoin d'aide sur la connexion à la base access vb 2008 merci de votre aide
Ajouter un commentaire
Réponse
-1
moins plus
et est-ce que tu connais les quelques lignes de code qui permettent de se connecter à Access et faire des requêtes stp?
Parce que moi j'ai cherché mais rien n'a marché... :(
bigtsiry - 22 oct. 2010 à 08:40
moi aussi je cherche les codes et si tu les as, pliz envoi le a mon adresse e-mail: tsirylal@yahoo.fr
Ajouter un commentaire
Réponse
-1
moins plus
salut tout le monde mon nom c daouda et j'habite au senegal mon adresse c diouf.daouda@yahoo.fr
Christ - 26 mars 2008 à 11:34
Que cherche tu exatement?
Une maniere de demander a certaines personnes de quoi il est capable.....
Boujour C'est Achille du Cameroun
tu cherche tu et donne ton opignons sur certains sujets......
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour je suis débutant en visual basic et j'ai réalisé un formulaire en access.
Probléme, je ne sais pas le traduire.
J'ai une table en access commune.mdb

et 2 requetes:
COMMUNE_IU Requête RECHERCHE CODE:

SELECT COMMUNE_IU.LIB_COMMUN
FROM COMMUNE_IU
WHERE (((COMMUNE_IU.CODE_COM)=[forms]![Interfacegraphique]![codepostal])) OR (((COMMUNE_IU.LIB_COMMUN)=[forms]![Interfacegraphique]![COMMUNEl]));

COMMUNE_IU Requête RECHERCHE EST NORD:

SELECT COMMUNE_IU.[EST], COMMUNE_IU.NORD
FROM COMMUNE_IU
WHERE LIB_COMMUN=forms!Interfacegraphique!COMMUNE;

Est ce que quequ'un pourrait m aider svp.

Voila le code


Option Compare Database

Private Sub Commande12_Click()
On Error GoTo Err_Commande12_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête RECHERCHE CODE"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande12_Click:
Exit Sub

Err_Commande12_Click:
MsgBox Err.Description
Resume Exit_Commande12_Click

End Sub
Private Sub Commande13_Click()
On Error GoTo Err_Commande13_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête RECHERCHE CODE"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande13_Click:
Exit Sub

Err_Commande13_Click:
MsgBox Err.Description
Resume Exit_Commande13_Click

End Sub
Private Sub Commande16_Click()
On Error GoTo Err_Commande16_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête RECHERCHE CODE"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande16_Click:
Exit Sub

Err_Commande16_Click:
MsgBox Err.Description
Resume Exit_Commande16_Click

End Sub
Private Sub Commande19_Click()
On Error GoTo Err_Commande19_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête RECHERCHE CODE"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande19_Click:
Exit Sub

Err_Commande19_Click:
MsgBox Err.Description
Resume Exit_Commande19_Click

End Sub
Private Sub Commande21_Click()
On Error GoTo Err_Commande21_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête PAR CODE POSTAL"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande21_Click:
Exit Sub

Err_Commande21_Click:
MsgBox Err.Description
Resume Exit_Commande21_Click

End Sub
Private Sub Commande22_Click()
On Error GoTo Err_Commande22_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête PAR CODE POSTAL"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande22_Click:
Exit Sub

Err_Commande22_Click:
MsgBox Err.Description
Resume Exit_Commande22_Click

End Sub
Private Sub Commande28_Click()
On Error GoTo Err_Commande28_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête PAR CODE POSTAL"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande28_Click:
Exit Sub

Err_Commande28_Click:
MsgBox Err.Description
Resume Exit_Commande28_Click

End Sub
Private Sub Commande31_Click()
On Error GoTo Err_Commande31_Click

Dim stDocName As String

stDocName = "COMMUNE_IU Requête RECHERCHE EST NORD"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Commande31_Click:
Exit Sub

Err_Commande31_Click:
MsgBox Err.Description
Resume Exit_Commande31_Click

End Sub
DTD - 1 juin 2008 à 20:27
1-LES MSG +ERR+EXIT sont la pour etre executes en cas de bug a l'execution; au lieu ke programme plante tu aura pluto un Msg Box(boite) ki sera deploye
-2les select appartienent au lanagage sql ke tu doit chercher a apprendre si tu veut comprendre les base de donnee)
3-les requete ou recherche sont execute sur des forms(formulaire) ressemblant un peu a une interface graphique organise
4le details des parametrestes acnormal, acedit sont explique si tu tape"open_quey" dans la boite de recherche de l'aide(alt+F11/& F1 );
DTD
emna4- 9 juin 2010 à 15:40
s'il vous plaît j'ai du mal avec mon projet, ben voila je travaille sur vb.NET, et je ne connais plus les étapes pour faire une connexion avec ma base de données sur Access merci de me répondre sur ma boîte e-mails dans les plus proches délais: fadhoul3000@hotmail.com
Merci d'avance
toto - 13 oct. 2011 à 13:01
chercher sur mon amie www.google.com ou .fr lol et vous trouverez surrement plus precisement ce que vous chercher sur http://www.developpez.com/
bon courage
Ajouter un commentaire
Ce document intitulé « Connexion access visual basic » 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 ?