OVH Cloud OVH Cloud

Requete parametree dans VB6

8 réponses
Avatar
Ben
En VB6, j'ai un un DataReport basé sur une requete qui retourne les
enregistr d'apres un critere(champ Codeclient)
Si je hardcode le critère dans la requete, par ex SELECT Lunette.*
FROM Lunette
WHERE (codeclient = '00001') ca marche, la commande datareport1.show me fait
apparaitre les enregistrements dont le code client = 00001. Mais si je
parametre la requete comme suit:
SELECT Lunette.*
FROM Lunette
WHERE (codeclient = Param1) param1 étant defini dans la sub, j'obtiens le
msg d'erreur: "Le parametre Param1 n'a pas de valeur par defaut"

Le code de la sub est:
Private Sub Btn_Print_Click()
param1 = "0001"
DataReport1.Show
End Sub

Merci pour votre aide
Anwer

8 réponses

Avatar
Ledev
Ben wrote:
En VB6, j'ai un un DataReport basé sur une requete qui retourne les
enregistr d'apres un critere(champ Codeclient)
Si je hardcode le critère dans la requete, par ex SELECT Lunette.*
FROM Lunette
WHERE (codeclient = '00001') ca marche, la commande datareport1.show
me fait apparaitre les enregistrements dont le code client = 00001.
Mais si je parametre la requete comme suit:
SELECT Lunette.*
FROM Lunette
WHERE (codeclient = Param1) param1 étant defini dans la sub,
j'obtiens le msg d'erreur: "Le parametre Param1 n'a pas de valeur par
defaut"

Le code de la sub est:
Private Sub Btn_Print_Click()
param1 = "0001"
DataReport1.Show
End Sub



héhé :O)

Param1 est une variable de la sub, pas de la requette SQL.

Il te faut faire une requette comme ceci:

"SELECT Lunette.* FROM Lunette WHERE(codeclient="+param1+")"

Et la, la requette prendra en compte Param1.
Par contre, si la valeur Param1 change aprés(ce qui semble être le cas),
elle ne changera pas dans la requette, n'oublie pas de refaire la requette
et rafraichire le Recordset de ton DataReport.

a+
Avatar
Patrice Lamarche
Bonjour,
c'est juste pour dire a Ledev que pour la concatenation de string en VB
: "+" est capable de bien faire mais "&" est encore meilleur

Cordialement

Patrice
"Ledev" wrote in message
news:
Ben wrote:
> En VB6, j'ai un un DataReport basé sur une requete qui retourne les
> enregistr d'apres un critere(champ Codeclient)
> Si je hardcode le critère dans la requete, par ex SELECT Lunette.*
> FROM Lunette
> WHERE (codeclient = '00001') ca marche, la commande datareport1.show
> me fait apparaitre les enregistrements dont le code client = 00001.
> Mais si je parametre la requete comme suit:
> SELECT Lunette.*
> FROM Lunette
> WHERE (codeclient = Param1) param1 étant defini dans la sub,
> j'obtiens le msg d'erreur: "Le parametre Param1 n'a pas de valeur par
> defaut"
>
> Le code de la sub est:
> Private Sub Btn_Print_Click()
> param1 = "0001"
> DataReport1.Show
> End Sub

héhé :O)

Param1 est une variable de la sub, pas de la requette SQL.

Il te faut faire une requette comme ceci:

"SELECT Lunette.* FROM Lunette WHERE(codeclient="+param1+")"

Et la, la requette prendra en compte Param1.
Par contre, si la valeur Param1 change aprés(ce qui semble être le cas),
elle ne changera pas dans la requette, n'oublie pas de refaire la requette
et rafraichire le Recordset de ton DataReport.

a+




Avatar
Ledev
Patrice Lamarche wrote:
Bonjour,
c'est juste pour dire a Ledev que pour la concatenation de string
en VB
> "+" est capable de bien faire mais "&" est encore meilleur



Ah, décidement, je m'y fairai jamais :'(

a+


Cordialement

Patrice
"Ledev" wrote in message
news:
> Ben wrote:
> > En VB6, j'ai un un DataReport basé sur une requete qui retourne
> > les enregistr d'apres un critere(champ Codeclient)
> > Si je hardcode le critère dans la requete, par ex SELECT Lunette.*
> > FROM Lunette
> > WHERE (codeclient = '00001') ca marche, la commande
> > datareport1.show
> > me fait apparaitre les enregistrements dont le code client > > > 00001. Mais si je parametre la requete comme suit:
> > SELECT Lunette.*
> > FROM Lunette
> > WHERE (codeclient = Param1) param1 étant defini dans la sub,
> > j'obtiens le msg d'erreur: "Le parametre Param1 n'a pas de valeur
> > par defaut"
> >
> > Le code de la sub est:
> > Private Sub Btn_Print_Click()
> > param1 = "0001"
> > DataReport1.Show
> > End Sub
>
> héhé :O)
>
> Param1 est une variable de la sub, pas de la requette SQL.
>
> Il te faut faire une requette comme ceci:
>
> "SELECT Lunette.* FROM Lunette WHERE(codeclient="+param1+")"
>
> Et la, la requette prendra en compte Param1.
> Par contre, si la valeur Param1 change aprés(ce qui semble être le
> cas), elle ne changera pas dans la requette, n'oublie pas de
> refaire la requette et rafraichire le Recordset de ton DataReport.
>
> a+


Avatar
Gigfy
Un certain Ledev écrivait ici même ce qui suit:

Patrice Lamarche wrote:
Bonjour,
c'est juste pour dire a Ledev que pour la concatenation de string
en VB
> "+" est capable de bien faire mais "&" est encore meilleur



Ah, décidement, je m'y fairai jamais :'(

a+



Faut croire :=)


--
========== Gigfy

Le Bluesy masqué..... :=)
Avatar
Gigfy
Un certain Gigfy écrivait ici même ce qui suit:

Un certain Ledev écrivait ici même ce qui suit:

Patrice Lamarche wrote:
Bonjour,
c'est juste pour dire a Ledev que pour la concatenation de string
en VB
> "+" est capable de bien faire mais "&" est encore meilleur



Ah, décidement, je m'y fairai jamais :'(

a+



Faut croire :=)





Tu copiera cent fois

"Je fairais plu de concatenassion avéc le plus mé avéc le é comersiale"


:=)

--
========== Gigfy

Le Bluesy masqué..... :=)
Avatar
Ledev
"Gigfy" a écrit dans le message de
news:
Un certain Gigfy écrivait ici même ce qui suit:

> Un certain Ledev écrivait ici même ce qui suit:
>
>> Patrice Lamarche wrote:
>>> Bonjour,
>>> c'est juste pour dire a Ledev que pour la concatenation de string
>>> en VB
>>> > "+" est capable de bien faire mais "&" est encore meilleur
>>
>> Ah, décidement, je m'y fairai jamais :'(
>>
>> a+
>
> Faut croire :=)
>
>

Tu copiera cent fois

"Je fairais plu de concatenassion avéc le plus mé avéc le é comersiale"



J'en ait marre, je passe pas 1 semaine sans me prendre 100 lignes, pi en
plus c'est même pas moi :'(
Je vais encore me faire zigouillez par mes parents :O).
Avatar
Christophe
Bonjour,

100 fois sans les fautes d'orthographe


christophe V.

"Gigfy" a écrit dans le message de news:

Un certain Gigfy écrivait ici même ce qui suit:

> Un certain Ledev écrivait ici même ce qui suit:
>
>> Patrice Lamarche wrote:
>>> Bonjour,
>>> c'est juste pour dire a Ledev que pour la concatenation de string
>>> en VB
>>> > "+" est capable de bien faire mais "&" est encore meilleur
>>
>> Ah, décidement, je m'y fairai jamais :'(
>>
>> a+
>
> Faut croire :=)
>
>

Tu copiera cent fois

"Je fairais plu de concatenassion avéc le plus mé avéc le é comersiale"


:=)

--
========== > Gigfy

Le Bluesy masqué..... :=)


Avatar
Adam
W sobotê, 19 lipca 2003 11:14:14 Ledev napisa³/a w wiadomo¶ci
news:


Je ferais plu de concaténassions avec le plus mais avec le é comersiale



0 sur 20

Encore une fois, et SANS les fautes ...

--
Pozdrawiam - Adam Pietrasiewicz
Go³±bek - Koniec z krzakami - prawdziwie polski klient mail/news
http://www.amsoft.com.pl/golabek/pomoc/