Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
Caro
Bonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:
Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
Caro
Bonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Bonjour,
Jai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais lexécution est assez longue Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de lemployé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite dutiliser cette fonction dans une requete, afin de
sortir des liste demployés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui sessaie
Bonjour,
Jai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais lexécution est assez longue Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de lemployé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite dutiliser cette fonction dans une requete, afin de
sortir des liste demployés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui sessaie
Bonjour,
Jai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais lexécution est assez longue Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de lemployé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite dutiliser cette fonction dans une requete, afin de
sortir des liste demployés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui sessaie
Je ne suis pas rendue là... je suis en mode test pour l'instant...
Mon but ultime est d'intégrer ceci dans mon formulaire de recherche de
personnel selon les qualifications recherchées. Exemple: Je recherche
personne avec auto, bilingue,... dans la région 1...
J'ai un formulaire ou je sélectionne les critères recherchés et la liste est
automatiquement filtrée au fur et à mesure ( sous formulaire) .
exemple du filtre utilisé (J'ai reçu de l'aide pour la construction...)
'Auto requise
If Me.AutoReq = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Auto]=" & Me.AutoReq & ")"
End If
''
'Bilinguisme
If Me.Emp_Bil = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Emp_Biling]=" & Me.Emp_Bil & ")"
End If
Merci.
"crinblanc" wrote:Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Je ne suis pas rendue là... je suis en mode test pour l'instant...
Mon but ultime est d'intégrer ceci dans mon formulaire de recherche de
personnel selon les qualifications recherchées. Exemple: Je recherche
personne avec auto, bilingue,... dans la région 1...
J'ai un formulaire ou je sélectionne les critères recherchés et la liste est
automatiquement filtrée au fur et à mesure ( sous formulaire) .
exemple du filtre utilisé (J'ai reçu de l'aide pour la construction...)
'Auto requise
If Me.AutoReq = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Auto]=" & Me.AutoReq & ")"
End If
''
'Bilinguisme
If Me.Emp_Bil = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Emp_Biling]=" & Me.Emp_Bil & ")"
End If
Merci.
"crinblanc" wrote:
Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:
Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
Caro
Bonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Je ne suis pas rendue là... je suis en mode test pour l'instant...
Mon but ultime est d'intégrer ceci dans mon formulaire de recherche de
personnel selon les qualifications recherchées. Exemple: Je recherche
personne avec auto, bilingue,... dans la région 1...
J'ai un formulaire ou je sélectionne les critères recherchés et la liste est
automatiquement filtrée au fur et à mesure ( sous formulaire) .
exemple du filtre utilisé (J'ai reçu de l'aide pour la construction...)
'Auto requise
If Me.AutoReq = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Auto]=" & Me.AutoReq & ")"
End If
''
'Bilinguisme
If Me.Emp_Bil = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Emp_Biling]=" & Me.Emp_Bil & ")"
End If
Merci.
"crinblanc" wrote:Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Alors voilà
Sépare ton formulaire de recherche et ton sous-formulaire que tu appelleras
par exemple Result_Recherche
Dans ton formulaire principal crée des champs de recherche en leurs donnant
le même nom que dans le formulaire "résultats"
Crée un bouton "Recherche" et met ce code dans le formulaire
Private Sub Recherche_Click()
Dim ctrl As Control, criteres As String
criteres = ""
For Each ctrl In Me.Controls
If ctrl.ControlType = acTextBox Then
'MsgBox ctrl.Format
If criteres <> "" And Nz(ctrl.Value, 0) <> 0 Then
If InStr(1, ctrl.Format, "date") > 0 Then
criteres = criteres & " AND " & ctrl.Name & " = #" &
ctrl.Value & "#"
ElseIf InStr(1, ctrl.Format, "number") > 0 Then
criteres = criteres & " AND " & ctrl.Name & " = " &
ctrl.Value
Else
criteres = criteres & " AND " & ctrl.Name & " = '" &
ctrl.Value & "'"
End If
ElseIf Nz(ctrl.Value, 0) <> 0 Then
If InStr(1, ctrl.Format, "date") > 0 Then
criteres = criteres & ctrl.Name & " = #" &
Format(ctrl.Value, "mm/dd/yyyy") & "#"
ElseIf InStr(1, ctrl.Format, "number") > 0 Then
criteres = criteres & ctrl.Name & " = " & ctrl.Value
Else
criteres = criteres & ctrl.Name & " = '" & ctrl.Value &
"'"
End If
End If
End If
Next
DoCmd.OpenForm "Result_Recherche", , , criteres
End Sub
Tu comprends?
"Caro" wrote:Je ne suis pas rendue là... je suis en mode test pour l'instant...
Mon but ultime est d'intégrer ceci dans mon formulaire de recherche de
personnel selon les qualifications recherchées. Exemple: Je recherche
personne avec auto, bilingue,... dans la région 1...
J'ai un formulaire ou je sélectionne les critères recherchés et la liste est
automatiquement filtrée au fur et à mesure ( sous formulaire) .
exemple du filtre utilisé (J'ai reçu de l'aide pour la construction...)
'Auto requise
If Me.AutoReq = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Auto]=" & Me.AutoReq & ")"
End If
''
'Bilinguisme
If Me.Emp_Bil = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Emp_Biling]=" & Me.Emp_Bil & ")"
End If
Merci.
"crinblanc" wrote:Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Alors voilà
Sépare ton formulaire de recherche et ton sous-formulaire que tu appelleras
par exemple Result_Recherche
Dans ton formulaire principal crée des champs de recherche en leurs donnant
le même nom que dans le formulaire "résultats"
Crée un bouton "Recherche" et met ce code dans le formulaire
Private Sub Recherche_Click()
Dim ctrl As Control, criteres As String
criteres = ""
For Each ctrl In Me.Controls
If ctrl.ControlType = acTextBox Then
'MsgBox ctrl.Format
If criteres <> "" And Nz(ctrl.Value, 0) <> 0 Then
If InStr(1, ctrl.Format, "date") > 0 Then
criteres = criteres & " AND " & ctrl.Name & " = #" &
ctrl.Value & "#"
ElseIf InStr(1, ctrl.Format, "number") > 0 Then
criteres = criteres & " AND " & ctrl.Name & " = " &
ctrl.Value
Else
criteres = criteres & " AND " & ctrl.Name & " = '" &
ctrl.Value & "'"
End If
ElseIf Nz(ctrl.Value, 0) <> 0 Then
If InStr(1, ctrl.Format, "date") > 0 Then
criteres = criteres & ctrl.Name & " = #" &
Format(ctrl.Value, "mm/dd/yyyy") & "#"
ElseIf InStr(1, ctrl.Format, "number") > 0 Then
criteres = criteres & ctrl.Name & " = " & ctrl.Value
Else
criteres = criteres & ctrl.Name & " = '" & ctrl.Value &
"'"
End If
End If
End If
Next
DoCmd.OpenForm "Result_Recherche", , , criteres
End Sub
Tu comprends?
"Caro" wrote:
Je ne suis pas rendue là... je suis en mode test pour l'instant...
Mon but ultime est d'intégrer ceci dans mon formulaire de recherche de
personnel selon les qualifications recherchées. Exemple: Je recherche
personne avec auto, bilingue,... dans la région 1...
J'ai un formulaire ou je sélectionne les critères recherchés et la liste est
automatiquement filtrée au fur et à mesure ( sous formulaire) .
exemple du filtre utilisé (J'ai reçu de l'aide pour la construction...)
'Auto requise
If Me.AutoReq = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Auto]=" & Me.AutoReq & ")"
End If
''
'Bilinguisme
If Me.Emp_Bil = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Emp_Biling]=" & Me.Emp_Bil & ")"
End If
Merci.
"crinblanc" wrote:
Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:
Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
Caro
Bonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Alors voilà
Sépare ton formulaire de recherche et ton sous-formulaire que tu appelleras
par exemple Result_Recherche
Dans ton formulaire principal crée des champs de recherche en leurs donnant
le même nom que dans le formulaire "résultats"
Crée un bouton "Recherche" et met ce code dans le formulaire
Private Sub Recherche_Click()
Dim ctrl As Control, criteres As String
criteres = ""
For Each ctrl In Me.Controls
If ctrl.ControlType = acTextBox Then
'MsgBox ctrl.Format
If criteres <> "" And Nz(ctrl.Value, 0) <> 0 Then
If InStr(1, ctrl.Format, "date") > 0 Then
criteres = criteres & " AND " & ctrl.Name & " = #" &
ctrl.Value & "#"
ElseIf InStr(1, ctrl.Format, "number") > 0 Then
criteres = criteres & " AND " & ctrl.Name & " = " &
ctrl.Value
Else
criteres = criteres & " AND " & ctrl.Name & " = '" &
ctrl.Value & "'"
End If
ElseIf Nz(ctrl.Value, 0) <> 0 Then
If InStr(1, ctrl.Format, "date") > 0 Then
criteres = criteres & ctrl.Name & " = #" &
Format(ctrl.Value, "mm/dd/yyyy") & "#"
ElseIf InStr(1, ctrl.Format, "number") > 0 Then
criteres = criteres & ctrl.Name & " = " & ctrl.Value
Else
criteres = criteres & ctrl.Name & " = '" & ctrl.Value &
"'"
End If
End If
End If
Next
DoCmd.OpenForm "Result_Recherche", , , criteres
End Sub
Tu comprends?
"Caro" wrote:Je ne suis pas rendue là... je suis en mode test pour l'instant...
Mon but ultime est d'intégrer ceci dans mon formulaire de recherche de
personnel selon les qualifications recherchées. Exemple: Je recherche
personne avec auto, bilingue,... dans la région 1...
J'ai un formulaire ou je sélectionne les critères recherchés et la liste est
automatiquement filtrée au fur et à mesure ( sous formulaire) .
exemple du filtre utilisé (J'ai reçu de l'aide pour la construction...)
'Auto requise
If Me.AutoReq = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Auto]=" & Me.AutoReq & ")"
End If
''
'Bilinguisme
If Me.Emp_Bil = True Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strFiltre & "([Emp_Biling]=" & Me.Emp_Bil & ")"
End If
Merci.
"crinblanc" wrote:Bon,
tu dois avoir un état qui liste tes employés?
Dans le SQL de cet état, ajoute un champ CPostal_Abreg:Left$([CP], 3)
Dans ce cas, tu peux l'ouvrir pour une région donnée comme ça par exemple:
DoCmd.OpenReport "nom de l'état", , , "CPostal_Abreg = " & LeCodeRegion
Ce champ LeCodeRegion proviendrait du formulaire où tu choisi la région
Je ne sais pas si c'est clair?
"Caro" wrote:Bonjour crinblanc,
Oui, je sais que j'aurais pu procéder ainsi, mais je préférais que cela soit
"transparant" au personnel , pout éviter les erreurs lors de l'embauche,
changement d'adresse etc. car nous avons un gros roulement de personnel...
Est-ce que le code te semble "logique " ?
Merci.
CaroBonjour,
personnellement j'aurais ajouté un champ "empl_region" dans l'adresse de
l'employé qui pointerait sur un champ "region" en Numéro auto (clé primaire)
de la table Régions.
ET là, dans ta requête tu peux faire un lien entre les 2 tables et mettre
les critères de sélection que tu veux. Il n'y a pas plus rapide.
Sinon, utiliser une fonction dans une requête comme critère de sélection
c'est ce qu'il y a de plus long!!Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Salut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Salut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Salut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Salut Buddy,
J'ai corrigé ma fonction avec ton code et ça fonctionne très bien. J'en ai
encore beaucoup à apprendre...
Dans ma requete, quand j'utilise la fonction sans aucun critères, c'est
rapide, mais si je met un critères, exemple région 6, c'est un peu plus
long... j'ai 1400 employés... et ça prends 35 secondes avant d'avoir le
résultat... J'imagine que c'est normal.
Merci beaucoup de ton aide
CaroSalut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:Bonjour,
Jai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais lexécution est assez longue Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de lemployé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite dutiliser cette fonction dans une requete, afin de
sortir des liste demployés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui sessaie
Salut Buddy,
J'ai corrigé ma fonction avec ton code et ça fonctionne très bien. J'en ai
encore beaucoup à apprendre...
Dans ma requete, quand j'utilise la fonction sans aucun critères, c'est
rapide, mais si je met un critères, exemple région 6, c'est un peu plus
long... j'ai 1400 employés... et ça prends 35 secondes avant d'avoir le
résultat... J'imagine que c'est normal.
Merci beaucoup de ton aide
Caro
Salut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:
Bonjour,
Jai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais lexécution est assez longue Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de lemployé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite dutiliser cette fonction dans une requete, afin de
sortir des liste demployés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui sessaie
Salut Buddy,
J'ai corrigé ma fonction avec ton code et ça fonctionne très bien. J'en ai
encore beaucoup à apprendre...
Dans ma requete, quand j'utilise la fonction sans aucun critères, c'est
rapide, mais si je met un critères, exemple région 6, c'est un peu plus
long... j'ai 1400 employés... et ça prends 35 secondes avant d'avoir le
résultat... J'imagine que c'est normal.
Merci beaucoup de ton aide
CaroSalut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:Bonjour,
Jai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais lexécution est assez longue Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de lemployé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite dutiliser cette fonction dans une requete, afin de
sortir des liste demployés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui sessaie
Re-salut
bon alors au niveau de la démarche, je pense que c'est pas le top.
Il est préférable de créer une zone qui ne sert qu'à la saisie des critères avec un beau gros bouton FILTRER.
Il te suffit sur Click du bouton FILTRER de créer à la volée ton critère et de mettre en source de ton ssform la chaine sql ainsi créée.
Rien empêche les gens de cliquer sur le bouton quand bon leur semble.
L'intérêt de cette approche réside dans le fait que si tu as un critère qui prend 30s pour afficher le résultat, tes utilisateurs vont à la longue devenir fous et puis bonjour les conséquences pour toi...
Cela donnerait qq chose comme ça :
Private Sub btnFiltrer_Click()
Dim v_critere As String, v_sql As String
' Ici tu passes en revue tous tes critères
If AutoReq Then v_critere = v_critere & Iif(Len(v_critere) > 0, " AND ", "") & "AutoReq = True"
If Emp_Bil Then v_critere = v_critere & Iif(Len(v_critere) > 0, " AND ", "") & "Emp_Bil = True"
' Ici tu continue le montage de ton critère
v_sql = "SELECT * FROM tbl_employes" & Iif(Len(v_critere) > 0, " WHERE ", "") & v_critere & ";"
Me.ssFormEmployes.Form.RecordSource = v_sql
End Sub
Ouala
Bye
Buddy
Caro wrote:Salut Buddy,
J'ai corrigé ma fonction avec ton code et ça fonctionne très bien. J'en ai
encore beaucoup à apprendre...
Dans ma requete, quand j'utilise la fonction sans aucun critères, c'est
rapide, mais si je met un critères, exemple région 6, c'est un peu plus
long... j'ai 1400 employés... et ça prends 35 secondes avant d'avoir le
résultat... J'imagine que c'est normal.
Merci beaucoup de ton aide
CaroSalut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Re-salut
bon alors au niveau de la démarche, je pense que c'est pas le top.
Il est préférable de créer une zone qui ne sert qu'à la saisie des critères avec un beau gros bouton FILTRER.
Il te suffit sur Click du bouton FILTRER de créer à la volée ton critère et de mettre en source de ton ssform la chaine sql ainsi créée.
Rien empêche les gens de cliquer sur le bouton quand bon leur semble.
L'intérêt de cette approche réside dans le fait que si tu as un critère qui prend 30s pour afficher le résultat, tes utilisateurs vont à la longue devenir fous et puis bonjour les conséquences pour toi...
Cela donnerait qq chose comme ça :
Private Sub btnFiltrer_Click()
Dim v_critere As String, v_sql As String
' Ici tu passes en revue tous tes critères
If AutoReq Then v_critere = v_critere & Iif(Len(v_critere) > 0, " AND ", "") & "AutoReq = True"
If Emp_Bil Then v_critere = v_critere & Iif(Len(v_critere) > 0, " AND ", "") & "Emp_Bil = True"
' Ici tu continue le montage de ton critère
v_sql = "SELECT * FROM tbl_employes" & Iif(Len(v_critere) > 0, " WHERE ", "") & v_critere & ";"
Me.ssFormEmployes.Form.RecordSource = v_sql
End Sub
Ouala
Bye
Buddy
Caro wrote:
Salut Buddy,
J'ai corrigé ma fonction avec ton code et ça fonctionne très bien. J'en ai
encore beaucoup à apprendre...
Dans ma requete, quand j'utilise la fonction sans aucun critères, c'est
rapide, mais si je met un critères, exemple région 6, c'est un peu plus
long... j'ai 1400 employés... et ça prends 35 secondes avant d'avoir le
résultat... J'imagine que c'est normal.
Merci beaucoup de ton aide
Caro
Salut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:
Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…
Re-salut
bon alors au niveau de la démarche, je pense que c'est pas le top.
Il est préférable de créer une zone qui ne sert qu'à la saisie des critères avec un beau gros bouton FILTRER.
Il te suffit sur Click du bouton FILTRER de créer à la volée ton critère et de mettre en source de ton ssform la chaine sql ainsi créée.
Rien empêche les gens de cliquer sur le bouton quand bon leur semble.
L'intérêt de cette approche réside dans le fait que si tu as un critère qui prend 30s pour afficher le résultat, tes utilisateurs vont à la longue devenir fous et puis bonjour les conséquences pour toi...
Cela donnerait qq chose comme ça :
Private Sub btnFiltrer_Click()
Dim v_critere As String, v_sql As String
' Ici tu passes en revue tous tes critères
If AutoReq Then v_critere = v_critere & Iif(Len(v_critere) > 0, " AND ", "") & "AutoReq = True"
If Emp_Bil Then v_critere = v_critere & Iif(Len(v_critere) > 0, " AND ", "") & "Emp_Bil = True"
' Ici tu continue le montage de ton critère
v_sql = "SELECT * FROM tbl_employes" & Iif(Len(v_critere) > 0, " WHERE ", "") & v_critere & ";"
Me.ssFormEmployes.Form.RecordSource = v_sql
End Sub
Ouala
Bye
Buddy
Caro wrote:Salut Buddy,
J'ai corrigé ma fonction avec ton code et ça fonctionne très bien. J'en ai
encore beaucoup à apprendre...
Dans ma requete, quand j'utilise la fonction sans aucun critères, c'est
rapide, mais si je met un critères, exemple région 6, c'est un peu plus
long... j'ai 1400 employés... et ça prends 35 secondes avant d'avoir le
résultat... J'imagine que c'est normal.
Merci beaucoup de ton aide
CaroSalut
je ferais bcp + court :
AnalyseRegion = DLookUp("Région", "Tbl_Région_CodeP", "Code_Postal='" & Left(CP, 3)& "'")
Oulà
Bye
Buddy
Caro wrote:Bonjour,
J’ai réussi ( en buchant très fort ) à créer cette fonction et cela semble
fonctionner, mais l’exécution est assez longue… Est-ce que mon code est «
sensé » ou y aurait-il une meilleure façon de procéder ?
Le but de cette fonction est de comparer les 3 premières lettres du code
postal de l’employé avec une table [Tbl_Région_CodeP] afin de trouver le
numéro de la région attribuée à ce code postal (3 premiers caractères
seulement) et ensuite d’utiliser cette fonction dans une requete, afin de
sortir des liste d’employés appartenant a une région en particulier.
Voici mon code :
Dim CPostal_Abreg As String
CPostal_Abreg = Left([CP], 3) 'Couper les dernier 3 caracteres du cp
Dim db As Database
Dim rst As DAO.Recordset
Dim sSQL As String
Set db = CurrentDb()
sSQL = "Select * From [Tbl_Région_CodeP] where " & " ([Code_Postal] = '" &
[CPostal_Abreg] & "');"
Set rst = db.OpenRecordset(sSQL)
AnalyseRégion = rst("Région").Value
rst.Close
Set db = Nothing
Votre aide serait grandement appréciée
Caro
Une débutante qui s’essaie…