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

IHM Discussion :

Calendrier & gestion de rendez-vous dans une base Access [AC-2010]


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Calendrier & gestion de rendez-vous dans une base Access
    Bonjour,
    je vais essayer de l'expliquer en francais parce-que ce n'est pas ma langue maternelle (c'est le néerlandais).

    J'ai trouvé votre Access-database Calendrier & gestion de rendez-vous dans une base Access et je veux le changer un petit peu.

    Est-ce-que c'est possible de ...
    ... 1) changer les couleurs des RDV, dépandant du temps du RDV (comme : le matin = vert, l'apres-midi = jaune, le soir = rouge)
    ... 2) mettre tous les données du RDV dans des colonnes, non seulement les heures (comme 08:00 | 08:15 | DURAND | mémo) ET de changer le largeur des colonnes
    ... 3) ouvrir le formulaire RDV séparement? Je l'ai essayé, mais je ne peux pas entrer le date.

    Où est-ce-que je peux modifier.

    Merci bien d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    1)
    pas possible

    2)
    possible

    Il faut agir au niveau de la procédure "MajCalendrier" et plus précisément sur le code qui met à jour les zones de liste.

    3)
    possible

    Il faut déverrouiller le champ Date du formulaire "F_RendezVous", et bien remplir tous les champs.

    bon week-end,

    Denis

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci bien pour m'aider!

    Et où est-ce-que je peux ajuster le largeur des colonnes? (question 2)

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Il faut agir sur la propriété Largeurs colonnes (ColumnWidths) des zones de liste (ListBox) nommées "Agenda1"..."Agenda42" dans le formulaire "F_Calendrier".

    A+

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Salut,

    Je réponds à ton message privé :

    Les couleurs peuvent-être codées soit en hexadécimal soit avec la fonction RGB (Red, Green, Blue) en utilisant 3 octets en paramètres (lien):

    de 0 à 255 pour le rouge, le vert et le bleu.

    Cette fonction renvoie un entier long et utilise l'expression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RGB=65536*Red + 256*Green + Blue
    Donc pour avoir l'inverse tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Red = Int(RGB Mod 256)
    Green = Int((RGB Mod 65536) / 256)
    Blue = Int(RGB / 65536)
    Par contre pour certaine valeurs, comme des entiers négatifs ou > 16777216 alors ce sont des couleurs standards de windows.

    Par exemple le code couleur que j'utilise pour colorier le calendrier est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!F_Calendrier("Agenda" & i).BackColor =  -2147483624
    Il correspond à une couleur standard de windows nommée "Arrière-plan d'info-bulle système"

    Tu ne peux obtenir de paramètres RGB pour ce code

    Par contre tu as un fichier windows du genre "Constant.txt" ou le code hexadécimal est enregistré:

    ' System Colors
    Global Const SCROLL_BARS = &H80000000 ' Scroll-bars gray area.
    Global Const DESKTOP = &H80000001 ' Desktop.
    ...
    Il faudrait regarder de ce côté là

    A+

    Denis

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci bien!

    Je vais l'essayer...

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Si vous avez reçu une aide sur ce forum et si votre problème est résolu, on vous demande en retour de clore la discussion


  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    J'ai une autre question.
    J'ai ajouté "weekends" au T_employe. (= valeur fictif indicant combien de weekends l'employe doit travailler). (*)

    Maintenant, je veux que ce valeur est visible à coté du nom de l'employe.

    J'ai essayer de formuler le "SQL", mais au lieu du valuer, le calendrier me donne le "string" du SQL.

    Que doit-je faire?

    Wim

    (*) voir database inclus
    Fichiers attachés Fichiers attachés

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Tout à la fin de la procédure MajCalendrier, il faut mettre ce code :


    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
    Public Sub MajCalendrier()
    ' La procedure d'affichage des rendez-vous dans les zones de liste du calendrier en fonction de la date de début:
    ' La procedure sélectionne, pour chaque liste agenda, les RDV compris entre la date courante (DateC) et la date courante + 1 jours (DateC+1),
    ' et met à jour la liste.
     
    ...
    Dim rst As DAO.Recordset
     
    ...
    ...
     
    lesql_weekends = "SELECT T_Employe.IdEmploye, T_Employe.NomEmploye, T_Employe.weekends" & _
    " FROM T_Employe" & _
    " WHERE (T_Employe.IdEmploye=" & [Forms]![F_Calendrier]![IdEmploye] & ");"
     
    Set rst = CurrentDb.OpenRecordset(lesql_weekends)
     
    'opvullen van het weekendsveld
    Forms!F_Calendrier("weekends").Value = Nz(rst!weekends, Null)
    'einde testvba
     
    rst.Close
    set rst=nothing
     
    End Sub
    A+

    Denis

  10. #10
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci bien pour la solution!

    Mais je me demande pourquoi vous n'avez pas besoin d'un DAO.Recordset pour votre sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LeSql = "SELECT Format(HoraireDebut,'hh:nn'),Format(HoraireFin,'hh:nn'), " & _
                                    "IIf(Not IsNull(T_RendezVous.[NC]),T_Client.Nom & ' ' & T_Client.Prenom,'Autre') As RDV " & _
    "FROM T_RendezVous LEFT JOIN T_Client ON T_RendezVous.NC = T_Client.NC " & _
    "WHERE (IdEmploye= " & Nz(Forms!F_Calendrier!IdEmploye, 0) & ") and DateValue(T_RendezVous.HoraireDebut) = " & FormatDateUS(DateC) & _
    " ORDER BY T_RendezVous.HoraireDebut;"
    Et pour "mes" valeurs il y a un "Dim rst As DAO.Recordset"

    Wim

  11. #11
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Citation Envoyé par WimDC Voir le message
    Merci bien pour la solution!

    Mais je me demande pourquoi vous n'avez pas besoin d'un DAO.Recordset pour votre sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LeSql = "SELECT Format(HoraireDebut,'hh:nn'),Format(HoraireFin,'hh:nn'), " & _
                                    "IIf(Not IsNull(T_RendezVous.[NC]),T_Client.Nom & ' ' & T_Client.Prenom,'Autre') As RDV " & _
    "FROM T_RendezVous LEFT JOIN T_Client ON T_RendezVous.NC = T_Client.NC " & _
    "WHERE (IdEmploye= " & Nz(Forms!F_Calendrier!IdEmploye, 0) & ") and DateValue(T_RendezVous.HoraireDebut) = " & FormatDateUS(DateC) & _
    " ORDER BY T_RendezVous.HoraireDebut;"
    Et pour "mes" valeurs il y a un "Dim rst As DAO.Recordset"

    Wim
    Car dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!F_Calendrier("Agenda" & i).RowSource = LeSql
    Forms!F_Calendrier("Agenda" & i)désigne une listbox

    et

    Forms!F_Calendrier("Agenda" & i).RowSource désigne la requête ou le SQL qui va peupler la listbox

    Tandis que Forms!F_Calendrier("weekends").Value désigne la valeur contenue dans la textbox "weekends".

    Cordialement,

    Denis

  12. #12
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    merci pour l'explication.

    Wim

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut valeur de début
    Bonjour,

    j'ai une nouvelle question: je veux que le calendrier (F_Calendrier) montre les données de l'employé connecté qui est connu avec un Id (dans un query)

    J'ai essayé de changer le code ce-dessous, mais ca me donne une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Load()
     
    ' CODE ORIGINEL: 
    Me.IdEmploye = Me.IdEmploye.ItemData(0)
    ' MON CODE
    Me.IdEmploye = [qry_connect]![login_mdw_Id]
    Pouvez-vous m' aider svp?

    Wim

  14. #14
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Il faudrait que vous donniez le SQL de la requête qry_connect.

    Cdlt,

    Denis

  15. #15
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    1) je trouve l' employé connecté avec cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function MyEnviron(EnvVal As String) As String
      MyEnviron = VBA.Environ(EnvVal)
    End Function
    2) avec le SQL je trouve l'ID du l'employé dans le table "tbl_medewerkers" (medewerker est le néerlandais pour "employé")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tbl_medewerkers.mdw_naam, tbl_medewerkers.mdw_userid, tbl_medewerkers.mdw_toegangsniveau_HRM, tbl_medewerkers.[Id] AS login_mdw_Id
    FROM tbl_medewerkers
    WHERE (((tbl_medewerkers.mdw_userid)=MyEnviron("username")));
    3) je veux F_calendrier montre au début le calendrier du employé avec l'ID du sql et pas l'employé n° 1.

    Voice aussi le "printscreen" avec le résultat de SQL
    Images attachées Images attachées  

  16. #16
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Essaies ceci :

    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
    Private Sub Form_Load()
    Dim db as DAO.Database
    Dim rst as DAO.RecordSet
     
    set db=currentdb
    set rst=db.Openrecordset("qry_connect")
     
    Me.IdEmploye =rst![login_mdw_Id]
     
    rst.close
    set rst=nothing
     
    db.Close
    set db=nothing
     
    ...
    A+

  17. #17
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci en je l'ai essayé.

    Les données de l'employé sont correctes, mais...
    1) le nom de l'employé n'est plus visible dans le "scrollbox"
    2) et je ne peux pas choisir un autre employé.

    Mais... quand je change (comme "test") votre code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.IdEmploye = rst![login_mdw_Id]
    en mon Id:
    ...je vois le nom ét les données ét je peux choisir un autre employé.

    Bizarre, parce que je n'ai pas changé F_Calendrier

    Wim

  18. #18
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Fais un affichage de l'ID avant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MsgBox rst![login_mdw_Id]
     
    Me.IdEmploye =rst![login_mdw_Id]
    ...

  19. #19
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    le MsgBox indique "22" (mon ID = correct)

    Quand j'efface le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    rst.close
    set rst=nothing
    db.Close
    set db=nothing
    le nom de l'employé est visible ét je peux le changer.

    CORRECTION: j'ai mis le code APRES le MajCalendrier et maintenant ça fonctionne bien.


    Merci pour m'aider!

    Wim

  20. #20
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut petite question...
    est-il possible de changer le couleur des lignes dans un "agenda"? Où ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 41
    Dernier message: 17/06/2024, 17h30
  2. [MySQL] Calendrier avec gestion de rendez vous
    Par t-die dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/07/2012, 20h35
  3. Réponses: 0
    Dernier message: 30/04/2010, 15h18
  4. Gestion d'articles dans une base Access
    Par hyppo74 dans le forum Modélisation
    Réponses: 14
    Dernier message: 14/08/2008, 11h04
  5. Gestion d'inscriptions dans une base Access
    Par christeldehaen dans le forum Modélisation
    Réponses: 2
    Dernier message: 05/05/2008, 10h50

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