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 :

demande info de la fonction move dans un module


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Points : 8
    Points
    8
    Par défaut demande info de la fonction move dans un module
    bonjour

    j'ai crée une table declaration AT pour ma societe ,et je dois sortir un indicateur pour le personnel .

    le but et de calculer le nbr de jour sans accident.
    pour cela je dois prendre les info dans une table declaration pour
    recupérer la date accident,puis utiliser diffdate.

    mon probléme et de prendre le derniere enregistrement de ma table,puis l'avant dernier (pour moi je dois prendre la fonction movelast)

    mais je n'arrive pas a l'utiliser dans un module.

  2. #2
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonjour,

    Pour te répondre, je suis parti des postulats suivants :
    • une table [AT] avec deux champs : NomPersonne et DateDéclaration.
    • Nompersonne est la personne qui a l'accident
    • DateDéclaration contient les dates des différentes déclarations d'accident de travail.
    • Le résultat est donné en nombre de jours.
    • Je n'ai pas intégré de gestion d'erreur.
    Ci-dessous la fonction :
    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
    Function DiffAccident(strNomPersonne As String) As Integer
     
    Dim db As DAO.Database
    Set db = CurrentDb
     
    Dim rs As DAO.Recordset
    Set rs = db.OpenRecordset("SELECT * FROM [AT] WHERE NomPersonne = '" & strNomPersonne & "' ORDER BY DateDéclaration", dbOpenDynaset)
     
    Dim DateDernierAccident As Date
     
    rs.MoveLast 'pour aller au dernier accident
    DateDernierAccident = rs!DateDéclaration.Value
     
    DiffAccident = DateDiff("d", DateDernierAccident, Date) 'différence par rapport à aujourd'hui.
     
    End Function
    Un exemple d'utilisation dans un champ d'un formulaire :
    =DiffAccident("ActionAccess")
    renvoie 110 si la date de dernier accident était le 11/01/06. (si nous sommes auj le 01/05/06)

    Si on veut résonner en global et non plus par personne, il devrait suffir d'enlever toutes les références à StrNomPersonne.

    Bon courage

Discussions similaires

  1. [XL-2010] Utiliser une fonction contenue dans un module standard dans un userform
    Par tony76 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 07/05/2015, 08h14
  2. Demande infos sur Action dans un formulaire
    Par jlb59 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/05/2011, 22h04
  3. Réponses: 1
    Dernier message: 30/06/2010, 18h16
  4. Réponses: 4
    Dernier message: 27/11/2009, 18h08
  5. Réponses: 6
    Dernier message: 02/10/2006, 13h13

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