IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

renvoyer une donnée à partir d'une grille [AC-2013]


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Responsable de compte
    Inscrit en
    Octobre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 17
    Points : 15
    Points
    15
    Par défaut renvoyer une donnée à partir d'une grille
    Bonjour,
    je cherche à renvoyer une donnée à partir d'une grille (exemple d'une prime d'ancienneté en fonction d'un coefficient et d'une date d'ancienneté ) :
    -------------3 à 5 ans------6 à 8 ans-----9 à 11 ans----etc...
    coef 140------10------------20-------------30
    coef 150------12------------22-------------33
    coef 160------15------------25-------------35
    etc...

    par exemple : un salarié de coefficient 150 avec 10 ans d'ancienneté à une prime de 33
    Est-ce possible sous Access ?

    Un grand merci d'avance

    Jérôme

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    En très court, OUI, c'est possible sous Access ou avec une fonction en VBA.
    Maintenant, quel est ton besoin et quelles sont les données en ta possession et es-tu déjà sous Access ?
    Dis-nous plus si tu souhaite te lancer dans les bases de données.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre à l'essai
    Profil pro
    Responsable de compte
    Inscrit en
    Octobre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 17
    Points : 15
    Points
    15
    Par défaut renvoyer une donnée à partir d'une grille
    Bonjour Madefemere,

    Oui je suis déjà sous access, j'ai crée de nombreuses bases, je touche aussi au VBA. Mais je t'avoue que je suis bloqué avec la récupération de cette donnée qui tient compte de 2 critères (ancienneté et coefficient). La finalité est de récupérer cela sous forme d'une requête car j'ai d'autres données à joindre en colonne : voici ce que cela pourrait donnée : matricule, nom, prénom, age, ancienneté, prime d'ancienneté (provenant de la fameuse grille), prime de présence etc... Ces autres champs sont très faciles à récupérer. La fameuse grille est bien sûr susceptible d'évoluer chaque année au niveau des montants (cette indication peut être importante pour facilité la mise à jour de celle-ci). Voilà j'espère avoir été assez clair. Merci pour ton aide. Cordialement
    Jérôme

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Donc, les fonctions de domaines devraient te donner la solution, un DlookUp ou Rechdom en français.
    Je te conseille de regarder le tuto de référence ci-joint.

    Tu nous dis si tu as des difficultés.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre à l'essai
    Profil pro
    Responsable de compte
    Inscrit en
    Octobre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 17
    Points : 15
    Points
    15
    Par défaut renvoyer une donnée à partir d'une grille
    Merci, mais je bloque au niveau de la grille. Comment la mettre sous forme de table car c'est un tableau à double entrée :
    -------------3 à 5 ans------6 à 8 ans-----9 à 11 ans----
    coef 140------10------------20-------------30
    coef 150------12------------22-------------33
    coef 160------15------------25-------------35

    Merci d'avance
    Jérôme

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Il y aurait plusieurs manières de procéder :
    1- Se créer une table de correspondance entre tes noms de champs d'intervalle et les année précises d'ancienneté et faire donc une recherche avec VBA.
    2- Dérouler ta grille pour que la table ait 3 champs : Coef - Annee (précise) - Prime et faire la recherche dans cette nouvelle requête ou table avec le DLookUp.

    Il faudrait les noms de tes en-têtes de colonnes pour imaginer une routine VBA dans les 2 cas.
    Et voir combien il y a de colonnes et de lignes dans la grille actuelle ?

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  7. #7
    Membre à l'essai
    Profil pro
    Responsable de compte
    Inscrit en
    Octobre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 17
    Points : 15
    Points
    15
    Par défaut renvoyer une donnée à partir d'une grille
    Merci,
    Les noms des entêtes des 3 colonnes : Anc_coef, Anc_annee, Anc_montant
    On pourrait partir de la grille de l'exemple ci-dessous avec seulement 3 colonnes et 3 lignes : cela me permettrait (je l'espère) de comprendre le raisonnement. Une précision de 0 à 2 ans la prime est à 0 (quelque soit le coef) et en fait la dernière colonne n'est pas de 9 à 11 ans mais plutôt "à partir de 9 ans (par exemple un salarié qui à 15 ans d'ancienneté au coef 150 touche 33€ de prime d'ancienneté).
    Un grand merci pour ton aide.
    Cordialement
    Jérôme

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Re-,

    Donc
    1- si on part de la table T_Grille avec les champs : Coef - Prim3A5 - Prim6A8 - PrimPlus9
    2- On souhaite avoir les données réparties dans la table : T_GrilleAccess_A ayant les champs Anc_Coef - Anc_annee - Anc_Prime

    Les routines suivantes vont transférer les données de la table T_Grille vers T_GrilleAccess_A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Dim strSQl As String
    Dim db As DAO.Database
    'fonction pour l'ajout d'un enregistrement avec comme paramètre l'année en champ complémentaire
    Public Sub AjouterValeurs(prAnnee As Integer, prchamp As String)
    Set db = CurrentDb
    Debug.Print prchamp
    strSQl = "INSERT INTO T_GrilleAccess_A ( Anc_Coef, Anc_annee, Anc_Prime )" _
            & " SELECT T_Grille.Coef," & prAnnee & "," & prchamp _
            & " FROM T_Grille;"
    Debug.Print strSQl
    db.Execute strSQl, dbFailOnError
    db.Close: Set db = Nothing
    End Sub
    'Parcourir les champs et éclater les valeurs
    Public Sub ParcourirLesChamps()
    Call AjouterValeurs(3, "Prim3A5")
    Call AjouterValeurs(4, "Prim3A5")
    Call AjouterValeurs(5, "Prim3A5")
     
    Call AjouterValeurs(6, "Prim6A8")
    Call AjouterValeurs(7, "Prim6A8")
    Call AjouterValeurs(8, "Prim6A8")
     
    Call AjouterValeurs(9, "PrimPlus9")
    End Sub
    Il serait possible de factoriser ParcourirLesChamps selon les besoins.
    Après la recherche de la prime par ancienneté se fera avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = DLookUp("[Anc_Prime]";"[T_GrilleAccess_A]","[Anc_Coef]=" & parametreCoefficient & "[Anc_annee]=" & parametreAnciennete)
    Il faudrait le combiner avec un IIF (VRAIFAUX en français) pour trouver les valeurs pour les anciennetés supérieures à 9 et inférieures à 2, mais c'est du détail pour toi je pense.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  9. #9
    Membre à l'essai
    Profil pro
    Responsable de compte
    Inscrit en
    Octobre 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Bonjour et un grand merci, je met cela en pratique au plus vite.
    Bien cordialement

    Jérôme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer une donnée à partir d'une URL
    Par pv77164 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/08/2011, 10h39
  2. Réponses: 3
    Dernier message: 07/04/2011, 14h38
  3. Renvoyer une donnée à partir d'une matrice
    Par supertoms dans le forum Excel
    Réponses: 1
    Dernier message: 16/02/2011, 18h18
  4. [MySQL] Extraire les données à partir d'une liste déroulante dans une autre liste deroulante
    Par Amel_B dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 26/11/2008, 13h20
  5. Réponses: 20
    Dernier message: 01/02/2008, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo