Omega15
Messages postés55Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention 7 septembre 2009
-
28 juil. 2005 à 14:58
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 2010
-
28 juil. 2005 à 15:53
Bonjour,
voici mon probleme,
je travail avec 2 base bdtrav et bdsav, sui ont exactement les mêmes champs mais pas les mêmes valeurs.
Et selon la base que je doit ouvrir j'execute ma requete.
EXEMPLE:
public BdTrav as connection
Public BdSav as connection
dim adobase as recordset
If Base="TRAVAUX" then
set adobase=BdTrav.execute ("SELECT * ....... ;")
else
set adobase=BdSav.execute ("SELECT ........;")
endif
N'y aurais t-il pas une solution pour n'avoir qu'une seule requete avec, a la place de BdTrav et BdSav, une variable "BASE" où l'on stock justement la base a ouvrir.
comme par exemple :
dim Base as string
Base ="BdTrav"
set adobase = ' " & Base & " ' .execute (".......;")
ou alors
set adobase = " & Base & " .execute ("... ;")
ou quelque chose d'autre
.......
Tout ca pour ne pas avoir a faire de teste et ne faire qu'une requete.
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 28 juil. 2005 à 15:01
Salut,
B'hein vu qu'il
faut ouvrir une connexion vers chaque base, je vois mal comment tu peux
faire une unique connexion qui ouvre en même temps les deux base ...
cs_toods
Messages postés26Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention29 juillet 2005 28 juil. 2005 à 15:05
je suis d'accord avec Zlub. Si tu as deux bases différentes, tu dois utiliser 2 connexions différentes.
Mais si il y a une autre solution, ca m'intéresse aussi.
Merci
cs_toods
Messages postés26Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention29 juillet 2005 28 juil. 2005 à 15:10
Tu peux faire ceci:
Set gconBD = New ADODB.Connection
With gconBD
.ConnectionString = "Provider=SQLOLEDB.1;Data Source=" & nomServeur& ";User ID=" & nomId & ";Initial Catalog=" & nomBase
.Open
End With
Et là, tu as ouvert une connexion sur le serveur "nomServeur" et sur la base "nomBase"
avec l'identifiant de connexion "nomId "
si ca peux t'aider
après, tu utilises toujours set connexion
gconBD.Execut ("ta requete SQL")
Plus tu vas moins vite, moins tu vas plus loin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Omega15
Messages postés55Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention 7 septembre 2009 28 juil. 2005 à 15:52
Bon laissez tomber.
j'ai trouvé une solution de secours.
j'utilise une fonction
Public Function Requete(RRequete As String)
If BdBase = "BdTrav" Then
Set adoR = BdTrav.Execute(RRequete)
Else
Set adoR = BdSav.Execute(RRequete)
End If
End Function
et dans mon code je fait
Requete("SELECT * FROM Salarie ;")
MaValeur =adoR("nom")
Ca fonctionne, mais c'est dommage de pas avoir reussit autrement.