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

Erreur d'execution '3061'

4 réponses
Avatar
PatCatNats
Bonjour,

J'ai un message d'erreur sur une requête qui fontionne très bien en SQL mais
pas quand je la met dans du code VBA :

Erreur d'execution '3061'
Trop peu de paramètres. 1 attendu.

Quelqu'un peut me dire ce qui ne va pas ?

Merci

Patrice

Dim StrSql As String

StrSql = "INSERT " & _
"INTO T_Son_Morceau_Split_Temp ( NumAlbum, Valeur1, Valeur2,
Valeur3, Extension ) " & _
"SELECT T_Son_Morceau.NumAlbum,
Left(NomMorceau,InStr(NomMorceau,Me!Separ)-1) " & _
"AS Valeur1,
IIf(NombreOccurences(NomMorceau,Me!Separ)=2,Left(Mid(NomMorceau,InStr(NomMor
ceau,Me!Separ)+Len(Me!Separ)),Len(Left(NomMorceau,InStr(Mid(NomMorceau,InStr
([NomMorceau],Me!Separ)+Len(Me!Separ)),Me!Separ)-1))),Left(Mid(NomMorceau,In
StrRev(NomMorceau,Me!Separ)+Len(Me!Separ)),InStr(Mid(NomMorceau,InStrRev(Nom
Morceau,Me!Separ)+Len(Me!Separ)),Me!Separ)-1)) " & _
"AS Valeur2,
IIf(NombreOccurences(NomMorceau,Me!Separ)=2,Left(Mid(NomMorceau,InStrRev(Nom
Morceau,Me!Separ)+Len(Me!Separ)),InStr(Mid(NomMorceau,InStrRev(NomMorceau,Me
!Separ)+Len(Me!Separ)),'.')-1),'') " & _
"AS Valeur3, Mid(NomMorceau,InStrRev(NomMorceau,'.')+1) AS
Extension " & _
"FROM T_Son_Morceau;"
CurrentDb.Execute StrSql

4 réponses

Avatar
Daniel Carollo
Bonjour Patrice!

Jet n'a aucune idee de ce qu'est Me!Separ, d'ou la question...

J'espere que ca vous met sur la piste.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...


"PatCatNats" wrote in message
news:coc59u$j28$
Bonjour,

J'ai un message d'erreur sur une requête qui fontionne très bien en SQL
mais

pas quand je la met dans du code VBA :

Erreur d'execution '3061'
Trop peu de paramètres. 1 attendu.

Quelqu'un peut me dire ce qui ne va pas ?

Merci

Patrice

Dim StrSql As String

StrSql = "INSERT " & _
"INTO T_Son_Morceau_Split_Temp ( NumAlbum, Valeur1, Valeur2,
Valeur3, Extension ) " & _
"SELECT T_Son_Morceau.NumAlbum,
Left(NomMorceau,InStr(NomMorceau,Me!Separ)-1) " & _
"AS Valeur1,

IIf(NombreOccurences(NomMorceau,Me!Separ)=2,Left(Mid(NomMorceau,InStr(NomMor


ceau,Me!Separ)+Len(Me!Separ)),Len(Left(NomMorceau,InStr(Mid(NomMorceau,InStr


([NomMorceau],Me!Separ)+Len(Me!Separ)),Me!Separ)-1))),Left(Mid(NomMorceau,In


StrRev(NomMorceau,Me!Separ)+Len(Me!Separ)),InStr(Mid(NomMorceau,InStrRev(Nom

Morceau,Me!Separ)+Len(Me!Separ)),Me!Separ)-1)) " & _
"AS Valeur2,

IIf(NombreOccurences(NomMorceau,Me!Separ)=2,Left(Mid(NomMorceau,InStrRev(Nom


Morceau,Me!Separ)+Len(Me!Separ)),InStr(Mid(NomMorceau,InStrRev(NomMorceau,Me

!Separ)+Len(Me!Separ)),'.')-1),'') " & _
"AS Valeur3, Mid(NomMorceau,InStrRev(NomMorceau,'.')+1) AS
Extension " & _
"FROM T_Son_Morceau;"
CurrentDb.Execute StrSql





Avatar
PatCatNats
Bonjour et merci,

J'ai remplacé Me!Separ par le chemin complet, mais celà ne change rien :
[Forms]![F_Son_Album]![Separ]

Patrice

"Daniel Carollo" a écrit dans le
message de news:
Bonjour Patrice!

Jet n'a aucune idee de ce qu'est Me!Separ, d'ou la question...

J'espere que ca vous met sur la piste.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...


"PatCatNats" wrote in message
news:coc59u$j28$
Bonjour,

J'ai un message d'erreur sur une requête qui fontionne très bien en SQL
mais

pas quand je la met dans du code VBA :

Erreur d'execution '3061'
Trop peu de paramètres. 1 attendu.

Quelqu'un peut me dire ce qui ne va pas ?

Merci

Patrice

Dim StrSql As String

StrSql = "INSERT " & _
"INTO T_Son_Morceau_Split_Temp ( NumAlbum, Valeur1, Valeur2,
Valeur3, Extension ) " & _
"SELECT T_Son_Morceau.NumAlbum,
Left(NomMorceau,InStr(NomMorceau,Me!Separ)-1) " & _
"AS Valeur1,



IIf(NombreOccurences(NomMorceau,Me!Separ)=2,Left(Mid(NomMorceau,InStr(NomMor




ceau,Me!Separ)+Len(Me!Separ)),Len(Left(NomMorceau,InStr(Mid(NomMorceau,InStr




([NomMorceau],Me!Separ)+Len(Me!Separ)),Me!Separ)-1))),Left(Mid(NomMorceau,In




StrRev(NomMorceau,Me!Separ)+Len(Me!Separ)),InStr(Mid(NomMorceau,InStrRev(Nom

Morceau,Me!Separ)+Len(Me!Separ)),Me!Separ)-1)) " & _
"AS Valeur2,



IIf(NombreOccurences(NomMorceau,Me!Separ)=2,Left(Mid(NomMorceau,InStrRev(Nom




Morceau,Me!Separ)+Len(Me!Separ)),InStr(Mid(NomMorceau,InStrRev(NomMorceau,Me

!Separ)+Len(Me!Separ)),'.')-1),'') " & _
"AS Valeur3, Mid(NomMorceau,InStrRev(NomMorceau,'.')+1) AS
Extension " & _
"FROM T_Son_Morceau;"
CurrentDb.Execute StrSql









Avatar
Daniel Carollo
Bonsoir Patrice!

Il doit y avoir quelque chose d'autre dans l'infame melange de Mid, Len et
autres fonctions qui n'est pas reconnu en tant que nom de champ, ou tout du
moins d'objet que Jet sait evaluer.

Le but de ce salmigondis est de faire quoi?

J'ai bien peur que vous essayiez de faire quelque chose de simple en faisant
complique...


--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"PatCatNats" wrote in message
news:cocjsn$6tn$
Bonjour et merci,

J'ai remplacé Me!Separ par le chemin complet, mais celà ne change rien :
[Forms]![F_Son_Album]![Separ]

Patrice


Avatar
PatCatNats
Re,

En fait j'ai eu la réponse :
Il fallait :
DoCmd.RunSQL StrSql
et non :
CurrentDb.Execute StrSql

Je sais que ma requête fait négligé, mais je n'ai rien trouvé d'autre (et çà
marche...)

Explication de texte :
Je construit une médiathèque avec entre autres une partie sonothèque.

Chaque personne a sa façon de nommer ses fichiers :

Auteur - 01 - Titre morceau.mp3
01 - Auteur - Titre morceau.mp3
01 - Titre morceau - Auteur.mp3
01 - Titre morceau.mp3
Auteur - 01.mp3

Je considère :

Un séparateur (en l'occurence " - ") qui peut être : " - " ou "-" ou " _ "
ou "_"
Une Valeur1 (1ère valeur avant le 1er séparateur)
Une Valeur 2 (Valeur encadrée par les séparateurs)
Une Valeur 3 (Valeur après le 2ème séparateur)
Une extension

J'ai un formulaire qui possède des liste modifiables [LmVal1], [LmVal2] et
[LmVal3] qui emandent à l'opérateur de choisir entre parmis les 3 valeurs :
"Numéro";"Auteur";"Titre"
Ex :
[LmVal1] [LmVal2] [LmVal3]
Numéro Auteur Titre
ou
[LmVal1] [LmVal2] [LmVal3]
Auteur Numéro Titre
ou
Etc...

et un contrôle [OrdreConca] qui concatene [LmVal1]&[LmVal2]&[LmVal3]
et un contrôle [Separ] qui permet d'indiquer le séparateur untilisé.


Suit une série de requêtes ajout avec Select Case suivant le nombre de
Séparateurs (grâce à un module qui calcule le nombre d'occurences) et
l'ordre des Valeurs pour alimenter les champs
[NumAlbum]
[Auteur]
[Titre]
[Extension]
...de ma table [T_Son_Morceau_Split]

Bref l'affaire n'est pas simple...

Merci de ton intérêt

Patrice


"Daniel Carollo" a écrit dans le
message de news:%
Bonsoir Patrice!

Il doit y avoir quelque chose d'autre dans l'infame melange de Mid, Len et
autres fonctions qui n'est pas reconnu en tant que nom de champ, ou tout
du

moins d'objet que Jet sait evaluer.

Le but de ce salmigondis est de faire quoi?

J'ai bien peur que vous essayiez de faire quelque chose de simple en
faisant

complique...


--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"PatCatNats" wrote in message
news:cocjsn$6tn$
Bonjour et merci,

J'ai remplacé Me!Separ par le chemin complet, mais celà ne change rien :
[Forms]![F_Son_Album]![Separ]

Patrice