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

Fermé
Tgm45 Messages postés 24 Date d'inscription lundi 1 août 2022 Statut Membre Dernière intervention 2 novembre 2022 - 2 nov. 2022 à 14:44
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 - 2 nov. 2022 à 16:10

Bonjour,

Je rencontre l"'erreur d'exécution 3061: trop peu de paramètres.1 attendu."

Mon code sert à mettre le contenu d'une requête dans un Excel à partir d'une ligne donner. Après plusieurs recherches pour comprendre cette erreur et différents test, je n'ai pas réussi à corriger le problème. Ma requête me sort bien les matériels demander.

J'ai tester une notre variante pour contourner le problème (la première ligner Set rec qui est en commentaire) et la je me retrouve avec "l'erreur d'exécution 3450, erreur de syntaxe dans la requête. La clause de la requête est incomplète." J'ai essayé de corriger sa en modifiant certains éléments de la ligne mais rien n'y fait.

Je commence à être à cours d'idée. Si à une solution je suis preneur, merci d'avance.

Voici le code :

Private Sub Commande120_Click()

 

Dim xlApp As Excel.Application

Dim wbk As Excel.Workbook

Dim sht As Excel.Worksheet

Dim I As Long, J As Long

Dim rec As Recordset

 

'Set rec = CurrentDb.OpenRecordset("SELECT '[Tracabilite].[Clé_outil], [Tracabilite].[NomOperateur], [Tracabilite].[Support], [Tracabilite].[WPWO], [Tracabilite].[Observation]' FROM 'Tracabilite' WHERE '(Tracabilite.Clé_outil)' Like '[Formulaires]![Menu principal Traca]![Texte124]';", dbOpenSnapshot)

 

Set rec = CurrentDb.OpenRecordset("ImpTraca", dbOpenSnapshot)

 

' Créer un objet Excel

Set xlApp = CreateObject("Excel.Application")


With xlApp

   ' Rendre Excel visible

   .Visible = True


   ' Créer un nouveau classeur

   Set wbk = .Workbooks.Open("U:\Prive\ESTA\COMMUN\SuivMat\A400M\Suivi Outillage A400M\Programme\TracabiliteTGM.xlsx")

  

   ' Instancier la feuille active dans le classeur

   Set sht = wbk.ActiveSheet

  

   ' Ecrire quelques valeurs

   With sht

       .Range("B2").Value = Me.Modifiable118.Column(0)

       .Range("B3").Value = Me.Modifiable118.Column(3)

       .Range("E3").Value = Me.Modifiable118.Column(2)

       .Range("B4").Value = Me.Modifiable119.Column(0)

       .Range("E4").Value = Me.Texte123.Value

   End With

  

I = 6

Do While Not rec.EOF

For J = 0 To rec.Fields.Count - 1

  

If rec.Fields(J).Type = dbText Then

sht.Cells(I, J + 1) = "'" & rec.Fields(J)

Else

sht.Cells(I, J + 1) = rec.Fields(J)

End If

 

Next J

I = I + 1

rec.MoveNext

Loop

 

'   ' Sauvegarder et fermer le classeur

'   wbk.SaveAs "C:Mes documentstest.xls"

'   wbk.Close

  

'   ' Quitter Excel

'   .Quit

End With


' Libérer les variables objet

rec.Close

Set sht = Nothing

Set wbk = Nothing

Set xlApp = Nothing

Set rec = Nothing

 

End Sub

4 réponses

yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
2 nov. 2022 à 15:05

bonjour,

Si tu as une erreur 3061 en ligne 17, essaie d'exécuter la requête en dehors du VBA, cela te donnera une explication plus claire.

C'est quoi, ImpTraca?

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
2 nov. 2022 à 15:10

Il me semble que ton utilisation des apostrophes est incorrecte en ligne 17.

0
Tgm45 Messages postés 24 Date d'inscription lundi 1 août 2022 Statut Membre Dernière intervention 2 novembre 2022
2 nov. 2022 à 15:24

ImpTraca est le nom de ma requête.

J'ai essayé différentes façons pour placer mes marqueurs en ligne 17 mais la même erreur persiste. Quand je lance ma requête seul, il m'affiche le même problème

Ma requête seul s'exécute nickel avec sa :

SELECT Tracabilite.NTraca, Tracabilite.Clé_outil, Tracabilite.NomOperateur, Tracabilite.Support, Tracabilite.WPWO, Tracabilite.Observation

FROM Tracabilite

WHERE (((Tracabilite.Clé_outil) Like [Formulaires]![Menu principal Traca]![Texte124]));

 

Mais quand je copie colle ma requête dans ma ligne 17, j'ai l'erreur 3061 qui apparaît. Pourtant ma requête seul fait le taff nickel

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
2 nov. 2022 à 15:27

"Quand je lance ma requête seul, il m'affiche le même problème" et puis "Ma requête seul s'exécute nickel", bizarre, non?

La requête que tu montres en #3 ne correspond pas au contenu de la ligne 17.

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
2 nov. 2022 à 15:31

Teste aussi sans le WHERE, pour vérifier si c'est cette partie qui pose problème.

0
Tgm45 Messages postés 24 Date d'inscription lundi 1 août 2022 Statut Membre Dernière intervention 2 novembre 2022 > yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024
2 nov. 2022 à 15:33

L'erreur 3450 persiste

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477 > Tgm45 Messages postés 24 Date d'inscription lundi 1 août 2022 Statut Membre Dernière intervention 2 novembre 2022
2 nov. 2022 à 15:39

Montre précisément ce que tu as testé, et le résultat obtenu.

0
Tgm45 Messages postés 24 Date d'inscription lundi 1 août 2022 Statut Membre Dernière intervention 2 novembre 2022
2 nov. 2022 à 15:31

Ma requête en #3 est ma requête que j'avais au début et qui me créer l'erreur 3061. J'ai donc essayé de l'adapter en ligne 17 pour contourner mon erreur mais du coup j'ai l'erreur 3450 qui se manifeste. J'ai essayé le maximum d'orthographe mais rien y fait.

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
2 nov. 2022 à 15:37

Montre le code VBA que tu testes avec la requête brute, sans manipulation.

As-tu testé hors VBA la requête que tu présentes au début:

SELECT '[Tracabilite].[Clé_outil], [Tracabilite].[NomOperateur], 
[Tracabilite].[Support], [Tracabilite].[WPWO], [Tracabilite].[Observation]' 
FROM 'Tracabilite' 
WHERE '(Tracabilite.Clé_outil)' Like '[Formulaires]![Menu principal Traca]![Texte124]';

A force de tout changer tout le temps, difficile pour nous de suivre ce que tu fais et ce que tu testes.  Essaie de t'organiser, et de nous présenter des faits, avec ce que tu testes et le résultat que tu obtiens.

0
Tgm45 Messages postés 24 Date d'inscription lundi 1 août 2022 Statut Membre Dernière intervention 2 novembre 2022
2 nov. 2022 à 15:52

Mon code vba est celui que j'ai donné au début, sans la ligne 17. Ce code est censé me récupérer le contenu de ma requête ImpTraca qui est celle donnée en #3. La requête seul me sort bien se que je lui demande. Mais quand je mui demande de me la sortir via mon code vba en #1, j'ai l'erreur 3061 qui apparaît.

J'ai donc cherché à quoi elle correspondait, et j'ai remarqué que certaines personnes avaient le même soucis. J'ai donc essayé d'adapter par rapport à ma requête avec se que les personnes ont réussi à faire sur différents forums. Sa ma donc donné la ligne 17. J'ai essayé avec et sans les apostrophes, en découpant la requête avec des &. Mais rien n'y fait. Le seul avantage c'est que l'erreur 3061 à disparue mais l'erreur 3450 est apparu. J'ai donc une erreur de syntaxe dans ma requête. J'ai copié collé celle-ci dans un onglet sql pour voir si il me préciser l'endroit de l'erreur mais là aussi il ma afficher l'erreur 3450 sans me préciser l'endroit où se trouve l'erreur.

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
2 nov. 2022 à 16:10

Tu nous a montré une requête SQL en #3, en indiquant qu'elle s'exécute nickel.  Tu ne nous a pas montré de code VBA avec cette même requête.

Tu mentionnes en #10 une requête SQL qui donne l'erreur 3450, et tu ne nous la montres pas.

Quand tu testes en VBA, le formulaire "Menu principal Traca" est bien ouvert et accessible?  As-tu testé sans la clause WHERE, comme suggéré en #5?

0