Requête Paramétrée sous Access en vb.net

Résolu
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010 - 28 mars 2008 à 16:15
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010 - 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 ;)

5 réponses

cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010
2 avril 2008 à 15:35
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
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
28 mars 2008 à 16:25
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
0
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010
28 mars 2008 à 16:36
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
28 mars 2008 à 16:43
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
0

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

Posez votre question
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010
28 mars 2008 à 16:52
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.
0
Rejoignez-nous