Débutant, bases de données

MSI - 18 sept. 2000 à 02:42
 Octet - 18 sept. 2000 à 23:18
Soit une Base de données ACCES MaBase dont une table MaTable.
Dans MaTable j'ai un champ nommé MonNumero dont la valeur est toujours
numérique (doublons autorisés).
Je voudrais selectionner tous les enregistrements dont la valeur de
MonNumero soit la valeur saisie dans un textbox MonTextBox.

J'écris alors.
Dim Db As Database
Dim RC As Recordset
Dim Q As String
T = MonTextBox.Text

Set db = OpenDatabase("C:MaBase")
Q = "SELECT*FROM FICHE WHERE NUMERO=T"
Set RC = db.OpenRecordset(Q, dbOpenDynaset)
'Va sur le 1er enregistrement correspondant
RC.MoveFirst

Je n'arrive pas à trouver la syntaxe exacte qui me permette de placer la
variable T.
A noter que si je remplace T par un nombre comme 1 par exemple le
programme va selectionner facilement tous les enregistrements dont le
champ MontNumero est égal à 1.

Merci à vous

François

2 réponses

Si T est numerique :

Q="SELECT*FROM FICHE WHERE NUMERO=" & T

Sinon :

Q="SELECT*FROM FICHE WHERE NUMERO='" & T & "'"
0
Q = "SELECT*FROM FICHE WHERE NUMERO=T"
tu remplaces ca par ce qui suit:

Q = "SELECT * FROM FICHE
WHERE NUMERO = '" & T & "'"

Règle: tu concatene avec le & et surtout, ne jamais mettre 2 " ou 2 '
de suite...
Autre regle: les espacements. ne jamais espacer les '" ou "'...espace les & d'avec le reste
0
Rejoignez-nous