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

Modélisation Discussion :

Créer un formulaire type temps passé


Sujet :

Modélisation

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut Créer un formulaire type temps passé
    Bonjour,
    Je sollicite votre aide car je sèche complètement et je ne trouve pas de réponse sur le forum. Surement de mauvais mots clés utilisés.

    J'ai 3 tables:
    - Bénévole: N°bénévole, Nom_Bénévole,
    - Affectation: N°affecation, adresse
    - planning: ID, N°affectation, N°bénévole, date


    Je souhaite faire un formulaire "Mois" avec en entête de colonne le nom des bénévoles et en entête de ligne le jour du mois. Dans les cellules je veux l'adresse d'affectation

    Il faut qu'à l'affichage j'ai seulement 1 mois.

    Je suis preneur de tout conseil.

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    3 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 3 725
    Points : 5 695
    Points
    5 695
    Par défaut
    Salut
    Une solution en utilisant 2 combobox pour filtrer une qry_plan source d'un frm_plan et qui est proche de votre besoin.
    Fichiers attachés Fichiers attachés
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Si la réponse est satisfaisante, alors 1 et n'oubliez pas de clôturer le sujet en cliquant sur

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut
    Merci pour ton retour, alors je pense que tu as mal compris le type de formulaire que je veux.
    Du coup je t'ai envoyé un exemple en pièce jointe.
    La requête dans laquelle tu fais ressortir le mois et les listes déroulantes (notamment celle pour sélectionner le mois) vont mettre bien utiles.

    J'ai un peu complexifié mon problème et j'ai ajouté un champs durée dans ma table planning.
    La durée c'est un coefficient de 0 à 1.
    1=toute la journée
    0.5=une demie journée
    Du coup un un bénévole peut pour 1 même jour être à plusieurs adresses différence (max 3).

    J'ai 3 tables:
    - Bénévole: N°bénévole, Nom_Bénévole,
    - Affectation: N°affecation, adresse
    - planning: ID, N°affectation, N°bénévole, durée, date

    Temps Passé 2022.pdf

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    octobre 2012
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : octobre 2012
    Messages : 1 605
    Points : 2 936
    Points
    2 936
    Par défaut
    Bonjour gaelou7, hyperion13,

    Voici une Bd qui fait ce que vous désirez, ce n'est pas de moi mais de Denis Hulo. Il faudra adapter à vos besoins. Vous trouverez une grande variété de planning Ici

    Planning.zip

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut
    Ca semble très bien je vais essayer de me débrouiller avec ca mais je suis très nul en vba mais je pense que ca va le faire

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous,
    J'essaye d'avancer sur mon projet mais je bloque sur un truc
    J'aimerai afficher pour chaque adresse d'affectation mes différents nom_bénévole dans une même cellule et je ne trouve pas la solution.

    exemple

    Rue de paris / Damien charles
    Rue Vaugirard / Patrick Damien Charles

    j'arrive seulement à faire ca:

    Rue de paris / Damien
    Rue de paris / charles
    Rue Vaugirard / Patrick
    Rue Vaugirard / Damien
    Rue Vaugirard / charles

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2004
    Messages
    7 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2004
    Messages : 7 749
    Points : 13 051
    Points
    13 051
    Par défaut
    bonjour,
    la solution est pourtant proposée dans les "Meilleures sources d'Access" ici
    et ici ou deux parmi les nombreuses discussions s'y référant
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Merci tee_grandbois, tes liens m'ont débloqué.
    J'ai réussi à faire fonctionner cette solution dans une requête, c'est parfait. Petite question bête, en VBA comment fait-on pour appeler un champs composé d'un espace ? Par exemple N° bénévole au lieu de N°bénévole
    J'arrive pas à faire fonctionner le VBA quand il y a un espace. J'ai essayé les crochets les parenthèses mais ca ne marche pas
    Je reviendrai surement vers toi pour faire fonctionner le même type de formule dans un formulaire si je n'y arrive pas.

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2004
    Messages
    7 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2004
    Messages : 7 749
    Points : 13 051
    Points
    13 051
    Par défaut
    bonsoir,
    J'ai essayé les crochets les parenthèses mais ca ne marche pas
    certes, mais il faudrait poster le code pour qu'on puisse trouver où ça coince
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut
    Du coupe le code est le suivant:

    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
     
    Public Function Recupbenevole(N° affectation As Long) As String
    Dim res As DAO.Recordset
    Dim SQL As String
    'Selectionne les participant du projet
    SQL = "SELECT N° benevole FROM benevole WHERE N° affectation =" & N° affectation
    Set res = CurrentDb.OpenRecordset(SQL)
    'Concatene les différents enregistrement
    While Not res.EOF
        Recupbenevole = Recupbenevole & res.Fields(0).Value & ";"
        res.MoveNext
    Wend
    'Enleve le dernier espace
    Recupbenevole= Left(Recupbenevole, Len(Recupbenevole) - 1)
    'libere la mémoire
    Set res = Nothing
    End Function
    Si je fais le même code en enlevant les espaces entre N° et affectation et entre N° et benevole et en enlevant le même espace dans les tables ca fonctionne.

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2004
    Messages
    7 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2004
    Messages : 7 749
    Points : 13 051
    Points
    13 051
    Par défaut
    bonjour,
    Si je fais le même code en enlevant les espaces entre N° et affectation et entre N° et benevole et en enlevant le même espace dans les tables ca fonctionne.
    c'est la meilleure solution, il faut éviter les espaces dans les noms source de problème (la preuve), proscrire également les mots réservés et les caractères non-alphanumériques (> < ? * / + - ù é \ ... etc.) sauf le souligné _ fortement recommandé pour remplacer les espaces
    Sinon, il faut mettre des crochets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT [N° benevole] FROM benevole WHERE [N° affectation] =" & Me.[N° affectation]
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut
    Je sais pour les espaces et les accents mais malheureusement la base a été construite comme ca.

    Après avoir modifié le code comme tu me l'as expliqué, j'ai probablement un problème sur la partie suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Function Recupbenevole(N° affectation As Long) As String
    J'ai le message d'erreur " Erreur de syntaxe (opérateur absent) dans l'expression "Recupbenevole(N° affectation)"quand j'exécute la requête:

    SELECT DISTINCT benevole.[N° affectation], Recupbenevole(N° affectation) AS benevoles
    FROM benevole;

    J'ai le message d'erreur " Erreur de compilation dans l'expression "Recupbenevole([N° affectation])" quand j'exécute la requête:

    SELECT DISTINCT benevole.[N° affectation], Recupbenevole([N° affectation]) AS benevoles
    FROM benevole;

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2004
    Messages
    7 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2004
    Messages : 7 749
    Points : 13 051
    Points
    13 051
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function Recupbenevole(N° affectation As Long) As String
    effectivement, je n'avais même pas remarqué ...
    pour le paramètre de la fonction, il faut lui donner un nom sans espaces : VBA n'en accepte pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Function Recupbenevole(NumAffectation As Long) As String
    'ou bien : Public Function Recupbenevole(Turlututu As Long) As String ' ce sera,t pareil tant qu'il n'y a pas d'espaces
    pour le SQL, il faut des crochets, car on est dans l'environnement SQL:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT [N° affectation], Recupbenevole([N° affectation)] AS benevoles
    FROM benevole;
    et dans la fonction:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT [N° benevole] FROM benevole WHERE [N° affectation] =" & NumAffectation
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    mai 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Bâtiment

    Informations forums :
    Inscription : mai 2018
    Messages : 29
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup, ca marche.
    Je vais me pencher sur la conception de mon planning et je reviendrai dans les prochains jours sur le fil de discussion pour clôturer la discussion ou pour demander de l'aide

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/09/2005, 15h29
  2. Calculer le temps passé
    Par Joeleclems dans le forum MFC
    Réponses: 4
    Dernier message: 29/04/2005, 10h40
  3. [FLASH MX] Le temps passe?
    Par nix dans le forum Flash
    Réponses: 3
    Dernier message: 08/02/2005, 09h48
  4. Créer un formulaire
    Par Paulo77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/01/2005, 21h20
  5. Créer un formulaire avec VBA ?
    Par Jean Bonnisme dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2004, 11h40

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