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

Votre réponse

5 réponses

Meilleure réponse
cs_Petiote
Messages postés
14
Date d'inscription
mercredi 7 novembre 2007
Dernière intervention
8 février 2010
- 2 avril 2008 à 15:35
3
Merci
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

Merci cs_Petiote 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de cs_Petiote
cs_Exploreur
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Dernière intervention
15 novembre 2016
- 28 mars 2008 à 16:25
0
Merci
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
Messages postés
14
Date d'inscription
mercredi 7 novembre 2007
Dernière intervention
8 février 2010
- 28 mars 2008 à 16:36
0
Merci
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
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Dernière intervention
15 novembre 2016
- 28 mars 2008 à 16:43
0
Merci
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
Messages postés
14
Date d'inscription
mercredi 7 novembre 2007
Dernière intervention
8 février 2010
- 28 mars 2008 à 16:52
0
Merci
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.