Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur 3061 - trop peu de paramètres - 1 attendu.

12 réponses
Avatar
Guy FALESSE
Bonjour à tous,

Je vais devenir chèvre, je me demande si j'y arriverai un jour à écrire un
SQL sans avoir d'erreur.
Tout est dans le titre :-(

Dim chCritères As String, monSQL As String, maBD As Database
Dim rst As Recordset, leNbre As Long, rep As String, unCH As Variant
Set maBD = CurrentDb
line1:
chCritères = InputBox("Tapez les derniers chiffres" & vbLf _
& "du n° de chassis à retrouver.", "Recherche par n° de chassis")
If chCritères = "" Then
DoCmd.Close acForm, "frmRechercheChassis"
Exit Sub
End If
unCH = Len(chCritères)

monSQL = "SELECT DISTINCT Véhicule.nom, Véhicule.Marque, Véhicule.type,
Véhicule.[N°Chassis] " _
& "FROM Véhicule " _
& "WHERE RIGHT(Véhicule.[N°Chassis]," & unCH & ") LIKE '" &
chCritères & "';"

Set rst = maBD.OpenRecordset(monSQL)

Un grand merci d'avance pour votre aide.

Guy FALESSE

2 réponses

1 2
Avatar
Jessy Sempere
Bonjour

Bon, j'ai relu le premier post et je remarque que tu as déclaré :
dim unCH as variant

Je ne sais pas, mais vu que tu t'en sert dans ton SQL pour la fonction
Right, essais peut-être :

Dim unCH as integer
ou
Dim unCH as long

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Salut Éric,
Merci pour ta réponse,
Je vais regarder à cela, tout à l'heure, maintenant,il faut que je parte :-)
@+
Guy FALESSE


"Eric" a écrit dans le message de news:

Bonjour Guy,

Fais un debug.print monSQL avant l'ouverture de ton recordset pour voir le
contenu de ta chaine SQL.
La construction me parait correcte à l'espace de trop après le Right mais
ça ne devrait pas avoir d'influence.
Au pire, copies le contenu de monsql qui est affiché dans la fenêtre
Exécution dans la fenêtre sql d'une requete vierge et affiches le résultat
de la requête. Il sera peut-être plus simple de visualiser l'erreur.

Salut Eric et Jessy,
Merci de vos réponses :-)
Cela n'a rien changé du tout, toujours la même erreur.
Même en faisant cela:
monSQL = "SELECT * From Véhicule WHERE RIGHT (Véhicule.[N°chassis]," &
unCH & ") = '" & chCritères & "';"
ça ne change rien :-(
@+



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr








Avatar
Guy FALESSE
Salut Jessy et Éric,
La solution avait déjà été donnée par vous, en fait, il s'agissait d'une
faute de frappe N° chassis au lieu de N°chassis, donc, il y avait un espace
entre N° et chassis.
Dans les autres tables qui avaient besoin de ce n° de chassis je les ai
appelées NumChassis pour éviter ce genre de désagrément qui em...tout le
monde, surtout ceux qui cherchent aussi.
Mais, cette appellation a été créée il y a dix ans et j'ai peur d'avoir des
problèmes plus graves si je change cette dénomination.
Encore merci à tous ceux qui ont cherché.
@+

Guy FALESSE


"Jessy Sempere" a écrit dans le message de news:

Bonjour

Bon, j'ai relu le premier post et je remarque que tu as déclaré :
dim unCH as variant

Je ne sais pas, mais vu que tu t'en sert dans ton SQL pour la fonction
Right, essais peut-être :

Dim unCH as integer
ou
Dim unCH as long

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Salut Éric,
Merci pour ta réponse,
Je vais regarder à cela, tout à l'heure, maintenant,il faut que je parte
:-)
@+
Guy FALESSE


"Eric" a écrit dans le message de news:

Bonjour Guy,

Fais un debug.print monSQL avant l'ouverture de ton recordset pour voir
le
contenu de ta chaine SQL.
La construction me parait correcte à l'espace de trop après le Right
mais
ça ne devrait pas avoir d'influence.
Au pire, copies le contenu de monsql qui est affiché dans la fenêtre
Exécution dans la fenêtre sql d'une requete vierge et affiches le
résultat
de la requête. Il sera peut-être plus simple de visualiser l'erreur.

Salut Eric et Jessy,
Merci de vos réponses :-)
Cela n'a rien changé du tout, toujours la même erreur.
Même en faisant cela:
monSQL = "SELECT * From Véhicule WHERE RIGHT (Véhicule.[N°chassis]," &
unCH & ") = '" & chCritères & "';"
ça ne change rien :-(
@+



--
A+
Eric
http://www.mpfa.info/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr










1 2