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

VBA Access Discussion :

Problème avec champ Multi valeurs dans table


Sujet :

VBA Access

  1. #41
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Vous avez vraiment besoin de faire des regroupements sur cette requête ?

    Sinon essayé de mettre sous le champ ID, à la place de regroupement, expression.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  2. #42
    Futur Membre du Club
    Homme Profil pro
    directeur école de musique
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : directeur école de musique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 5
    Points
    5
    Par défaut
    avec expression ça ne fonctionne pas non plus ... et ai enlever les regroupement et toujours la procédure qui stop à : Set rsField1 = rs1.Fields("ID").Value

  3. #43
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Je vous joins ma version :

    Gestion Planning v1.zip

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  4. #44
    Futur Membre du Club
    Homme Profil pro
    directeur école de musique
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : directeur école de musique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 5
    Points
    5
    Par défaut
    Merci user !

    Bon la récurrence refonctionne pratiquement ... il n'y qu'une seule copie du rdv le choix de récurrence en nombre n'est plus pris en compte ... j'ai modifier la procédure .mais rien n'y fait vous aviez décelé une erreur tout à l'heure...

  5. #45
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Oui, il faudrait mettre un MoveFirst avant le test rsField1.EOF:

    Mais bien sur, il faut qu'il y ai toujours au moins 1 élève :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    Private Sub CmdActualiser_Click()
     
    Dim db As DAO.Database
    Dim rs1 As DAO.Recordset
    Dim rs2 As DAO.Recordset
    Dim rsField1 As DAO.Recordset
    Dim rsField2 As DAO.Recordset
    Dim n As Long, r As Long, dt As Date, HD As Date, HF As Date, IT, elv As String
    Dim s As Long
    Dim M As String 'variable memo
    Dim cls As String 'variable classe
    Dim prf As String 'variable profs
    Dim ctp As String 'variable cursustype
    Dim NA As String 'variable nom atelier
     
     
    Set db = CurrentDb
    Set rs1 = db.OpenRecordset("R_RendezVous2")
    Set rs2 = db.OpenRecordset("T_RendezVous", dbOpenDynaset)
     
    Do Until rs1.EOF
     
     
    IT = rs1!ID_Salles
    dt = rs1!DateRdV1
    r = rs1!Recurrence
    n = rs1!NbRecurrences
    HD = rs1!HoraireDebut
    HF = rs1!HoraireFin
    'elv = rs1!ID.Value
    s = rs1!TypeRdv
    cls = rs1!Classes
    prf = rs1!Professeur
    ctp = rs1!CursusType
    NA = Nz(rs1!Atelier_NOM, "")
     
    ' affectation au recordset du jeu d'enregistrement associé au champ ID
    Set rsField1 = rs1.Fields("ID").Value
     
    'M = rs1!Memo
     
    dt = dt + r
    HD = HD + r
    HF = HF + r
     
    Do While n > 0
     
         n = n - 1
     
       If (Not EstFerie(dt)) And (Not EstConge(dt)) And (Weekday(dt) <> 1) Then ' si jour ouvré.
     
          rs2.FindFirst "ID_Salles like '" & IT & "' and HoraireDebut=#" & Format(HD, "mm/dd/yyyy hh:nn") & "#"
     
          'and DateRdV1=#" & Format(dt, "mm/dd/yyyy") & "#"
     
          If rs2.NoMatch Then
             rs2.AddNew
             rs2!ID_Salles = IT
             rs2!DateRdV1 = dt
             rs2!Recurrence = r
             rs2!NbRecurrences = n
             rs2!HoraireDebut = HD
             rs2!HoraireFin = HF
             rs2!TypeRdv = s
     
     
             'rs2!ID.Value = elv
             rsField1.MoveFirst
     
                If Not rsField1.EOF Then
                   Set rsField2 = rs2.Fields("ID").Value
     
                   Do Until rsField1.EOF
     
                      rsField2.AddNew
                      rsField2.Fields(0).Value = rsField1.Fields(0).Value
                      rsField2.Update
     
                      rsField1.MoveNext
     
                   Loop
     
                   rsField2.Close
                   Set rsField2 = Nothing
     
                End If
     
             rs2!Classes = cls
             rs2!Professeur = prf
             rs2!CursusType = ctp
             rs2!Atelier_NOM = NA
             'rs2!Memo = M
             rs2.Update
     
          End If
     
          dt = dt + r ' on prend le jour d'après + récurrence
          HD = HD + r
          HF = HF + r
     
       Else ' si dimanche ou jour férié.
     
            dt = dt + r ' on passe au jour suivant
            HD = HD + r
            HF = HF + r
     
            n = n + 1
     
       End If
     
    Loop
     
    rsField1.Close
    Set rsField1 = Nothing
     
    rs1.MoveNext
    Loop
     
    rs1.Close
    Set rs1 = Nothing
     
    rs2.Close
    Set rs2 = Nothing
     
    MajPlanning
     
    End Sub
    à+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #46
    Futur Membre du Club
    Homme Profil pro
    directeur école de musique
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : directeur école de musique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 5
    Points
    5
    Par défaut Génial !
    Merci pour votre aide ! je 'ai plus qu'à arranger tout ça et peu avancer sur le reste! une dernière question et je ferme ce post ! comment faire en sorte de ne pas rendre les rs1 ou rs2 obligatoires ? est ce que je peux ecrir : AT=res1!Nz(NomAtelier,0) ?

  7. #47
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Vous pouvez faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AT=Nz(res1!NomAtelier,"")
    Le 2ème argument de la fonction nz correspond à la valeur qu'elle va renvoyer si res1!NomAtelier est nulle.

    Cdlt
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  8. #48
    Futur Membre du Club
    Homme Profil pro
    directeur école de musique
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : directeur école de musique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 5
    Points
    5
    Par défaut User The Boss
    merci !

    bonne soirée !

  9. #49
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Citation Envoyé par PUMPO Voir le message
    merci !

    bonne soirée !
    Merci, mais les champs multi-valués ça peut aussi compliquer un peu les choses
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  10. #50
    Futur Membre du Club
    Homme Profil pro
    directeur école de musique
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : directeur école de musique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 5
    Points
    5
    Par défaut Encore un souci
    Bonjour à tous,

    je reviens avec un souci de champ à valeurs multiples... J'ai créé un requête d'ajout pour alimenter une table "tuteur" basée sur la table "étudiant", cette requête est exécutée par un bouton; le but est de copier le nom prénom adresse de cette table quand l'étudiant et le tuteur sont la même personne et/ou de recopier l'adresse si c'est la même que celle entrée sur le formulaire étudiant. le problème c'est que la table tuteur contient un champ multi V pour les étudiants. Un dès que je lance la requête un message d'erreur apparaît "Une requête INSERT INTO ne peut pas contenir un champ à plusieurs valeurs"
    Je sollicite votre aide...

    merci,

    cordialement,

    Laurent

  11. #51
    Futur Membre du Club
    Homme Profil pro
    directeur école de musique
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : directeur école de musique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 5
    Points
    5
    Par défaut
    La requête:
    Nom : Capture2.JPG
Affichages : 164
Taille : 97,5 Ko

    Le message d'erreur :

    Nom : Capture.JPG
Affichages : 184
Taille : 111,8 Ko

  12. #52
    Futur Membre du Club
    Homme Profil pro
    directeur école de musique
    Inscrit en
    Septembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : directeur école de musique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2013
    Messages : 34
    Points : 5
    Points
    5
    Par défaut Encore des soucis de Multi !!!
    Bonjour,

    merci pour votre aide précieuse !

    J'imagine que vous devez être énormément sollicité...

    je me dirige à nouveau vers vous pour tenter de résoudre mon problème.

    j'ai intégré votre version de planning (GestPlan) pour avoir une vision par salle et par jour des occupations.(merci)

    Mais depuis le planning principal me joue des tours ...

    J'ai bien renommer les variables pour éviter les conflits possible mais rien n'y fait les Rdvs sont bien enregistrés dans la table mais plus d'affichage sur le planning avec des bugs au niveau des requêtes...(chois des horaires par exemples) dans le formulaire RendezVous. je suis certain que la variable "n" est en cause mais je ne peux agir dessus ...
    Si vous pouviez jeter un œil et me donner des pistes... les 2 planning s'ouvrent eux sans conflits! le deuxième s’ouvre via un bouton dans le planning principal (planning journalier).
    De plus j'ai dissocié les deux modules Planning , je pense qu'il aurai été possible de les fusionner pour que le planning journalier soit le miroir parfait du principale avec les jour fériés et les congés associés ... mais je me suis confronté à des bugs liés aux variables et au noms des champs de Table; est-il possible de gérer 2 forms plannings différents qui ouvrent tous deux le form RDV et se mettent à jours si une modification est effectuée ?
    merci d'avance
    cordialement,
    Laurent

    Ps: le fichier ( https://e-nautia.com/share/29177-mqty7r28 )

Discussions similaires

  1. Problème avec la multi-sélection dans une zone de liste
    Par Mimisio dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/07/2007, 16h23
  2. Champs multi valeurs => tables
    Par Kloun dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2007, 11h43
  3. [SQL] Problème avec nombre d'enregistrements dans une table
    Par zana74 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/08/2006, 13h28
  4. Problème avec nombre d'enregistrements dans une table
    Par zana74 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/08/2006, 13h21
  5. problème avec masque de saisie dans table
    Par porki dans le forum Access
    Réponses: 6
    Dernier message: 13/10/2004, 08h58

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