Accès à une nouvelle base Access

cs_barac Messages postés 3 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 2 septembre 2005 - 31 août 2005 à 16:39
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 - 3 sept. 2005 à 21:33
Bonjour,

Voilà mon problème :
j'ai une bd access déclaré sous VB avec un dataEnvironnement et une connexion. J'y ai ajouté des commandes référencant mes tables.

Par conséquent, quand je veux accéder à une de mes tables, je fais le traitement suivant (exemple):
With DataEnvironment1.rsJour
.Open
...
.Close
End With

Maintenant, je voudrais pouvoir garder tous mes accès défini dans mon code (ne pas devoir les modifier) et changer de base de données pendant l'éxécution du programme. Remarque : ma nouvelle base de données a exactement la même structure que l'original, seules les données changent.

J'ai essayé de changer le paramètre ConnectionString mais dès que je veux ouvrir une de mes tables comme défini ci-dessus, il me jette en me disant :
"Impossible d'utiliser cette connexion pour effectuer cette opération.
Elle est fermée ou non valide dans ce contexte."

Merci de votre aide

Julien

5 réponses

Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
2 sept. 2005 à 05:43
bonsoir,

as-tu utiliser des variables différentes pour déclarer le nom et le
chemin d'accés de la bd?

peut-tu mettres ton code?

Salut
Doro
0
cs_barac Messages postés 3 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 2 septembre 2005
2 sept. 2005 à 16:03
Le chemin d'accès à la bd change car répertoire différent et nom bd différent.

Voilà le code :

connexion = DataEnvironment1.Connection1.ConnectionString

'recherche du chemin de base de données dans 'connexion'
While (car <> "" And fini = False)
car = Mid(connexion, i, 1)
If (car = "D") Then
If (Mid(connexion, i, 11) = "Data Source") Then
'on mémorise la position du début du chemin
position_debut = i + 12
'on recherche la position finale
i = position_debut
While (car <> "" And fini = False)
car = Mid(connexion, i, 1)
If (car = ";") Then
'on mémorise la position_finale
position_fin = i
fini = True
End If
i = i + 1
Wend
End If
End If
i = i + 1
Wend

'changement du chemin de la bd
connexion = Left(connexion, position_debut - 1) + _
"C:\toto\bd2.mdb" + _
Mid(connexion, position_fin, Len(connexion) - position_fin + 1)

'attribution du nv chemin
If (DataEnvironment1.Connection1.State = 1) Then
DataEnvironment1.Connection1.Close
End If
DataEnvironment1.Connection1.ConnectionString = connexion



Mais si il n'y a pas de solution pour changer de bd en cours de programme, je vais directement remplacer la bd en gardant le même chemin d'accès et le même nom.

Voilà, bon courage et merci à toi.

Julien
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
3 sept. 2005 à 14:17
bonjour,

bon à première vue je te conseillerais de te servir d'un 2eme dataenvirronnement
avec les données de ta 2ème table....

sinon tu peux également le faire sans aucun dataenvirronnement
avec par exemple une combo et suivant le choix de l'utilisateur telle ou telle base
sera ouverte

sinon je vais essayer de faire ce que tu veux dans un nouveau projet et je te tiens au courant

salut
doro
0
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
3 sept. 2005 à 21:30
bonjour,

bon je viens de regarder ça de plus prés et je ne pense pas que tu puisse changer l'
accés a la bd en cours de route avec un seul dataenvironnement ,je peux me trompais,le mieux serait d'utiliser un 2eme dataenvironnement,enfin je pense....

salut
doro
0

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

Posez votre question
Doro81079 Messages postés 380 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 24 février 2015 56
3 sept. 2005 à 21:33
re,

erreur,je viens de voir que tu peux ajouter une 2eme connection au dataenvironnement ensuite tu code suivant le choix de l'utilisateur
pour la nouvelle tu clic droit sur dataenvironnement lorsqu'il est ouvert
tu clic sur ajouter une connection tu renseigne et voilà.....

salut
doro
0
Rejoignez-nous