LIKE ne fonctionne pas

Le
Yves
Bonjour à tous,

Voici mon code

If DB.State = adStateClosed Then
DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
strCheminBase & strNomBase
End If

Dim R As New ADODB.Recordset
Dim RTmp As New ADODB.Recordset

Req = "SELECT [Journalier Princ].* FROM [Journalier Princ] "
Req = Req & "Where ((([Journalier Princ].Requérant) Like 'Y_*'))"

R.Open Req, DB, adOpenStatic, adLockOptimistic
sbrAnalyse.PanelText(1) = "Nombre d'enregistrements trouvés :" +
str(Trim(R.RecordCount))


If R.RecordCount > 500 Then
..


--
Merci pour les réponse
--
Yves
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #14711581
Bonsoir Yves

As tu testé :
req= req & "Where ((([Journalier Princ].Requérant) Like 'Y_%'))"

Je crois que tu ne peux pas utiliser le caractère * en sql standard (sauf
Access qui ne respecte pas complètement la norme SQL92) mais que tu dois
utiliser le caractère % à la place.
Pour info tu oublies de déclarer req , donc : Dim req as String mais la
remarque n'est peut-être pas adaptée car j'ai pas le début de ta proc.

A+
Eric



"Yves" @edtnps89:

Bonjour à tous,

Voici mon code

If DB.State = adStateClosed Then
DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
strCheminBase & strNomBase
End If

Dim R As New ADODB.Recordset
Dim RTmp As New ADODB.Recordset

Req = "SELECT [Journalier Princ].* FROM [Journalier Princ] "
Req = Req & "Where ((([Journalier Princ].Requérant) Like 'Y_*'))"

R.Open Req, DB, adOpenStatic, adLockOptimistic
sbrAnalyse.PanelText(1) = "Nombre d'enregistrements trouvés :" +
str(Trim(R.RecordCount))


If R.RecordCount > 500 Then
.....




Yves
Le #14711571
Merci beaucoup ça marche


"Eric" news:

Bonsoir Yves

As tu testé :
req= req & "Where ((([Journalier Princ].Requérant) Like 'Y_%'))"

Je crois que tu ne peux pas utiliser le caractère * en sql standard (sauf
Access qui ne respecte pas complètement la norme SQL92) mais que tu dois
utiliser le caractère % à la place.
Pour info tu oublies de déclarer req , donc : Dim req as String mais la
remarque n'est peut-être pas adaptée car j'ai pas le début de ta proc.

A+
Eric



"Yves" @edtnps89:

> Bonjour à tous,
>
> Voici mon code
>
> If DB.State = adStateClosed Then
> DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
> strCheminBase & strNomBase
> End If
>
> Dim R As New ADODB.Recordset
> Dim RTmp As New ADODB.Recordset
>
> Req = "SELECT [Journalier Princ].* FROM [Journalier Princ] "
> Req = Req & "Where ((([Journalier Princ].Requérant) Like 'Y_*'))"
>
> R.Open Req, DB, adOpenStatic, adLockOptimistic
> sbrAnalyse.PanelText(1) = "Nombre d'enregistrements trouvés :" +
> str(Trim(R.RecordCount))
>
>
> If R.RecordCount > 500 Then
> .....
>
>



Antoine Dinimant
Le #14711561
Microsoft.Jet.OLEDB.4.0 = Access 2000.

Tu nous montres ton code, mais tu ne nous dis pas ce qui ne marche pas...

d'expérience, .recordcount sur une base Access reste souvent coincé à
-1, jusqu'à ce qu'on fasse un .movelast, et encore !

Eric a écrit:
Bonsoir Yves

As tu testé :
req= req & "Where ((([Journalier Princ].Requérant) Like 'Y_%'))"

Je crois que tu ne peux pas utiliser le caractère * en sql standard (sauf
Access qui ne respecte pas complètement la norme SQL92) mais que tu dois
utiliser le caractère % à la place.
Pour info tu oublies de déclarer req , donc : Dim req as String mais la
remarque n'est peut-être pas adaptée car j'ai pas le début de ta proc.

A+
Eric



"Yves" @edtnps89:


Bonjour à tous,

Voici mon code

If DB.State = adStateClosed Then
DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
strCheminBase & strNomBase
End If

Dim R As New ADODB.Recordset
Dim RTmp As New ADODB.Recordset

Req = "SELECT [Journalier Princ].* FROM [Journalier Princ] "
Req = Req & "Where ((([Journalier Princ].Requérant) Like 'Y_*'))"

R.Open Req, DB, adOpenStatic, adLockOptimistic
sbrAnalyse.PanelText(1) = "Nombre d'enregistrements trouvés :" +
str(Trim(R.RecordCount))


If R.RecordCount > 500 Then
.....








Eric
Le #14711531
Bonsoir Antoine

Antoine Dinimant
Tu nous montres ton code, mais tu ne nous dis pas ce qui ne marche
pas...



Si si la cause etait inscrite dans le sujet du post ;-)

d'expérience, .recordcount sur une base Access reste souvent coincé à
-1, jusqu'à ce qu'on fasse un .movelast, et encore !



Ta remarque à propos de .RecordCount est très juste car sous Access si on
n'a pas lu (parcourru) le recordset, à l'ouverture la propriété RecordCount
renvoie -1, d'où la nécessité de faire un .MoveLast pour récupérer le nb
d'enregistrements pour mettre derriere un .MoveFirst si on veut afficher le
jeu.(assez lourd ...)

A+
Eric
Antoine Dinimant
Le #14711051
> Si si la cause etait inscrite dans le sujet du post ;-)



bah non. 'LIKE ne fonctionne pas', ça peut vouloir dire soit qu'il
provoque une erreur, soit qu'il ne filtre pas, soit qu'il filtre trop !


d'expérience, .recordcount sur une base Access reste souvent coincé à
-1, jusqu'à ce qu'on fasse un .movelast, et encore !




Ta remarque à propos de .RecordCount est très juste car sous Access si on
n'a pas lu (parcourru) le recordset, à l'ouverture la propriété RecordCount
renvoie -1, d'où la nécessité de faire un .MoveLast pour récupérer le nb
d'enregistrements pour mettre derriere un .MoveFirst si on veut afficher le
jeu.(assez lourd ...)



yep !
Publicité
Poster une réponse
Anonyme