Dans une appli, je souhaite tester les droits d'un opérateur pour une
action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question.
J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String
Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')"
Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true
then.....
et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Bonjour,
Le message d'erreur que tu as fait penser à un problème de réference, as-tu
la référence à DAO de cochée ?
Arnaud
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:7645DEC4-0B41-45B9-BECA-27F14D4BAA1D@microsoft.com...
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une
action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un
booléen,
coché si l'opérateur a le droit à la fonction en question.
J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String
Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')"
Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true
then.....
et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" &
action &
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Gafish
Et ensuite il est vrai que ta ligne If rcdoperateur! & "[" & action &
"]" = -1 doit contenir une erreur.
Tu veux récupèrer le contenu d'un champ ? Si oui c'est rdcoperateur.Fields("TonChamp")
"Antoine" a écrit dans le message de news:
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question. J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" & opérateur & "')" Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Et ensuite il est vrai que ta ligne If rcdoperateur! & "[" & action &
"]" = -1
doit contenir une erreur.
Tu veux récupèrer le contenu d'un champ ?
Si oui c'est rdcoperateur.Fields("TonChamp")
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:7645DEC4-0B41-45B9-BECA-27F14D4BAA1D@microsoft.com...
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une
action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un
booléen,
coché si l'opérateur a le droit à la fonction en question.
J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String
Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')"
Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true
then.....
et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" &
action &
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Raymond [mvp]
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question. J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" & opérateur & "')" Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs:
If rcdoperateur("action") = -1 Then.........
ou
If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:7645DEC4-0B41-45B9-BECA-27F14D4BAA1D@microsoft.com...
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une
action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un
booléen,
coché si l'opérateur a le droit à la fonction en question.
J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String
Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')"
Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true
then.....
et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" &
action &
pour récupérer les champs du recordset tu dois opérer de la même façon pour tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question. J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" & opérateur & "')" Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) = true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Raymond [mvp]
.../... je n'ai pas vu que action était passé en paramètre, excuses If rcdoperateur(action) Then......... le champ action est bien dans la table ? ou où ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ?
.../...
je n'ai pas vu que action était passé en paramètre, excuses
If rcdoperateur(action) Then.........
le champ action est bien dans la table ? ou où ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:uvDWU6ojEHA.1656@TK2MSFTNGP09.phx.gbl...
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon
pour
tous les champs:
If rcdoperateur("action") = -1 Then.........
ou
If rcdoperateur("action") Then.........
.../... je n'ai pas vu que action était passé en paramètre, excuses If rcdoperateur(action) Then......... le champ action est bien dans la table ? ou où ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ?
Antoine
Lorsque je tape rcdoperateur(action), je récupère le message "Element non trouvé dans la collection"
..../... je n'ai pas vu que action était passé en paramètre, excuses If rcdoperateur(action) Then......... le champ action est bien dans la table ? ou où ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ?
Lorsque je tape rcdoperateur(action), je récupère le message "Element non
trouvé dans la collection"
..../...
je n'ai pas vu que action était passé en paramètre, excuses
If rcdoperateur(action) Then.........
le champ action est bien dans la table ? ou où ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:uvDWU6ojEHA.1656@TK2MSFTNGP09.phx.gbl...
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon
pour
tous les champs:
If rcdoperateur("action") = -1 Then.........
ou
If rcdoperateur("action") Then.........
Lorsque je tape rcdoperateur(action), je récupère le message "Element non trouvé dans la collection"
..../... je n'ai pas vu que action était passé en paramètre, excuses If rcdoperateur(action) Then......... le champ action est bien dans la table ? ou où ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ?
Gafish
Essaie alors avec le code suivant : If rdcoperateur.fields(action) = .... comme action est une variable contenant le nom de ton champ
"Antoine" a écrit dans le message de news:
rcdoperateur("action") ne marche pas. Le nom du champ de la table n'est pas "action", c'est "forçage". Cependant dans ma table j'ai plusieurs champs qui correspondent à des droits différents
(ex : forçage, annulation, qualité).
Pour n'écrire qu'une seule fonction de test des droits je l'appelle ainsi :
if test_droits(opeactif,Forçage) = true then....., dans lequel je peux remplacer "Forçage" par "Annulation" ou "Qualité"....
Avec ce code :If rcdoperateur! & "[" & action & "]" = -1 je veux tester le droit de l'opérateur pour la fonction précise.
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question. J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')" Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Essaie alors avec le code suivant :
If rdcoperateur.fields(action) = ....
comme action est une variable contenant le nom de ton champ
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:3C60E65F-7921-4C5D-8BB4-D95F83510C3C@microsoft.com...
rcdoperateur("action") ne marche pas.
Le nom du champ de la table n'est pas "action", c'est "forçage". Cependant
dans ma table j'ai plusieurs champs qui correspondent à des droits
différents
(ex : forçage, annulation, qualité).
Pour n'écrire qu'une seule fonction de test des droits je l'appelle ainsi
:
if test_droits(opeactif,Forçage) = true then....., dans lequel je peux
remplacer "Forçage" par "Annulation" ou "Qualité"....
Avec ce code :If rcdoperateur! & "[" & action & "]" = -1 je veux tester le
droit de l'opérateur pour la fonction précise.
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon
pour
tous les champs:
If rcdoperateur("action") = -1 Then.........
ou
If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:7645DEC4-0B41-45B9-BECA-27F14D4BAA1D@microsoft.com...
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une
action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un
booléen,
coché si l'opérateur a le droit à la fonction en question.
J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String
Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" &
Nom)='" &
opérateur & "')"
Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) true
then.....
et je reçois un message d'erreur rapport au type de données déclaré de
mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" &
action &
Essaie alors avec le code suivant : If rdcoperateur.fields(action) = .... comme action est une variable contenant le nom de ton champ
"Antoine" a écrit dans le message de news:
rcdoperateur("action") ne marche pas. Le nom du champ de la table n'est pas "action", c'est "forçage". Cependant dans ma table j'ai plusieurs champs qui correspondent à des droits différents
(ex : forçage, annulation, qualité).
Pour n'écrire qu'une seule fonction de test des droits je l'appelle ainsi :
if test_droits(opeactif,Forçage) = true then....., dans lequel je peux remplacer "Forçage" par "Annulation" ou "Qualité"....
Avec ce code :If rcdoperateur! & "[" & action & "]" = -1 je veux tester le droit de l'opérateur pour la fonction précise.
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question. J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')" Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Raymond [mvp]
si tu indiques rcdoperateur! & "[" & action & "]" = -1 c'est que tu veux lire le champ dont le nom est contenu dans action. si action n'est pas un champ, alors ? faut revoir les explications je crois, avec les champs et ce que tu veux faire mais sans code. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
rcdoperateur("action") ne marche pas. Le nom du champ de la table n'est pas "action", c'est "forçage". Cependant dans ma table j'ai plusieurs champs qui correspondent à des droits différents
(ex : forçage, annulation, qualité).
Pour n'écrire qu'une seule fonction de test des droits je l'appelle ainsi :
if test_droits(opeactif,Forçage) = true then....., dans lequel je peux remplacer "Forçage" par "Annulation" ou "Qualité"....
Avec ce code :If rcdoperateur! & "[" & action & "]" = -1 je veux tester le droit de l'opérateur pour la fonction précise.
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question. J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')" Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
si tu indiques
rcdoperateur! & "[" & action & "]" = -1
c'est que tu veux lire le champ dont le nom est contenu dans action. si
action n'est pas un champ, alors ? faut revoir les explications je crois,
avec les champs et ce que tu veux faire mais sans code.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:3C60E65F-7921-4C5D-8BB4-D95F83510C3C@microsoft.com...
rcdoperateur("action") ne marche pas.
Le nom du champ de la table n'est pas "action", c'est "forçage". Cependant
dans ma table j'ai plusieurs champs qui correspondent à des droits
différents
(ex : forçage, annulation, qualité).
Pour n'écrire qu'une seule fonction de test des droits je l'appelle ainsi
:
if test_droits(opeactif,Forçage) = true then....., dans lequel je peux
remplacer "Forçage" par "Annulation" ou "Qualité"....
Avec ce code :If rcdoperateur! & "[" & action & "]" = -1 je veux tester le
droit de l'opérateur pour la fonction précise.
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon
pour
tous les champs:
If rcdoperateur("action") = -1 Then.........
ou
If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:7645DEC4-0B41-45B9-BECA-27F14D4BAA1D@microsoft.com...
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une
action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un
booléen,
coché si l'opérateur a le droit à la fonction en question.
J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String
Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" &
Nom)='" &
opérateur & "')"
Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) true
then.....
et je reçois un message d'erreur rapport au type de données déclaré de
mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" &
action &
si tu indiques rcdoperateur! & "[" & action & "]" = -1 c'est que tu veux lire le champ dont le nom est contenu dans action. si action n'est pas un champ, alors ? faut revoir les explications je crois, avec les champs et ce que tu veux faire mais sans code. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
rcdoperateur("action") ne marche pas. Le nom du champ de la table n'est pas "action", c'est "forçage". Cependant dans ma table j'ai plusieurs champs qui correspondent à des droits différents
(ex : forçage, annulation, qualité).
Pour n'écrire qu'une seule fonction de test des droits je l'appelle ainsi :
if test_droits(opeactif,Forçage) = true then....., dans lequel je peux remplacer "Forçage" par "Annulation" ou "Qualité"....
Avec ce code :If rcdoperateur! & "[" & action & "]" = -1 je veux tester le droit de l'opérateur pour la fonction précise.
Bonjour.
pour récupérer les champs du recordset tu dois opérer de la même façon pour
tous les champs: If rcdoperateur("action") = -1 Then......... ou If rcdoperateur("action") Then.........
If rcdoperateur("Forçage") Then.........
le champ action est bien dans la table ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Rebonjour,
Dans une appli, je souhaite tester les droits d'un opérateur pour une action. Dans ma table "OPERATEUR" j'ai un champ "Forçage" qui est un booléen,
coché si l'opérateur a le droit à la fonction en question. J'ai donc écrit la fonction suivante :
Public Function test_droits(opérateur, action) As Boolean
Dim stroperateur As String Dim rcdoperateur As DAO.Recordset
stroperateur = "SELECT * FROM OPERATEUR WHERE ((Prénom & "" "" & Nom)='" &
opérateur & "')" Set rcdoperateur = CurrentDb.OpenRecordset(stroperateur)
J'appelle la fonction comme ceci : if test_droits(opeactif,Forçage) true then..... et je reçois un message d'erreur rapport au type de données déclaré de mon
recordset. N'y at'il pas une erreur dans : If rcdoperateur! & "[" & action &
"]" = -1
D'avance Merci
Raymond [mvp]
à problème bien énoncé, réponse appropriée ! si la variable log contient le nom , login windows. tu recherches directement dans la table.
If Not IsNull(DLookup("Qualité", "OPERATEUR", "[Nom] = '" & Log & "'")) Then ' ici c'est bon Else ' ici ce n'est pas bon End If tu fais pareil pour chaque champ. tu n'as pas besoin de passer par une fonction. si tu as besoin de tester plusieurs fois la valeur tu fais ceci. Ilalaqualité = DLookup("Qualité", "OPERATEUR", "[Nom] = '" & Log & "'") If Ilalaqualité then ------------------------ je ne sais pas si ceci fonctionne , tu peux toujours essayer: If Not IsNull(DLookup("Qualité", "OPERATEUR", "[Nom] & "" "" & [Prénom] = '" & Log & "'")) Then -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Ma table "OPERATEUR" est faite ainsi :
Nomchamp Typechamp
Nom Texte Prénom Texte Forçage Booléen Qualité Booléen Annulation Booléen
Forçage, Annulation et Qualité corresponde à des droitsque j'accorde ou non
à un opérateur. Suivant ces droits il aura droit(1) ou pas(0) d'effectuer des
actions.
Avec une fonction, je veux tester si l'opérateur qui est loggé a le droit ou
non à l'action (Forçage,Qualité, ou annulation). Par exemple en appelant la
fonction test_droits (Martin,Forçage) je souhaiterais savoir si pour l'opérateur Martin le booléen "Forçage" est à 1 ; en appelant la fonction test_droits (Raymond,Qualité) je souhaiterais savoir si pour l'opérateur Raymond le booléen "Qualité" est à 1.
J'espere avoir été plus clair
à problème bien énoncé, réponse appropriée !
si la variable log contient le nom , login windows.
tu recherches directement dans la table.
If Not IsNull(DLookup("Qualité", "OPERATEUR", "[Nom] = '" & Log & "'")) Then
' ici c'est bon
Else
' ici ce n'est pas bon
End If
tu fais pareil pour chaque champ. tu n'as pas besoin de passer par une
fonction.
si tu as besoin de tester plusieurs fois la valeur tu fais ceci.
Ilalaqualité = DLookup("Qualité", "OPERATEUR", "[Nom] = '" & Log & "'")
If Ilalaqualité then
------------------------
je ne sais pas si ceci fonctionne , tu peux toujours essayer:
If Not IsNull(DLookup("Qualité", "OPERATEUR", "[Nom] & "" "" & [Prénom] = '"
& Log & "'")) Then
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" <Antoine@discussions.microsoft.com> a écrit dans le message de
news:A3E7A687-41AC-4B97-AF7D-6C713F7F93D9@microsoft.com...
Ma table "OPERATEUR" est faite ainsi :
Nomchamp Typechamp
Nom Texte
Prénom Texte
Forçage Booléen
Qualité Booléen
Annulation Booléen
Forçage, Annulation et Qualité corresponde à des droitsque j'accorde ou
non
à un opérateur. Suivant ces droits il aura droit(1) ou pas(0) d'effectuer
des
actions.
Avec une fonction, je veux tester si l'opérateur qui est loggé a le droit
ou
non à l'action (Forçage,Qualité, ou annulation). Par exemple en appelant
la
fonction test_droits (Martin,Forçage) je souhaiterais savoir si pour
l'opérateur Martin le booléen "Forçage" est à 1 ; en appelant la fonction
test_droits (Raymond,Qualité) je souhaiterais savoir si pour l'opérateur
Raymond le booléen "Qualité" est à 1.
à problème bien énoncé, réponse appropriée ! si la variable log contient le nom , login windows. tu recherches directement dans la table.
If Not IsNull(DLookup("Qualité", "OPERATEUR", "[Nom] = '" & Log & "'")) Then ' ici c'est bon Else ' ici ce n'est pas bon End If tu fais pareil pour chaque champ. tu n'as pas besoin de passer par une fonction. si tu as besoin de tester plusieurs fois la valeur tu fais ceci. Ilalaqualité = DLookup("Qualité", "OPERATEUR", "[Nom] = '" & Log & "'") If Ilalaqualité then ------------------------ je ne sais pas si ceci fonctionne , tu peux toujours essayer: If Not IsNull(DLookup("Qualité", "OPERATEUR", "[Nom] & "" "" & [Prénom] = '" & Log & "'")) Then -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Antoine" a écrit dans le message de news:
Ma table "OPERATEUR" est faite ainsi :
Nomchamp Typechamp
Nom Texte Prénom Texte Forçage Booléen Qualité Booléen Annulation Booléen
Forçage, Annulation et Qualité corresponde à des droitsque j'accorde ou non
à un opérateur. Suivant ces droits il aura droit(1) ou pas(0) d'effectuer des
actions.
Avec une fonction, je veux tester si l'opérateur qui est loggé a le droit ou
non à l'action (Forçage,Qualité, ou annulation). Par exemple en appelant la
fonction test_droits (Martin,Forçage) je souhaiterais savoir si pour l'opérateur Martin le booléen "Forçage" est à 1 ; en appelant la fonction test_droits (Raymond,Qualité) je souhaiterais savoir si pour l'opérateur Raymond le booléen "Qualité" est à 1.