OVH Cloud OVH Cloud

LIKE ne fonctionne pas

5 réponses
Avatar
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

5 réponses

Avatar
Eric
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" écrivait news:qpUhc.3354$mP2.2396
@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
.....




Avatar
Yves
Merci beaucoup ça marche


"Eric" a écrit dans le message de
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" écrivait news:qpUhc.3354$mP2.2396
@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
> .....
>
>



Avatar
Antoine Dinimant
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" écrivait news:qpUhc.3354$mP2.2396
@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
.....








Avatar
Eric
Bonsoir Antoine

Antoine Dinimant écrivait

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
Avatar
Antoine Dinimant
> 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 !