Requete access avec paramètre

ballic Messages postés 1 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 8 juin 2004 - 8 juin 2004 à 17:49
cs_kheper Messages postés 3 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 8 juin 2004 - 8 juin 2004 à 22:33
bonjour,

1 ptit pb :

g une requete stockée dans access, très simple, qui doit compter le nombre de lignes dont une colonne contient une chaine de caractère passée en paramètre.

quand j'execute la requete directement dans access, pas de pb, il me renvoie le bon nb de ligne, mais dans vb, impossible, ca renvoie tjs 0.

voici ma requete toute simple:

PARAMETERS vno Text ( 10 );
SELECT Count(*) AS Expr1
FROM camion
WHERE camion.no_imma like [vno] & "*";

code vb qui marche pas:

Dim nbr As Integer
Dim immat As String = "977"

Me.OleDbCommande = New OleDbCommand
Me.OleDbCommande.Parameters.Add(New System.Data.OleDb.OleDbParameter("no_imma", immat))
Me.OleDbCommande.CommandText= "[testerNbrCamions]"
Me.OleDbCommande.CommandType = System.Data.CommandType.StoredProcedure
Me.OleDbCommande.Connection = Me.OleDbConnection

Me.OleDbConnection.Open()
Try
Me.Result = OleDbCommande.ExecuteReader
Result.Read()
nbr = Result.GetInt32(0)
Catch e As Exception
Finally
Me.OleDbConnection.Close()
End Try
Return nbr

sinon pas souci ma connexion marche bien, etc,
il catch rien du tout, mais renvoie toujours 0

merci bien

1 réponse

cs_kheper Messages postés 3 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 8 juin 2004
8 juin 2004 à 22:33
salut
avec les ole je ne pourrais pas te donner + d'info
mais moi j'utilise directement la commande de la requête avec un catalogue

'en utilisant une base de type jet
' cat un catalogue ouvert avec la connection active de ta base de donnée
'cmd de type command avec connection active sur la base
'leparam est de type tableau de variant ( pas en tableau si 1 seul param, mais c'est important que ce soit un variant

'l'une des deux lignes de set plutot views mais à vérifier
set cmd = cat.procedures("nomrequête").command

set cmd = cat.views("nomrequête".command

cmd.execute leparam

voila, si ça peut t'aider
et si je ne me trompe pas

En méditation :big)
0