à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'ai
pas défini la valeur de la variable "CritereCodeProduct" et elle est donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur est
de type "String" ou soit la valeur sans
l'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à la
fonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne de
caractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut être
te permettre d'appeler la fonction mais peut
être que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" a écrit dans le message de
news:c8o4rf$98n$
Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'ai
pas défini la valeur de la variable "CritereCodeProduct" et elle est donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur est
de type "String" ou soit la valeur sans
l'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à la
fonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne de
caractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut être
te permettre d'appeler la fonction mais peut
être que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" <francisco@inconnu.fr> a écrit dans le message de
news:c8o4rf$98n$1@news-reader4.wanadoo.fr...
Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'ai
pas défini la valeur de la variable "CritereCodeProduct" et elle est donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur est
de type "String" ou soit la valeur sans
l'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à la
fonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne de
caractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut être
te permettre d'appeler la fonction mais peut
être que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" a écrit dans le message de
news:c8o4rf$98n$
Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
Merci MichDenis avec ByVal cela marche à merveille mais j'ai encore une
erreur qui n'a rien à voir avec ByVal pour cette raison execuse moi de te
solliciter encore une fois.Au niveau de mon second recordset au niveau de
ALIMENTATION LIBELLE CODE PRODUCT Sheets("Feuil1").Range("B" & i).Value
rst1!LibelleCodeProduct je suis confronté à l'erreur d'execution suivante
impossible de trouver l'object dans la collection correspondant à la
reference ordinale demandé. Qu'est ce que cela veut dire ? Est ce que tu
sais d'ou peut venir mon erreur ?
En tout cas un grand merci pour toutes dtes explications et execuse moi de
te solliciter encore une fois mais j'ai tellement envie que cela marche
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst1 As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
'à ouvrir une seule fois
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
'------------------------------------------------------------
'Alimentation CODEPRODUCT
'------------------------------------------------------------
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
'-----------------------------------------
'ALIMENTATION DE LIBELLE CODE PRODUCT
'-----------------------------------------
rst1.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("B").Clear
Range("B4") = "Libellé"
Range("B4").Font.Bold = True
i = 4
While Not rst1.EOF
i = i + 1
Sheets("Feuil1").Range("B" & i).Value = rst1!LibelleCodeProduct
rst1.MoveNext
Wend
rst1.Close
Set rst1 = Nothing
End Sub
"michdenis" a écrit dans le message de
news:eI$à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'aipas défini la valeur de la variable "CritereCodeProduct" et elle est
donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur
est
de type "String" ou soit la valeur sansl'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à lafonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne decaractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut
être
te permettre d'appeler la fonction mais peutêtre que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" a écrit dans le message de
news:c8o4rf$98n$Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
Merci MichDenis avec ByVal cela marche à merveille mais j'ai encore une
erreur qui n'a rien à voir avec ByVal pour cette raison execuse moi de te
solliciter encore une fois.Au niveau de mon second recordset au niveau de
ALIMENTATION LIBELLE CODE PRODUCT Sheets("Feuil1").Range("B" & i).Value
rst1!LibelleCodeProduct je suis confronté à l'erreur d'execution suivante
impossible de trouver l'object dans la collection correspondant à la
reference ordinale demandé. Qu'est ce que cela veut dire ? Est ce que tu
sais d'ou peut venir mon erreur ?
En tout cas un grand merci pour toutes dtes explications et execuse moi de
te solliciter encore une fois mais j'ai tellement envie que cela marche
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst1 As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
'à ouvrir une seule fois
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
'------------------------------------------------------------
'Alimentation CODEPRODUCT
'------------------------------------------------------------
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
'-----------------------------------------
'ALIMENTATION DE LIBELLE CODE PRODUCT
'-----------------------------------------
rst1.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("B").Clear
Range("B4") = "Libellé"
Range("B4").Font.Bold = True
i = 4
While Not rst1.EOF
i = i + 1
Sheets("Feuil1").Range("B" & i).Value = rst1!LibelleCodeProduct
rst1.MoveNext
Wend
rst1.Close
Set rst1 = Nothing
End Sub
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:eI$YO2CQEHA.2520@TK2MSFTNGP11.phx.gbl...
à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'ai
pas défini la valeur de la variable "CritereCodeProduct" et elle est
donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur
est
de type "String" ou soit la valeur sans
l'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à la
fonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne de
caractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut
être
te permettre d'appeler la fonction mais peut
être que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" <francisco@inconnu.fr> a écrit dans le message de
news:c8o4rf$98n$1@news-reader4.wanadoo.fr...
Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
Merci MichDenis avec ByVal cela marche à merveille mais j'ai encore une
erreur qui n'a rien à voir avec ByVal pour cette raison execuse moi de te
solliciter encore une fois.Au niveau de mon second recordset au niveau de
ALIMENTATION LIBELLE CODE PRODUCT Sheets("Feuil1").Range("B" & i).Value
rst1!LibelleCodeProduct je suis confronté à l'erreur d'execution suivante
impossible de trouver l'object dans la collection correspondant à la
reference ordinale demandé. Qu'est ce que cela veut dire ? Est ce que tu
sais d'ou peut venir mon erreur ?
En tout cas un grand merci pour toutes dtes explications et execuse moi de
te solliciter encore une fois mais j'ai tellement envie que cela marche
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst1 As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
'à ouvrir une seule fois
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
'------------------------------------------------------------
'Alimentation CODEPRODUCT
'------------------------------------------------------------
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
'-----------------------------------------
'ALIMENTATION DE LIBELLE CODE PRODUCT
'-----------------------------------------
rst1.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("B").Clear
Range("B4") = "Libellé"
Range("B4").Font.Bold = True
i = 4
While Not rst1.EOF
i = i + 1
Sheets("Feuil1").Range("B" & i).Value = rst1!LibelleCodeProduct
rst1.MoveNext
Wend
rst1.Close
Set rst1 = Nothing
End Sub
"michdenis" a écrit dans le message de
news:eI$à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'aipas défini la valeur de la variable "CritereCodeProduct" et elle est
donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur
est
de type "String" ou soit la valeur sansl'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à lafonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne decaractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut
être
te permettre d'appeler la fonction mais peutêtre que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" a écrit dans le message de
news:c8o4rf$98n$Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'ai
pas défini la valeur de la variable "CritereCodeProduct" et elle est donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur est
de type "String" ou soit la valeur sans
l'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à la
fonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne de
caractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut être
te permettre d'appeler la fonction mais peut
être que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" a écrit dans le message de
news:c8o4rf$98n$
Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'ai
pas défini la valeur de la variable "CritereCodeProduct" et elle est donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur est
de type "String" ou soit la valeur sans
l'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à la
fonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne de
caractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut être
te permettre d'appeler la fonction mais peut
être que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" <francisco@inconnu.fr> a écrit dans le message de
news:c8o4rf$98n$1@news-reader4.wanadoo.fr...
Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub
à titre de complément :
Il soit y avoir quelque chose qui cloche dans la façon d'appeler la
fonction.
Voici 2 exemples :
A ) Cette ligne de code va fonctionner très bien
sans besoin d'ajouter "ByVal" à la déclaration de la fonction
'----------------------------------
Dim CritereCodeProduct as string
CritereCodeProduct = "toto"
MsgBox Rsql(CritereCodeProduct)
'----------------------------------
B ) Si tu appelles ta fonctionne de cette façon, tu vas avoir besoin de
l'expression "ByVal" car avant l'appel, je n'ai
pas défini la valeur de la variable "CritereCodeProduct" et elle est donc
vide
MsgBox Rsql(CritereCodeProduct)
L'argument de la fonction attend une soit une variable dont la valeur est
de type "String" ou soit la valeur sans
l'usage d'une variable comme ceci
MsgBox Rsql("toto")
Si tu utilises une variable pour définir l'argument, cette variable doit
avoir été renseigné avant de la passer à la
fonction comme dans mon premier exemple...sinon comme dans mon dernier
exemple... tu dois passer une "chaîne de
caractère" comme argument de la fonction et cette chaîne doit être entre
guillemet.
Dans le cas qui te concerne, ma suggestion d'ajouter "ByVal" va peut être
te permettre d'appeler la fonction mais peut
être que le résultat attendu ne sera pas du rendez-vous.
Salutations!
Bonjour Francisco,
J'ai seulement ajouté "ByVal" dans la déclaration de la fonction.
Quel est la vaeur de ton critère "CritereCodeProduct" ?
Public Function Rsql(ByVal CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
Salutations!
"francisco" a écrit dans le message de
news:c8o4rf$98n$
Bonjour tout le monde
J'ai déclaré une requête dans un module standard;
et un module ModExecuterRequete ou j'execute la requête. J'ai l'erreur
suivante erreur de compilation Type d'argument Byref incompatible à ce
niveau
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Merci pour vos reponses Amicalement Francisco
-------------------------------------
ModDeclarationVariale
------------------------------------
Public Function Rsql(CritereCodeProduct As String)
Rsql = "Select Ventes1999.CodeProduct FROM Ventes1999 WHERE
((Ventes1999.LibelleCodeProduct)= '" & CritereCodeProduct & "') ;"
End Function
----------------------------------------
ModExecuterRequete
----------------------------------------
Sub EtablirConnexion(OuvrirFichier)
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim i As Integer
Dim CritereCodeProduct As String
CritereCodeProduct = FrmSaisie.CboListeCodeProduct.Value
'----------------------------------------------------
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source > c:psm_analyse_formulaire.mdb ;"
rst.Open Rsql(CritereCodeProduct), cnt, adOpenStatic
Columns("A").Clear
Range("A4") = "Type de produit"
Range("A4").Font.Bold = True
i = 4
While Not rst.EOF
i = i + 1
Sheets("Feuil1").Range("A" & i).Value = rst!CodeProduct
rst.MoveNext
Wend
rst.Close
Set rst = Nothing
End Sub