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 :

Est-il possible de faire cela sous Access?


Sujet :

Access

  1. #1
    Membre habitué
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 344
    Points : 127
    Points
    127
    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
    Invité
    Invité(e)
    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

  3. #3
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    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
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  4. #4
    Membre habitué
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 344
    Points : 127
    Points
    127
    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 éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    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
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 426
    Points : 43 045
    Points
    43 045
    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...
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre habitué
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 344
    Points : 127
    Points
    127
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 426
    Points : 43 045
    Points
    43 045
    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.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  9. #9
    Membre habitué
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 344
    Points : 127
    Points
    127
    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 éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  11. #11
    Membre habitué
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2007
    Messages : 344
    Points : 127
    Points
    127
    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 é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,

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    =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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/05/2015, 18h13
  2. Réponses: 0
    Dernier message: 02/06/2013, 12h47
  3. est-il possible de faire un exe d'un programme sous eclipse ?
    Par Pitch1222 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/03/2008, 18h12
  4. [Requete SQL]Est-ce possible de faire cela en SQL sous access 2000 ?
    Par titof90 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/05/2007, 15h39
  5. est il possible de faire un trie sur un paramètre donné
    Par chtiboss dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/03/2004, 11h51

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