Connection BDD Access avec ADODC et réseau

cboin Messages postés 9 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 10 janvier 2007 - 5 mai 2006 à 16:22
haoudam Messages postés 3 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 30 janvier 2007 - 30 janv. 2007 à 13:14
Bonjour à tous,

je débute dans la programmation en VB et dans l'ensemble de mes recherches, je n'ai pas trouvé comment utiliser un contrôle ADODC, une DataGrid liée au contrôle ADODC et faire en sorte que la chaîne de connection soit activée au démarrage de l'application et non pas avant la compilation. En effet, le principale obstacle que je rencontre est le suivant : VB génère un message d'erreur si la propriété connectionstring du contrôle ADODC n'est pas renseignée avant la compilation...
Pourtant, utiliser un contrôle ADODC et le lier à une DataGrid permet simplement et rapidement d'afficher une table sans aucun code...

L'environnement du problème est le suivant :
En réseau (local), je souhaite connecter une base de donnée Access sur un dossier partagé d'un serveur de données via une application "cliente" installée sur une station de travail en utilisant les contrôles ADODC et DataGrid...
Par ailleurs, je voudrais pouvoir paramétrer à l'aide d'un fichier de configuration le chemin d'accès à la base de données.

J'arrive sans problème à me connecter à la base de données avec le contrôle ADODC si elle est dans le même répertoire que l'application mais ce cas de figure ne me convient pas pour le réseau.

Merci d'avance pour votre aide...

Charles

6 réponses

asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
6 mai 2006 à 15:32
Salut,

Tu peux, il me semble, avoir déclaré une source ou une chaîne de connexion à ton ADOCD, puis par code la modifier. Je ne vois pas trop le problème...

Cordialement,

Alain 31
0
yoh_bur Messages postés 24 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 9 février 2007
9 mai 2006 à 14:46
J'utilise exactement le meme type d'architecture et de programtion.
J'accede a une bdd Access sur un lecteur reseau via des adodc pour afficher mes resultats.
Tu peux tout a fait mettre ta connectionstring en variable et la passer a l'adodc par une simple ligne de code.

Ex:
varconnexion = "...."
MyADODC.ConnectionString = varconnexion

Ce système te permet meme de changer les resultats affichés dans ton datagrid a tout moment en redefinissant la chaine de connection et/ou les variables de connexions (requete, etc..)
0
cboin Messages postés 9 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 10 janvier 2007
9 mai 2006 à 18:07
Merci Alain 31 et Yoh_bur pour vos réponses.
Effectivement, je peux déclarer une connection string et la modifier par code (ce que j'ai fait) mais mon problème se produit au démarrage : a priori, Visual Basic n'accepte pas que je spécifie une chaîne de connection vide que je modifierais ensuite au démarrage. Et si je spécifie une chaîne de connection par défaut, le chemin de la base de donnée qui est enregistré "pointe" sur un chemin correspondant à un dossier local dans lequel j'ai mis ma base de test. Ainsi, si je démarre sans base de donnée dans le dossier local, le logiciel génère une erreur...
Pour simplifier : lorsque j'ai fait les essais avec la chaine de connection en variable, je devais avoir (pour le démarrage) une base de donnée en locale sinon cela plantait. Par ailleurs, je ne crois pas que cela soit très propre de procéder avec une base locale qui ne sert qu'au démarrage...

Si vous pouvez m'éclairer à ce sujet ou m'envoyer un exemple de code simple avec juste une table, un contrôle adodc et une datagrid pour afficher la table, peut être que je comprendrais mieux ce que vous voulez m'expliqer et comment procéder correctement.

Merci en tous les cas pour votre aide.

Charles
0
amine_de_smi Messages postés 1 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 10 janvier 2007
10 janv. 2007 à 15:11
salut j ai le prob suivant et veulliez m aider j ai changer le repertoir de mon projet et j aimerai modifie le chemin de la base de donnnee pour qu il accede et je utilise la notion de ADODC et le lier à une DataGrid pour gerer la base de donnee
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cboin Messages postés 9 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 10 janvier 2007
10 janv. 2007 à 19:22
Bonjour,


la solution que j'ai trouvé est de créer un fichier de paramétrage et de définir le chemin d'accès à la base dans ce fichier.


Ensuite, je charge la chaine de connection dans le contrôle ADODC au démarrage de l'application.


Puis je fait un Refresh du contrôle pour ouvrir la connection et afficher la table dans le Datagrid qui est lié.




Dans la propriété DataSource du DataGrid, je rentre le nom du contrôle Adodc : exemple : Adodc1_tbl_commandes_vitrages

Exemple avec un fichier "Parametrage.txt" (A la racine de l'application)
J'ai créé une fonction qui permet d'aller chercher dans ce fichier de paramétrage le nom du répertoire de la base de données.
Ce répertoire est affecté à la variable "RepertoireBDD"
Ensuite je crée la chaine de connection comme ceci :
<<
chaine = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RepertoireBDD & "\Commande_vitrages.mdb;Persist Security Info=False"
>>
(Commande_Vitrage.mdb est la nom de fichier de la base de données)

Ensuite j'affecte la chaine de connection au contrôle ADODC de la form :
<<
frm_Principale.Adodc1_tbl_commandes_vitrages.ConnectionString = chaine
>>
puis j'actualise le contrôle Adodc ce qui actualise par liaison le datagrid :
<<
frm_Principale.Adodc1_tbl_commandes_vitrages.Refresh
>>

Tout cela est dans le code de chargement de la fenêtre principale.




En espérant t'avoir éclairé...

Charles
0
haoudam Messages postés 3 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 30 janvier 2007
30 janv. 2007 à 13:14


0
Rejoignez-nous