Comment changer nom de la source du data environement

grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013 - 3 janv. 2013 à 12:15
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013 - 4 janv. 2013 à 18:42
Bonjour à tous,

J'ai un projet avec connexion a la base de données en utilisant le DATAENVIRONMENT et sa connection, et toutes les commands qui sont mes requetes utilisées dans le projet.
A l'ouverture du projet, le dataenvironement à une connection a une base par exemple base2012.mdb, mais si on veut changer l'année de travail, il faut utiliser une autre base de donnée, par exemple base2013.mdb.

Mais comment changer le nom de la base dans le code ??

Merci d'avance de vos réponses....

10 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 janv. 2013 à 12:17
Bonjour,
Rien qu'en écrivant ici le code utilisé (que tu n'as pas montré) tu verrais déjà l'essentiel, à compléter par la fonction Year


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
3 janv. 2013 à 12:26
Je suis d'accord, mais j'ai fait effectué cette connexion par le biais du clic droit sur la connection pour renseigner le nom de la base. Et je voudrais changer ce nom de base dans le code, mais sans refaire ma connection entierrement en code, ce qui m'obligerais à refaire mes requetes (commands) manuellement en code egalement...
je pensais que c'était :
dataenvironment1.connection1.datasource="base" & année & ".mdb"
Mais cela ne fonctionne pas
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 janv. 2013 à 12:32
Et que t'affiche :
msgbox "base" & année & ".mdb" ?
As-tu un message d'erreur ? Si oui : pourquoi n'en parles-tu pas ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
3 janv. 2013 à 12:41
Non pas de message d'erreur sous cette forme là

c'est la ligne dataenvironment1.connection1.datasource="base" & année & ".mdb" qui beug, je penses que c'est un problème de syntaxe, mais j'arrive pas a trouver le bon truc.....

Merci de vos réponse en tout cas....
0

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

Posez votre question
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
3 janv. 2013 à 13:22
Sinon la solution serait de créer X dataenvironement :
dataenvironemnt2012 qui se connecte a base2012.mdb
dataenvironemnt2013 qui se connecte a base2013.mdb
dataenvironemnt2014 qui se connecte a base2014.mdb
dataenvironemnt2015 qui se connecte a base2015.mdb
dataenvironemnt2016 qui se connecte a base2016.mdb

et selon la date, utiliser le dataenvironment qui convient, mais du coup, le problème est autre....
comment coder cet algo :

select case année
case 2012 : dataenvironment=dataenvironment2012 'utiliser le dataenvironment2012
case 2013 : dataenvironment=dataenvironment2013 'utiliser le dataenvironment2013
case 2014 : dataenvironment=dataenvironment2014 'utiliser le dataenvironment2014
case 2015 : dataenvironment=dataenvironment2015 'utiliser le dataenvironment2015
case 2016 : dataenvironment=dataenvironment2016 'utiliser le dataenvironment2016
end select

car apres dans le code j'utilise :

dataenvironment.nomdelarequete.execute
0
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
3 janv. 2013 à 15:27
C'est bon j'ai trouvé :
DataEnvironment1.Connection1.Close
   DataEnvironment1.Connection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "" & "base" & année & ".mdb;Mode=Read|Write"


   DataEnvironment1.Connection1.Open


Mais une fois que je change, c'est comme-ci le .open ne fonctionnais pas puisque il ne veut pas me faire dans un code aprés :

DataEnvironment1.rsNb_réservation_par_jour_et_par_groupe.Open

le message d'erreur est le suivant :
Impossible d'utiliser cette connexion pour effectuer cette opération. Elle est fermée ou non valide dans ce contexte.

Aidez moi SVP !! je pense que le pc va passer par la fenêtre !!!!
0
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
3 janv. 2013 à 15:32
ALORS QUE

DataEnvironment1.Connection1


est égale à 1
0
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
3 janv. 2013 à 15:38
ALORS QUE
DataEnvironment1.Connection1.state


est égale à 1
Donc la connection est ouverte, et le Nb_réservation_par_jour_et_par_groupe est bien dans la liste des commands

personne ?????
0
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
4 janv. 2013 à 17:52
J'ai toujours le problème...Est-ce que quelqu'un à une solution ?
0
grego_ca Messages postés 13 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 4 janvier 2013
4 janv. 2013 à 18:42
J'ai trouvé, il faut annulé le .datasource, avant de le redéclaré, et si on inverse ça ne fonctionne pas.
If DataEnvironment1.rsNb_réservation_par_jour_et_par_groupe.State = 1 Then
DataEnvironment1.rsNb_réservation_par_jour_et_par_groupe.Close
End If

Set Principal.MSHFlexGrid1.DataSource = Nothing
DataEnvironment1.Nb_réservation_par_jour_et_par_groupe
'Principal.MSHFlexGrid1.DataMember = ""
Set Principal.MSHFlexGrid1.DataSource = DataEnvironment1
0
Rejoignez-nous