Requête Paramétrée sous Access en vb.net [Résolu]

cs_Petiote 14 Messages postés mercredi 7 novembre 2007Date d'inscription 8 février 2010 Dernière intervention - 28 mars 2008 à 16:15 - Dernière réponse : cs_Petiote 14 Messages postés mercredi 7 novembre 2007Date d'inscription 8 février 2010 Dernière intervention
- 2 avril 2008 à 15:35
Bonjour,
Voilà mon problème.
J'ai une requête sous Access qui a besoin de 2 paramètres (an et ancalcul) pour être exécutée. Le truc c'est que je ne peux pas mettre ma requête directement dans mon code car si le client change le contenu il faudra refaire le code de l'application. C'est pourquoi on appelle la requête. Donc j'aimerai savoir quel est le bout de code qui va dire tu me mets le contenu de mon Inpubox1 dans le paramètre "an" et le contenu de mon InputBox2 dans le paramètre "ancalcul".
Je bosse donc en vb.net sous Visual Studio 2005, et c'est une base Access.
Merci d'avance.
ps: si je trouve une solution je vous préviens ;)
Afficher la suite 

5 réponses

Répondre au sujet
cs_Petiote 14 Messages postés mercredi 7 novembre 2007Date d'inscription 8 février 2010 Dernière intervention - 2 avril 2008 à 15:35
+3
Utile
Bon avec mon chef de projet on a trouvé la solution

'/////////////////////Là dans ce bout de code qu'on a mis dans un fichier (BDACCESS.vb) qui a tout ce qui concerne la connexion, deconnexion de la base, l'execution de requête.
Public
Function executeWithParam(
ByVal requetesql
As
String,
ByVal ParamRequete
As Array,
ByVal nbParam
As
Integer)
As DataSet
Dim MyAdapter
As OleDbDataAdapter =
New OleDbDataAdapter

Dim MyDataSet
As DataSet =
New DataSet(
"données")

Dim MyCommand
As OleDbCommand

Try
   MyCommand =
New OleDbCommand(requetesql, MyConnection)

   Dim i
As
Integer

   For i = 0
To (nbParam - 1)
      MyCommand.Parameters.AddWithValue(ParamRequete(i, 0), ParamRequete(i, 1))

   Next

   MyAdapter.SelectCommand = MyCommand
   MyDataSet.Clear()
   MyAdapter.Fill(MyDataSet,
"données")

   'A ce niveau les donnes résultantes de la requete se trouvent dans => MyDataSet.Tables(0) 
   Return MyDataSet

Catch ex
As Exception
MessageBox.Show(
"Erreur lors de l'execution de la requete." + ex.Message +
"." + requetesql)

End
Try
Return
Nothing

End
Function'
'//////////////////////////////////////////////////////////////////////////////////////////////////

'/////////////////////Et ça on l'a mis dans mon User control au niveau du bouton1click
Dim Parametres(2, 2)
As
String 'On crée un tableau à 2 dim qui contient le nom du param et sa valeur (récupérée grâce à un InputBox)
Parametres(0, 0) =
"anprec" 'Nom du Param1
Parametres(0, 1) = anaisanneeN1.ToString() 'Valeur du param1
Parametres(1, 0) =
"an" 'Nom du Param1
Parametres(1, 1) = anaisanneeN.ToString() 'Valeur du param2
BDACCESS.executeWithParam(
"EXECUTE " + Mareqûête , Parametres, 2)

'////////////////////////////////////////////////////////////////////////////////////////////////////

Voilà j'espère que ça pourra aider quelqu'un un de ces 4
Petiote
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Petiote
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 28 mars 2008 à 16:25
0
Utile
Salut,

J'ai pas vraiment bien saisi, mais est-ce cela, car l'inputbox te renvois un type String :

an = InputBox1("veuillez saisir votre mot", "Essai")
ancalcul = InputBox2("veuillez saisir votre mot", "Essai")

A+
Exploreur

 Linux a un noyau, Windows un pépin
Commenter la réponse de cs_Exploreur
cs_Petiote 14 Messages postés mercredi 7 novembre 2007Date d'inscription 8 février 2010 Dernière intervention - 28 mars 2008 à 16:36
0
Utile
Bonjour Exploreur

En fait les "an" et "ancalcul" sont les paramètres dans Access, ce ne sont pas des variables sous vb. Je ne sais pas comment lui dire ce que je demandais plus haut.
Il n'y a pas une sorte de fonction qui dit :
param.mabase.marequete("an") = inputbox1.Tostring
(bien sûr je mets un truc au pif  )

Petiote
Commenter la réponse de cs_Petiote
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 28 mars 2008 à 16:43
0
Utile
Re,

Bonne question dont je n'ai pas la réponse...mais "je pense" qu'il doit y avoir la possibilité de récupérer tes paramètre Access..

A+
Exploreur

 Linux a un noyau, Windows un pépin
Commenter la réponse de cs_Exploreur
cs_Petiote 14 Messages postés mercredi 7 novembre 2007Date d'inscription 8 février 2010 Dernière intervention - 28 mars 2008 à 16:52
0
Utile
Re,

Vis ça fait plusieurs heures qu je cherche et je ne trouve rien qui coressponde à ce que je veux.
Je ne vois pas comment contourner le problème...

Merci quand même.
Petiote.
Commenter la réponse de cs_Petiote

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.