begin process at 2012 02 14 06:18:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > ACCESS ET VB.NET

ACCESS ET VB.NET


 Information sur la source

Note :
7 / 10 - par 4 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Source .NET ( DotNet ) Classé sous :access, connexion Niveau :Débutant Date de création :11/08/2005 Date de mise à jour :12/08/2005 11:24:46 Vu :43 967

Auteur : fcampagne

Ecrire un message privé
Commentaire sur cette source (29)
Ajouter un commentaire et/ou une note

 Description

Du déja vu mé bien pratique!
Voici la maniére de se connecter a une bd access avec vb.net
J'ai trouvé se code sur le net et je voulais en faire profiter tous le monde!
Voila c'est fait!!!

Source

  • Imports System.Data.OleDb
  • '////////////////////////MODULE FONCTION ACCESS////////////////
  • Module bdaccess
  • Dim MyConnection As New System.Data.OleDb.OleDbConnection()
  • 'procédure de connection a une bd access
  • Public Sub connection(ByVal nombd As String)
  • Try
  • MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & nombd
  • MyConnection.Open()
  • Catch ex As Exception
  • MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
  • End Try
  • End Sub
  • 'deconenction de la base
  • Public Sub deconnection()
  • Try
  • MyConnection.Close()
  • Catch ex As Exception
  • MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
  • End Try
  • End Sub
  • Public Function access(ByVal requetesql As String) As DataSet
  • Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter()
  • Dim MyDataSet As DataSet = New DataSet("MesDonnées")
  • Dim StrConnect As String
  • Dim MyCommand As OleDbCommand
  • Dim requete As String
  • Try
  • MyCommand = New OleDbCommand(requetesql, MyConnection)
  • MyAdapter.SelectCommand = MyCommand
  • MyDataSet.Clear()
  • MyAdapter.Fill(MyDataSet, "fichier")
  • 'A ce niveau les donnes résultantes de la requete
  • 'se trouvent dans => MyDataSet.Tables(0)
  • Return MyDataSet
  • Catch ex As Exception
  • MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
  • End Try
  • End Function
  • End Module
Imports System.Data.OleDb

'////////////////////////MODULE FONCTION ACCESS////////////////
Module bdaccess

    Dim MyConnection As New System.Data.OleDb.OleDbConnection()

    'procédure de connection a une bd access
    Public Sub connection(ByVal nombd As String)
        Try
            MyConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & nombd
            MyConnection.Open()
        Catch ex As Exception
            MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
        End Try
    End Sub

    'deconenction de la base
    Public Sub deconnection()
        Try
            MyConnection.Close()
        Catch ex As Exception
            MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
        End Try

    End Sub

    Public Function access(ByVal requetesql As String) As DataSet
        Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter()
        Dim MyDataSet As DataSet = New DataSet("MesDonnées")
        Dim StrConnect As String
        Dim MyCommand As OleDbCommand
        Dim requete As String


        Try
            MyCommand = New OleDbCommand(requetesql, MyConnection)
            MyAdapter.SelectCommand = MyCommand
            MyDataSet.Clear()
            MyAdapter.Fill(MyDataSet, "fichier")
            'A ce niveau les donnes résultantes de la requete
            'se trouvent dans => MyDataSet.Tables(0)
            Return MyDataSet
        Catch ex As Exception
            MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
        End Try

    End Function
End Module

 Conclusion

exemple d'appel de la fonction (la form doit contenir un objet DATAGRID: ici l'objet donnee)
        
        connection("c:\bd.mdb")
        'objet datagrid recevant le résultat de la requete
        donnee.DataSource = access("select nom_fichier  from fichier").Tables(0)
        MsgBox("cliquez sur ok pour continuer")
        donnee.DataSource = access("select num_facture from fichier").Tables(0)
        deconnection()


 Historique

12 août 2005 11:18:33 :
Suite aux remarque faites, voici une correction du code -Ajout d'une fonction de connection -Ajout d'une fonction de déconnection -Permet de faire plusieurs requetes toujours sur la même connection
12 août 2005 11:24:46 :
_

 Sources du même auteur

Source .NET (Dotnet) REDÉMARRER UNE MACHINE RÉSEAU VIA WMI VB.NET

 Sources de la même categorie

Source avec Zip Source avec une capture BIEN ADMINISTRER LES ETUDIANTS ET LEURS CÔTES par okosa
Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source .NET (Dotnet) MISAHORAIRE par MdelM
Source avec Zip Source avec une capture BASEDEDONNEES,GESTIONDEMALADES,DATABASSE par shadkitenge

 Sources en rapport avec celle ci

Source avec Zip CONNEXION BASES DE DONNÉES par l0r3nz1
Source avec Zip UNNE APPLICATION DE GESTION DE BASE DE DONNÉE ACCESS SANS DA... par fnicha1
Source avec Zip Source .NET (Dotnet) CONNEXION BDD ACCESS SOUS VB2005 EXPRESS EDITION (PARTIE 1) par kewan
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLE LOGICIEL DE RECETTE (OU AUTRE) CONNECTÉ À BDD par milo2009
Source avec Zip Source .NET (Dotnet) CONNEXION A UNE BASE DE DONNÉES ACCESS VIA ADO.NET par istamkenitra

Commentaires et avis

Commentaire de mastervanou le 11/08/2005 22:03:15

merci beaucoup
j'ai vu beaucoup d'exemple dans la catégorie débutant mais je comprenais pas l'utilité de tout les composants
la c'est plus clair pour moi!

Commentaire de Totoroyamada le 12/08/2005 08:09:12

Vaudrait mieux créer ton objet de connexion à part et de te servir toujours du même, ça t'éviterait de recréer la connexion à chaque requête... et tu gagneras du temps...

Commentaire de liquide le 12/08/2005 08:22:21

http://www.vbfrance.com/code.aspx?ID=31962

Commentaire de Warny le 12/08/2005 08:52:03

Totoroyamada -> C'est bien valable pour le .net 2.0 mais en 1.x tu ne peux pas toujours ouvrir plusieurs requêtes dans la même connexion.
Ceci dit je suis tout à fait d'accord avec toi.

fcampagne -> comment please. même sur un code court, comme il est probable qu'un bon copier-coller aille le glisser dans un programme plus long il est interressant de savoir : a quoi servent les variables, qu'on ouvre la base de données, qu'on créé un objet de commande, etc.
Ceci dit ce code est bon. Il serait tout de même interessant que tu fasses une fonction qui appréhende les arguments de commande (voir interface ICommand) et que ta fonction renvoie le dataset.

Commentaire de Totoroyamada le 12/08/2005 09:08:38

Perso je suis la premiere version du framework, on bosse sur une grosse solution (une gestion commerciale) avec une base SQL et on utilise qu'une seule connexion dans tout le prog... sans que cela ne pose aucun problème... Peut-être que ton problème viendrait d'une variable ou un objet que tu réutiliserais sans l'avoir vidé avant?
'fin bon, de toutes façons c'est pas une modif très compliquée...
Bonne continuation ;-)

Commentaire de mastervanou le 12/08/2005 10:30:17

http://www.vbfrance.com/code.aspx?ID=31962
liquide, c'est bien de ce genre de source dont je parlais, dans la catégorie débutant mais trop compliqué pour moi!

Commentaire de fcampagne le 12/08/2005 10:52:41

Salut a tous
Merci pour vos remarques et j'en tiens compte!
Il est vrai qu'une seule connection serait mieux et plus propre!!!
Pour les commentaires, je m'y emploi de ce pas!

Commentaire de Totoroyamada le 12/08/2005 11:12:49

Je viens de voir un autre truc... Si on fait:
access("select * from matable","c:\mabase.mdb")
ben ça va pas donner grand chose, parce que t'as fait une Sub au lieu d'une fonction... En plus tu déclares le dataset dans cette procédure donc il ne vit que le temps de la procédure... impossible de s'en servir.
Je sais que ton bout de code sert surtout à montrer comment ça marche, mais tant qu'à faire, autant faire un truc fonctionnel donc je le vois plutôt comme ça:

Public MyConnection As New System.Data.OleDb.OleDbConnection()

Private Sub InitialiseConnexion()
'ici le code qui démarre la connexion
End Sub

Private Function Access(LaRequete as String) as Dataset
   'Remplissage d'un dataset en se servant de MyConnection
End Function

puis quand t'en as besoin:

Dim MonDs as new Dataset
MonDs = Access("select * from matable")

En prenant soin de lancer InitialiseConnexion au début du prog...

Commentaire de fcampagne le 12/08/2005 11:42:21

Ca me fait marré, j'étais en train de modifier le code et je vois ton post Totoroyamada , a peu de choses pret j'ai fais exactement ce que tu préconisais!!!! COOOL, je dois etre dans le vrai lol

Commentaire de liquide le 12/08/2005 12:14:27

mastervanou, ce n'est pas compliqué (sur ma source) :), tu colles la class et tu l'appelles en entete d'une form par exemple "as new C_access", ensuite c'est comme les activex, il y a des propriétés a renseigner sur l'appel de cette class comme la base de donneés, le provider(qui de base est renseigner sur un provider type), une requete. Une fois cela renseigné, il ne reste plus qu'a executer pour recuperer un dataview, de celui tu fais ce que tu veux. Voilà.
Simple je crois.

Commentaire de Warny le 12/08/2005 12:17:42

C'est surtout quand tu utilise des dataReader. Tu ne peux en ouvrir qu'un par connexion (je me suis arraché les cheveux sur ça). avec les dataset ça marche effectivement bien

Commentaire de JJDai le 12/08/2005 21:08:44

Et si la base est protegée par un mot de passe, y a t-il un moyen de passer ce dernier dans la chaine de connexion ? J'ai essayé avec "PSW=MotDePass", avec "UID=Admin;PSW=MotDePasse", ect ... , mais rien à faire.

Commentaire de Warny le 13/08/2005 00:50:33

essaye

pwd=Motdepasse
ou
password=motdepasse

Commentaire de JJDai le 13/08/2005 02:10:47

J'ai aussi essayé, avec également Admin , administrator, ... come login mais rien à faire, pourtant j'ai le souvenir d'avoir fait ca en VB6, mais je ne retrouve ce projet.

Commentaire de Warny le 13/08/2005 02:14:07

créé un fichier avec l'extension .udl, configure la connexion et ouvre le fichier avec notepad. Copie la chaîne qu'il te sort.

Commentaire de JJDai le 13/08/2005 14:08:22

J'ai essayé ca aussi, et la chaine contient ";PWD=trinity;UID=admin" mais avec vb6 on optient avec un DSN fichier, la chaine:
DBQ=E:\Developpement\Projets\Dot_Net\Projets\jjd_MemoLogin\Projets\jjd_MemoLogin\Projets\Data\MemoLogin_mdp.mdb;DefaultDir=E:\Developpement\Projets\Dot_Net\Projets\jjd_MemoLogin\Projets\jjd_MemoLogin\Projets\Data;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=C:\Program Files\Fichiers communs\ODBC\Data Sources\titi2.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;

et il ya bien le mot de passe et le login, ca fonctionne pas de probleme.
Mais impossible de faire la même chose avec DotNet.

Commentaire de liquide le 13/08/2005 15:11:23

Integrated Security=False;User ID=******;Password=********

testez ça, peut être.

Commentaire de JJDai le 13/08/2005 17:47:48

Pareil, tant pis je vais utiliser ne autre solution que j'avais utiliser dans une autre source, pas tres catholique mais suffisante pour mes besoins.
Merci quand même.

Commentaire de zerozerozero le 13/08/2005 22:16:21

Chaine de connection pour se connecter à une base Access protégée par un mot de passe :

MyConnection.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source=base.mdb; Jet OLEDB:Database Password= MotdePasse; "

Commentaire de zerozerozero le 13/08/2005 22:16:39

Chaine de connection pour se connecter à une base Access protégée par un mot de passe :

MyConnection.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source=base.mdb; Jet OLEDB:Database Password= MotdePasse; "

Commentaire de liquide le 13/08/2005 22:23:59

pas si "zero" que ca, ca marche impec, merci,j'avais hate d'avoir la solution, pour l'intégrer dans ma class.

Commentaire de JJDai le 13/08/2005 22:40:14

Yes, Merci 000

Commentaire de zerozerozero le 13/08/2005 22:40:48

Pour d'autre base de données le site de réference des chaines de connection

http://www.connectionstrings.com/

INDISPENSABLE

Commentaire de aminix9 le 17/11/2005 22:12:55

slt tou lmonde
excusé moi je sui un débutant en POO et surtout dans l univers de dot net!!
je veu savoir comment profiter de cette source ?
j ai la classe mé je sé pa comment l utiliser !!!

merci de m aider et a+

Commentaire de jojo2077 le 13/04/2006 11:25:45

bonjour
je suis en stage dans un centre de reéducation ,mon travail est de realiser une connexion avec une base de données en access j'avais utilisé votre code pour connection et déconnection mais j'ai un message d'execption qui dit impossible d'etablir la connexion à la base .la refernce d'objet n'est pas définie à une instance d'un objet
est ce que vous pouvez m'aider
d'autre part j'ai utilisé ADO pour faire la communication avec ma base de donnés et le prgramme en VB.net mon but est de chercher le nom de chaque patient pas le numero pour savoir si il est deja inscrit dans ma base ou non, le probleme c'est que je peux selectionnée la colonnes ou se trouve les noms des patients  dans ma base a partir de mon code et la position ou l'ordre de chaque ligne mais pas le nom de patient
Me.objFichePatient.FichePatient.NomColumn mais pas au données  qui sont dans ce colone
si vous pouvez m'aider sera vraiment sympa ,ça fait plus d'une semaine que je suis dans ce pb merci d'avance

Commentaire de wolwalid le 13/05/2007 03:17:41

Pour debutant ??????
http://plasserre.developpez.com/v6-5.htm

Commentaire de BarthOlivier le 07/12/2007 20:51:42 8/10

Tout juste ce qu'il me fallais pour commencer a travailler ... Merci a toi (vous)

j'ai mis une demi journée a comprendre les mecanismes ODBC avec les activeX sous VB6. Là ca fait 2 jours que je galere. Faute de resultat je me decide enfin a requerir de l'aide... Heureusement que vous etes passé par la avant moi <smiley>. Certains disent que c'est plus facile avec dotnet... je dois etre trop mauvais !

Bon ben je vais continuer sur ces bases. Mais j'ai pas tout compris. Oh joie, bonheur de la programmation.

Commentaire de Mini_Hacker le 03/04/2008 15:55:29

Merci 000 ,j'avais un souci pour faire une connxion avec un bd access verouillée par un mot de passe , a chaque fois il me lance "... fichier en mode exclusif...",(pour faire un mot de pass a une bd access faut passer par mode exclusif) , mais j'ai ajouté "Jet OLEDB:Database Password= MotdePasse;" et ca marche bien.
merci bcp

Commentaire de mamadoug le 21/10/2010 03:47:42

salut tout le monde moi j'ai posté un code gestion pharmacie jeté zi un ½il svp mais mon problème de toujours c'est de ne pas pouvoir visualiser les enregistrements fais dans l'application au niveau de la base de données au quelle je l'ai connecté. merci de m'aider je galère trop

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Refresh d'un datagrid sur vb avec connexion access [ par barjo ] salutVoilà j'ai une base de donnée access et sous vb j'ai mis un datagrid afin de visualiser ce que j'ai dans une de mes table, ce qui fonctionne. Le **********HELP - CONNEXION ET REQUETE VERS ACCESS EN DAO !!!!************** [ par pingwee ] Je nouveau en programmation vb6, et je souhaiterai savoir si quelqu'un sait comment se connecter à une base excel en dao, et comment faire une requete ***********AIDE : CONNEXION A UNE BASE ACCESS 2000 en DAO************** [ par pingwee ] lors de la connexion : Set db = dbworkspace.OpenDatabase("C:\mabase.mdb", ReadOnly = True)j'ai l'erreur "format de base de donnée ("C:\mabase.mdb")inc Connexion ADO de excel VERS ACCESS help !! :'( [ par Metos ] Sub Connexion() Deconnexion 'Au cas ou ! Objconn.Open "PROVIDER=MSDASQL.1;DSN=" & "TestADO", UserId:="", Password:="" Quel est le Provider Table liée sous Access via connexion RNIS : au secours !!! [ par BELLIV ] Bonjour,Bon voilà j'ai une application access 2000 qui contient des tables attachées sur une autre base de données Access MDB. Seulement entre l'appli Visual basic excel et connexion a Access [ par matpal ] Bonjour, je suis en stage et je dois faire du vb excel pour me connecter a une base access mais je n'ai jamais vu le vb :-((Alors si quelqu'un pouvait Connexion Multiple VB->Access 2K [ par Cavo ] Je n'arrive pas à connecté plusieurs utilisateurs sur une même base access,Aidez-moi SVP !!! Changer le chemin de connexion d'une table liée sous Access, en code VBA [ par ragnagnac ] Je dispose d'une application Access avec une base associée (CurrentDb), et certaines tables sont liées.Je voudrais, en code VBA, changer le chemin de connexion access [ par chrissou ] Je souhaiterais savoir comment se connecter à une base access 2000 ayant un mot de passe.connection.odbc Merci d'avance. pb connexion access/vb : help me please [ par Cecile29 ] 1 Dim db As Database2 Dim rs As Recordset3 Set db = OpenDatabase("nomdemabase.mdb")4 Dim sql5 sql = "select * from matable where Nomchamp= '" & Me.Nom


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,479 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales