Recherche

Résolu
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013 - 9 mai 2008 à 00:54
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 9 mai 2008 à 11:23
Bonsoir,

J'essai d'effectuer une recherche par numéro de la réservation mais cela ne marche pas avec mon code ci-dessous :

Private Sub Command1_Click()
Set cn = New Connection
cn.Open "File Name=" & App.Path & "\connect.Udl"


s = "SELECT *"
s = s + " FROM RESERVATIONS"s s + " where RESERVATIONS.CODE '" + Text1 + "';"


Set rs = New Recordset
rs.CursorLocation = adUseClient
rs.Open s, cn, adOpenDynamic, adLockOptimistic


i = 0
Do Until rs.EOF
ResultRec.nreserv(i) = rs.Fields(0)
ResultRec.benef(i) = rs.Fields(7)
ResultRec.Label5(i) = rs.Fields(1)
ResultRec.dateret(i) = rs.Fields(4)
i = i + 1
rs.MoveNext
Loop
End Sub

Je reçoie l'erreur suivante : Type de données incompatibles dans l'expression du critère, et je sais que l'erreur se trouve au niveau de la partie que j'ai indiqué en rouge.

Aidez moi SVP.
Merci.

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 mai 2008 à 01:56
Salut
Si le champ CODE est défini en numérique dans la DB, il ne faut pas encadrer le contenu de Text1 par des ' (faut les supprimer)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
9 mai 2008 à 02:14
Merci beaucoup, je l'avais fais sauf que j'ai oublié d'afficher la form, voici la correction :

Private Sub Command1_Click()
Set cn = New Connection
cn.Open "File Name=" & App.Path & "\connect.Udl"


s = "SELECT *"
s = s + " FROM RESERVATIONS"s s + " where RESERVATIONS.code " + Text1 + ";"


Set rs = New Recordset
rs.CursorLocation = adUseClient
rs.Open s, cn, adOpenDynamic, adLockOptimistic


i = 0
Do Until rs.EOF
ResultRec.Show
ResultRec.nreserv(i) = rs.Fields(0)
ResultRec.benef(i) = rs.Fields(7)
ResultRec.Label5(i) = rs.Fields(1)
ResultRec.dateret(i) = rs.Fields(4)
i = i + 1
rs.MoveNext
Loop
End Sub
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
9 mai 2008 à 11:23
Prends l'habitude d'utiliser le symbole de concaténation & plutôt que le +

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous