Vba access erreur 3061 trop peu de paramètre
Résolu
sf44
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
sf44 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
sf44 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit souci sur cette fonction que je veux intégrer dans une zone de texte pour calculer le mode d'une serie de donnée.
Elle fonctionne sur une requete avec beaucoup de donnée mais pas sur sa sous requete. Et ca retourne erreur 3061 trop peu de paramètre 3 attendu
Voici ce que j'ai fait :
Public Function CalculMode(strExpression As String, strDomaine As String) As Variant
'declaration variable
Dim strsql As String
Dim rst As DAO.Recordset
'affectation
strsql = "SELECT TOP 1 " & strExpression & " as mode FROM " & strDomaine & " GROUP BY " & strExpression & " ORDER BY Count(" & strExpression & ") DESC;"
Set rst = CurrentDb.OpenRecordset(strsql)
'affectation qu resultat de la fonction
If rst.RecordCount = 0 Then
CalculMode = "pas possible"
Else
CalculMode = rst("mode")
End If
'libération
rst.Close
Set rst = Nothing
End Function
Je ne parviens pas à trouver mon erreur qui est à priori sur la requete
Merci de votre aide
J'ai un petit souci sur cette fonction que je veux intégrer dans une zone de texte pour calculer le mode d'une serie de donnée.
Elle fonctionne sur une requete avec beaucoup de donnée mais pas sur sa sous requete. Et ca retourne erreur 3061 trop peu de paramètre 3 attendu
Voici ce que j'ai fait :
Public Function CalculMode(strExpression As String, strDomaine As String) As Variant
'declaration variable
Dim strsql As String
Dim rst As DAO.Recordset
'affectation
strsql = "SELECT TOP 1 " & strExpression & " as mode FROM " & strDomaine & " GROUP BY " & strExpression & " ORDER BY Count(" & strExpression & ") DESC;"
Set rst = CurrentDb.OpenRecordset(strsql)
'affectation qu resultat de la fonction
If rst.RecordCount = 0 Then
CalculMode = "pas possible"
Else
CalculMode = rst("mode")
End If
'libération
rst.Close
Set rst = Nothing
End Function
Je ne parviens pas à trouver mon erreur qui est à priori sur la requete
Merci de votre aide
A voir également:
- Vba access erreur 3061 trop peu de paramètre
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Parametre usine chromecast - Guide
- Paramètre de confidentialité - Guide
2 réponses
bonjour,
j'ai l'impression que mon problème provient des sous requete qui utilise des valeurs de control. VBA doit pas reconnaitre le truc [formulaire]!modifiable
il faut que j'utilise cela je pense mais une autre erreur apparait : erreur de compilation utlisation incorrecte du mot cle ME
Je ne comprend pas, pouvez-vous m'aider : 2 est ma requete
'declaration variable des controles
Dim strmodmov As String
Dim strmodit As String
Dim strmodsup As String
'affectation a partir des controles
strmodmov = Me.Modifiable2.Value
strmodit = Me.Modifiable9.Value
strmodsup = Me.Modifiable11.Value
'affectation
strsql = "SELECT TOP 1 " & strExpression & " as mode " & vbCrLf & _
"FROM " & strDomaine & " " & vbCrLf & _
"WHERE 2.[mov code]=" & strmodmov & " and 2.item='" & strmodit & "' and 2.[supplier no]='" & strmodsup & "'" & vbCrLf & _
"GROUP BY " & strExpression & "" & vbCrLf & _
"ORDER BY Count(" & strExpression & ") DESC;"
Set rst = CurrentDb.OpenRecordset(strsql)
j'ai l'impression que mon problème provient des sous requete qui utilise des valeurs de control. VBA doit pas reconnaitre le truc [formulaire]!modifiable
il faut que j'utilise cela je pense mais une autre erreur apparait : erreur de compilation utlisation incorrecte du mot cle ME
Je ne comprend pas, pouvez-vous m'aider : 2 est ma requete
'declaration variable des controles
Dim strmodmov As String
Dim strmodit As String
Dim strmodsup As String
'affectation a partir des controles
strmodmov = Me.Modifiable2.Value
strmodit = Me.Modifiable9.Value
strmodsup = Me.Modifiable11.Value
'affectation
strsql = "SELECT TOP 1 " & strExpression & " as mode " & vbCrLf & _
"FROM " & strDomaine & " " & vbCrLf & _
"WHERE 2.[mov code]=" & strmodmov & " and 2.item='" & strmodit & "' and 2.[supplier no]='" & strmodsup & "'" & vbCrLf & _
"GROUP BY " & strExpression & "" & vbCrLf & _
"ORDER BY Count(" & strExpression & ") DESC;"
Set rst = CurrentDb.OpenRecordset(strsql)