m2rtech
Messages postés239Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention20 février 2012
-
3 févr. 2004 à 20:08
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 2006
-
4 févr. 2004 à 14:00
Salut à tous,
j'ai une requete dans une base access 2000
je souhaite modifier la requete à l'aide d'ADO (je pense qu'il sagit de la commande Command)
L'equivalent avec DAO était l'Objet QueryDefs.
un exemple en DAO de se que je soutaite faire.
Dim db As Database
Dim QdfRequete As QueryDef
Set db = OpenDatabase(Chemin & "documents")
Set QdfRequete = db.OpenQueryDef(NomRequete) ' ancien
Set QdfRequete = db.QueryDefs(NomRequete) ' Nouveau
QdfRequete.sql = ChaineSQL
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 3 févr. 2004 à 21:03
labout
Ayant longtemps cherché partout je n'ai pas reussi à récupérer les requetes ACCESS avec l'ADO.
Pour une appli avec ADO j'ai du utiliser le DAO pour cela.
C'est psossble avec SQL Server mais avec Accessz on ne peut exécuter de requete sur les tables system.
Avec VB.NET c'est psssible quoiqu'il ne voit pas toutes les requètes. Mêmes 2 requetes identiques, il en verra une et pas l'autre. C'est très mystérieux.
m2rtech
Messages postés239Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention20 février 2012 3 févr. 2004 à 21:24
Merci labout,
Me suis je bien fait comprendre (comment est ce possible avec DAO et pas avec ADO ?)?
j'ai une requete stocké dans ma base MDB.
Cette requete est formulé de la maniere suivante :
soit une requete : reqTest =
"Select * from matable where toto like 'Machin*'"
Je souhaite modifier le contenu de ma requete.
comme ceci :
"Select * from matable where toto like 'bidule*'"
Vous me dites que ce n'est pas possible, Ce serait pour moi une CATASTROPHE, je viens de modifier mon programme de gestion vers access 2000.
Je crois savoir que les requetes contenues dans Access sont des Vues.
Il semblerait que c'est l'Objet Command qui devrait prendre le relai de l'Objet QueryDef.
Voilà à peu près mes connaissances sur le sujet.
J'espère qu'il y'a une solution, sinon c'est un cataclysme.
Je n'ose imaginer que microsoft est commit cette boulette.
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 3 févr. 2004 à 21:37
labout
je ne comprends plus car tu as la réponse
Dim db As Database
Dim QdfRequete As QueryDef
Set db = OpenDatabase(Chemin & "documents")
Set QdfRequete = db.OpenQueryDef(NomRequete) ' ancien
Set QdfRequete = db.QueryDefs(NomRequete) ' Nouveau
QdfRequete.sql = ChaineSQL
Il suffit que dans ta requete Access
Select * from matable where toto like Condition
donc chaineSQL="Select * from matable where toto like Condition"
Dans ton code VB
scond=text1.text
ChaineSQL=replace(ChaineSQL("Condition",scond) & "*"
Moi j'avais des datededebut et datedefin
et je remplacais datedebut par la date saisie.
Une fois ta requete SQL crée tu n'a plus qu'afaire ton recordset ou passer le code dans Crystal s'il s'agit d'un état crystal
@+
m2rtech
Messages postés239Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention20 février 2012 3 févr. 2004 à 23:27
M2rTech,
Quelle référence Ado utilisez vous ?
car dans mon code il ne semble pas connaitre l'objet DB
j'ai essayer d'ajouter Microsoft Activex Data Objet 2.5 sans succes.
L'erreur est "Format de base de donnees inconnu"
il s'arrete sur l'erreur suivante :
Dim db As Database
Dim QdfRequete As QueryDef
Set db = OpenDatabase(Chemin & "documents") 'ICI
m2rtech
Messages postés239Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention20 février 2012 4 févr. 2004 à 13:53
Salut, et merci encore pour votre aide.
Regardez dans le menu Projet, Références, quelles sont les références à DAO qui sont utilisées. moi actuellement j'ai Microsoft DAO 2.5/3.51 et ça marche pas avec access 2000.
Si ça marche chez vous, une référence doit me manquer alors. laquelle ????