Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Membre du Club
    Inscrit en
    juillet 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 183
    Points : 46
    Points
    46

    Par défaut Est-il possible de faire cela sous Access?

    Bonjour,

    Je débute en Access et avant de me lancer dans le projet, j'aimerais savoir si il est réalisable "facilement" c'est à dire qu'il me faudra pas 6 mois pour le réaliser, sinon je peux essayer de m'orienter sur une autre solution, mais pour l'instant je dois faire des tests avec Access 2003.

    J'ai deux tables:

    Personnes:

    - IdPersonne
    - Nom
    - Prenom

    Cours:

    - IdCours
    - NbreDeCours
    - PeriodeCours
    - tempsCours
    - fk_IdPersonne

    Voici un exemple de données:

    Personnes:

    1, Pierre, Dubois
    2, Paul, Delarue
    3, Jacques, Duchateau

    Cours:

    1, 23, 01-2012, 36:18:52, 1
    2, 42, 02-2012, 98:18:52, 1
    3, 5, 01-2012, 120:07:03, 2
    4, 18, 03-2012, 05:4:20, 2
    5, 29, 05-2012, 27:18:52, 3
    6, 11, 01-2013, 18:18:52, 3

    Le but serait de faire des statistiques annuel du genre:

    - Combien Pierre à eu de cours en 2012? => 65
    - Pendant combien de temps Paul était en cours en 2012? => 125 heures 12min 23 secondes (oui, il me faut aussi les secondes )
    - D'afficher une liste qui contient toutes les personnes avec leur stats pour une année donnée.

    Est-ce possible de faire tout cela dans Access?
    Possible de créer une sorte d'interface pour voir ces données affichées?

    En testant un peu, j'ai déjà eu des soucis avec les heures, Access ne permet pas de stocker une heure plus grande que 24h, logique, c'est n'est plus une heure mais un temps, donc je dois stocker ces heures en centièmes? ou autre?

    Ce n'est pas la création des tables qui me pose problèmes, c'est plus la création de l'interface et l'affichage des données que je n'ai jamais fais, existe-il des tutos? Avez-vous des pistes pour moi?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de GAYOT
    Homme Profil pro Jean-Damien GAYOT
    Inscrit en
    novembre 2004
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Damien GAYOT
    Âge : 59
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 344
    Points : 5 576
    Points
    5 576

    Par défaut

    Bonjour
    Pour tout ce qui est interface, il faut passer par les formulaires.
    Au début pour comprendre, ne pas hésiter à créer les formulaires avec l'assistant.
    Sinon il y a des tutos ici:
    http://access.developpez.com/cours/?page=interfaceform

    Il y a également des bases de données exemple.
    http://access.developpez.com/cours/?...nload#exemples

    Bon courage
    Plus j'avance et plus j'ai l'impression de ne rien savoir. Et comme j'essaie d'aller loin..!!.

    Tutoriels sur:http://jdgayot.developpez.com

    Pas de sujets techniques par Mp. Sinon

  3. #3
    Expert Confirmé Sénior
    Avatar de jimbolion
    Homme Profil pro Jean-Marie BAGNIS
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    2 228
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Marie BAGNIS
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 2 228
    Points : 4 683
    Points
    4 683

    Par défaut Faisabilité

    nesswaw bonsoir,

    Aucun soucis pour tout ce que tu souhaites mettre en oeuvre.

    Pour les heures, il te faudra stocker dans un champ numérique (calcul en secondes par exemple puis procéder à un formatage de tes données).

    Sur le peu que tu décris, quelques heures suffisent à réaliser ce que tu souhaites. Aucune inquiétude.

    Bon courage également

    JimboLion

  4. #4
    Membre du Club
    Inscrit en
    juillet 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 183
    Points : 46
    Points
    46

    Par défaut

    Bonjour,

    Merci pour votre réponse, j'en conclus donc que c'est possible de faire mon projet?

    Je vais allez voir ces liens, je vais surement revenir pour des questions.

    Et concernant le stockage des temps au format heure, vous avez des idées?

    Merci

  5. #5
    Expert Confirmé Sénior
    Avatar de jimbolion
    Homme Profil pro Jean-Marie BAGNIS
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    2 228
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Marie BAGNIS
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 2 228
    Points : 4 683
    Points
    4 683

    Par défaut Additionner des heures

    nesswaw bonsoir,

    Sur cette question posée il y a quelques jours tu trouveras tes réponses

    http://www.developpez.net/forums/d13...ionner-heures/

    Bonne soirée

    JimboLion

  6. #6
    Expert Confirmé Sénior

    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    2 488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 2 488
    Points : 4 001
    Points
    4 001

    Par défaut stockage date/heure

    Pour le stockage date et heure tu as un format de champs spécifique. Il est très simple d'effectuer une requête par rapport à une plage de date ( pour 2012 par exemple entre 1/1/2012 et 31/12/2012 )

    Tu as des fonctions pour convertir des heures en secondes,minutes, etc...

  7. #7
    Membre du Club
    Inscrit en
    juillet 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 183
    Points : 46
    Points
    46

    Par défaut

    Bonjour,

    Merci pour toutes vos réponses.

    J'ai commencé par créer des requêtes toutes simples, j'ai déjà deux questions:

    Lors de la création de mes requêtes, je suis en mode SQL, et je fais une sorte de "mise en page" pour que ça plus lisible pour moi, exemple:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT
    champ1,
    champ2,
    champ3,
    FROM table1
    LEFT JOIN table2 ON table1.id = table2.id
    WHERE ...
    GROUP BY ...
    Le problème que quand je ferme la requête et la ré-ouvre, il ne garde pas ma mise en page, il affiche:

    Code :
    1
    2
    3
    4
     
    SELECT champ1, champ2, champ3,
    FROM table1 LEFT JOIN table2 ON table1.id = table2.id
    WHERE ... GROUP BY ...
    Y-a-t-il une option pour enregistrer la mise en page?

    2ème soucis: Comment simplement afficher le résultat d'une requête dans un formulaire?

    Exemple j'ai une requête du style: SELECT SUM(nbre) AS total FROm table

    Et j'aimerais l'afficher dans un champ "Zone de texte" ou autre, j'ai essayé dans les options du champ -> Source contrôle -> j'ai mis: =[table]![nbre], sauf qu'il m'affiche un beau "#Nom*?"

    Que faire?

    Merci d'avance

  8. #8
    Expert Confirmé Sénior

    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    2 488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 2 488
    Points : 4 001
    Points
    4 001

    Par défaut réponse aux questions

    question 1

    Je ne pense pas que tu puisses enregistrer la pagination de ta requête

    question 2

    Si ta requête est enregistré, tu auras au pseudo-champs nommé total dans ton exemple tu affecte cette requête comme source de données de ton formulaire.

    Sinon en vba tu peux créer un recordsource contenant ta requête sql ( valable pour une requête figée en dur dans ton formulaire ) tu récupère la valeur dans une variable et l'affecte dans ton champ. Si cette méthode t’intéresses regarde la doc vba rescordsource

    Si tu t'en sors pas reviens vers nous.

  9. #9
    Membre du Club
    Inscrit en
    juillet 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 183
    Points : 46
    Points
    46

    Par défaut

    Bonjour,

    Merci pour vos réponses, effectivement il n'est pas possible de sauvegarder la mise en forme de la requête SQL...bref pas grave...

    J'ai bien avancé: créer les tables, les requêtes, et je fais maintenant un formulaire pour l'affichage des résultats.

    Et c'est maintenant que j'ai une question: dans ma table un temps est enregistré en secondes dans un champ numérique, comment faire pour que dans mon formulaire je puisse l'afficher sous forme d'heures: 36h 26min 45 secondes, c'est possible? Si ou comment faire?

    Merci d'avance

  10. #10
    Expert Confirmé Sénior
    Avatar de jimbolion
    Homme Profil pro Jean-Marie BAGNIS
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    2 228
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Marie BAGNIS
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 2 228
    Points : 4 683
    Points
    4 683

    Par défaut Secondes en h/m/s

    nesswaw bonsoir,

    Voilà une fonction toute prête à l'emploi que tu pourras utiliser indifferemment dans tes formulaires ou requetes.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function Secondes_heures_minutes(Tps_Sec)
    '
    heures = CLng(Tps_Sec / 3600)
    minutes = CLng((Tps_Sec Mod 3600) / 60)
    secondes = CLng(((Tps_Sec Mod 3600) Mod 60))
    '
    Secondes_heures_minutes = Format(heures, "00") & ":" & Format(minutes, "00") & ":" & Format(secondes, "00")
     
    '
    End Function
    Bonne Soirée

    JimboLion

  11. #11
    Membre du Club
    Inscrit en
    juillet 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : juillet 2007
    Messages : 183
    Points : 46
    Points
    46

    Par défaut

    Bonjour,

    Merci pour votre réponse et cette fonction, seulement je dois l'insérer ou? dans l'éditeur VBA? je dois créer un module?

    Et dans mon formulaire, je dois mettre ou cette fonction? dans le champ format?

    Merci d'avance

  12. #12
    Expert Confirmé

    Homme Profil pro Mandresy
    Inscrit en
    mai 2012
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Nom : Homme Mandresy
    Localisation : Madagascar

    Informations forums :
    Inscription : mai 2012
    Messages : 1 706
    Points : 3 379
    Points
    3 379

    Par défaut

    Bonjour,

    Tu insères ce code dans un module public VBA pour y avoir accès dans toute l'application.

    Dans un champ du formulaire, si tu as un champ TempsenSeconde, tu peux créer un nouveau contrôle zone de texte avec comme source :

    Code :
    =Secondes_heures_minutes([TempsenSeconde])
    comme tu demandais ici :
    comment faire pour que dans mon formulaire je puisse l'afficher sous forme d'heures: 36h 26min 45
    Bonne continuation
    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •