marshall691985
Messages postés4Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention 3 juin 2007
-
3 juin 2007 à 13:26
marshall691985
Messages postés4Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention 3 juin 2007
-
3 juin 2007 à 17:17
Bonjour à tous, j'ai un petit problème...je doit faire une requête SQL (toute bête...c'est le moins que l'on puisse dire!!) dans VB6 (dans mon app) mais je ne me rappel plus comment (par rapport à la syntaxe) on place dans la clause WHERE une variable passée en paramètre. Dans mon exemple je souhaite connaître toutes les occurances du champs "NomCategorie" de la table "TableCategories" qui commence par une lettre bien précise (c'est elle que l'on passe en paramètre). Cela donne :
Dans la fenêtre appelante :
Private Sub Command1_Click()
'il s'agit d'une lettre donc d'un et un seul caractère...
Dim LaLettre As String*1
LaLettre = Lettre.Text
Call CatLettre(LaLettre)
End Sub
Dans la procédure :
Public Sub CatLettre(ByVal LaLettre)
Dim Request As New ADODB.Recordset
'Définition du pilote de connection
connection.Provider = "Microsoft.Jet.Oledb.4.0"
'Définition de la chaine de connection
connection.ConnectionString = "GestioLiens.mdb"
'Ouverture de la base de données
connection.Open
'on supprime les élements de la liste
Requête1.ListCat.Clear 'cette liste contient tous les résultats de la requête.
'cette exemple marche....mais pour une lettre fixée dans la procédure.
Request.Open "SELECT DISTINCT NomCategorie FROM TableCategories WHERE NomCategorie LIKE 's%'", connection
'cette exemple ne marche pas...pourquoi?? De plus, comment on gère le % du dessus??
'Request.Open "SELECT DISTINCT NomCategorie FROM TableCategories WHERE NomCategorie LIKE " + LaLettre, connection
While Not Request.EOF
Requête1.ListCat.AddItem (Request("NomCategorie"))
Request.MoveNext
Wend
Request.Close
'fermeture de la base de données
connection.Close