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

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    bonjour
    j'utilise un logiciel de pointage dont les états et leur contenus ne sont pas intuitifs et ne répondent pas a mon besoin, les données de ce logitiel son stockées dan des table access, mon problème est le suivant : est il possible de créer plusieurs enregistrements dans une table access a partir d'un formulaire ou requête pour avoir ce qui suit:
    Nom : tableau.JPG
Affichages : 122
Taille : 94,1 Ko

    c a d dans le formulaire on se contente de saisiri la première date de STARTSPECDAY (12/06/2018) et la derniere (28/06/2018) et tout le reste inchangé pour qu'il me crée les 17 enregistrements (ici 17 est le nombre de jours de congé octroyés et ça peut excéder ce nombre donc vous voyez que c'est fastidieux de les créer manuellement un a un)
    et merci pour votre aide et patience

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Bonjour.

    Oui c'est possible par contre il est parfois dangereux de jouer avec les données d'un logiciel dont on n'a pas le code.
    Les apparences sont parfois trompeuses. Une modification anodine en apparence pourrait planter sérieusement le système.
    Je te suggére d'ajouter tes données dans une table qui n'est pas celle du système de pointage.
    Par exemple, tu fais une copie des données de pointage dans une base à toi et tu y ajoutes tes données à la copie.
    Ou tu as une table des corrections dans une base à toi et tes données de pointage en lecture seule.

    Ces appels à la prudence faits, la réponse à ta question est quelque chose comme :

    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
    public sub AjouterPointage(prmUserId as long, prmDateDebut as date, prmDateFin as date)
       dim db as dao.database: set db=currentdb
       dim r as dao.recordset:set r=db.openrecordset("NomTaSource", dbOpenDynaset)
     
       dim iDate as date:for iDate = prmDateDebut to prmDateFin
           r.AddNew
           r![UserID]=prmUserId
           r![StartSpecDay]=iDate
           r![StartSpecDay]=iDate+timeserial(23,59,59)
           r![DateId]=2 'C'est une constante ?
           r![YuanYuin]=754 'Autre constante ?
           r![Date]=Now()
           r.Update
       next iDate
     
       r.close: set r=nothing
       db.close: set db=nothing
    end sub
    qui s'appelle par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call AjouterPointage(2, DateSerial(2018,6,12), DateSerial(2018,6,28))
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    merci infiniment pour votre réponse et vos précieux conseils
    sauf que je ne suis pas accro en VBA j'essaie par le learning by doing
    DATEID n'est pas une constante c'est une variable elle peut avoir les valeurs 1 ou 2 ou 3 selon le type de congé
    YUANYING n'est pas constant c'est un numéro d'enregistrement

    avec meilleures sls

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Bonjour.

    DATEID n'est pas une constante c'est une variable elle peut avoir les valeurs 1 ou 2 ou 3 selon le type de congé
    Est-ce que tu connais quelle valeur est à utiliser ? Si oui il suffit d'ajouter un paramètre.

    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
    public sub AjouterPointage(prmUserId as long, prmDateDebut as date, prmDateFin as date, prmType as long)
       dim db as dao.database: set db=currentdb
       dim r as dao.recordset:set r=db.openrecordset("NomTaSource", dbOpenDynaset)
     
       dim iDate as date:for iDate = prmDateDebut to prmDateFin
           r.AddNew
           r![UserID]=prmUserId
           r![StartSpecDay]=iDate
           r![StartSpecDay]=iDate+timeserial(23,59,59)
           r![DateId]=prmType 'C'est une constante ?
           r![YuanYuin]=754 'Autre constante ?
           r![Date]=Now()
           r.Update
       next iDate
     
       r.close: set r=nothing
       db.close: set db=nothing
    end sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     YUANYING n'est pas constant c'est un numéro d'enregistrement
    Est-ce un numéro séquentiel croissant depuis le dernier utilisé.
    Ex : le dernier est 1000 si tu en ajoutes 2 se sont 1001 et 1002 ?
    Si 1000 a une date supérieure aux enregistrements que tu veux ajouter que ce passe-t'il ?
    Est-ce que les nouveaux enregistrements sont bien 1001 et 1002 ou alors 1000 est renuméroté en 1002 et les autres enr deviennent 1000 et 1001 ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    je vous remercie pour votre réponse, je l'attendais avec impatience

    voila concernant DATEID est une variable numérique elle prend la valeur 1 ou 2 ou 3 selon le type de congé (annuel, maladie ou exceptionnel) elle sera traduite dans les requêtes par le texte (annuel , exceptionnel ou maladie)

    pour la variable YUANYING est une variable texte et n'est pas séquentielle c'est une donnée exogène attribuée au bureau d'ordre et qu'on se contente de saisir au formulaire, la table source étant USER_SPEDAY


    meilleures slts

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Bonjour.

    Ok donc le code final devrait être quelque chose comme :

    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
    public sub AjouterPointage(prmUserId as long, prmDateDebut as date, prmDateFin as date, prmType as long, prmNumDate as string)
       dim db as dao.database: set db=currentdb
       dim r as dao.recordset:set r=db.openrecordset("NomTaSource", dbOpenDynaset)
     
       dim iDate as date:for iDate = prmDateDebut to prmDateFin
           r.AddNew
           r![UserID]=prmUserId
           r![StartSpecDay]=iDate
           r![StartSpecDay]=iDate+timeserial(23,59,59)
           r![DateId]=prmType 
           r![YuanYuin]= prmNumDate
           r![Date]=Now()
           r.Update
       next iDate
     
       r.close: set r=nothing
       db.close: set db=nothing
    end sub
    Tu peux faire un formulaire de saisie des paramètres où l'utilisateur pourra :
    1. Choisir la personne (liste déroulante sur table des personnes)
    2. Choisir la date de début
    3. Choisir la date de fin
    4. Choisir le type de congé (liste déroulante sur table des types de congés)
    5. Entrer le numéro de date fourni par le bureau
    6. Puis en appuyant sur un bouton déclencher la création.


    Dans la procédure événementielle associée à l'événement sur click du bouton tu mets un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if not (isnull(me.IdUser) or isnull(me.DateDebut) or isnull(me.DateFin) or isnull(me.TypeConge) or isnull(me.NumDate)) then
         call AjouterPointage(me.UserId as long, me.DateDebut as date, me.DateFin as date, me.TypeConge as long, me.NumDate as string)
         msgbox "Ajout fait"
      else
         msgbox "Complétez toutes les zones SVP."
    end if
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    bonjour,
    merci pour votre réponse,
    ce sont mes premiers pas dans le VBA sur lequel je vais m'incliner ultérieurement
    j'ai essayé le code avec de minimes modif mais un message d'erreur apparait "argument ou appel de procédure incorrect"
    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
    Private Sub Commande12_Click()
    Public Sub AjouterPointage(prmUserId As Long, prmDateDebut As Date, prmDateFin As Date, prmType As Long, prmNumDate As String, prmYUANYING As String)
       Dim db As dao.database: Set db = CurrentDb
      Dim r As dao.Recordset: Set r = db.openrecordset(USER_SPEDAY, dbOpenDynaset)
     
       Dim iDate As Date: For iDate = prmDateDebut To prmDateFin
           r.AddNew
           r![UserID] = prmUserId
           r![StartSpecDay] = iDate
           r![StartSpecDay] = iDate + TimeSerial(23, 59, 59)
           r![DateId] = prmType
           r![YUANYING] = prmYUANYING
           r![Date] = Now()
           r.Update
       Next iDate
     
       r.Close: Set r = Nothing
       db.Close: Set db = Nothing
    End Sub
    End Sub
    je n'ai pas pu identifier l'erreur et j'essaie de franchir cette étape.
    avec meilleures slts

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Bonjour.

    Voici à quoi cela devrait ressembler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Commande12_Click()
         if not (isnull(me.IdUser) or isnull(me.DateDebut) or isnull(me.DateFin) or isnull(me.TypeConge) or isnull(me.NumDate)) then
              call AjouterPointage(me.UserId as long, me.DateDebut as date, me.DateFin as date, me.TypeConge as long, me.NumDate as string)
              msgbox "Ajout fait"
           else
              msgbox "Complétez toutes les zones SVP."
         end if
    end sub
    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
    public sub AjouterPointage(prmUserId as long, prmDateDebut as date, prmDateFin as date, prmType as long, prmNumDate as string)
       dim db as dao.database: set db=currentdb
       dim r as dao.recordset:set r=db.openrecordset("NomTaSource", dbOpenDynaset)
     
       dim iDate as date:for iDate = prmDateDebut to prmDateFin
           r.AddNew
           r![UserID]=prmUserId
           r![StartSpecDay]=iDate
           r![StartSpecDay]=iDate+timeserial(23,59,59)
           r![DateId]=prmType 
           r![YuanYuin]= prmNumDate
           r![Date]=Now()
           r.Update
       next iDate
     
       r.close: set r=nothing
       db.close: set db=nothing
    end sub
    Et je t'invite à donner un nom clair à ton bouton. Quelque chose comme btnAjouterConge, bref quelque chose que quand tu le vois, tu sais ce qu'il fait.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    bonjour,

    je vous remercie encore

    j'ai suivi vos conseil sauf que rien ne marche, étant débutant en VBA, apparemment le problème est une mauvaise conception de ma part ou une omission quelconque. Ce que j'ai fait:
    j'ai crée un formulaire vierge auquel j'ai crée autant de champs contenus dans la table ensuite j'ai nommé ces champs prmUserId , prmDateDebut , prmDateFin , prmType , prmNumDate
    ensuite, j'ai crée un bouton dans ce formulaire, dans l'enlèvement j'ai choisi code et j'ai collé ce code dans l’éditeur de codes en remplaçant "NomTaSource" par "USER_SPEDAY" tout en enregistrant avant de fermer l’éditeur
    ensuite en cliquant sur le bouton du formulaire, rien ne se passe et cela même après actualisation.

    meilleures slts

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Désolé pas toujours évident de doser entre trop et pas assez d'info quand on poste.

    Peux-tu poster une copie d'écran de ton formulaire et le code que tu as écris ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    bonjour et bon lundi
    je vous poste ci-joint par lien ma base allégée avec formulaire
    https://1drv.ms/u/s!AiB43akeGPZw2nhpdSRyLtJqoFA4
    slts

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Bonjour.

    Peux-tu juste poster le code ? Je n'ai pas l'équipement pour faire une installation.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    rebonjour
    capture formulaire
    Nom : formulaireJPG.JPG
Affichages : 40
Taille : 23,2 Ko
    ci-joint le 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
    Private Sub Commande10_Click()
    Public Sub AjouterPointage(prmUserId As Long, prmDateDebut As Date, prmDateFin As Date, prmType As Long, prmNumDate As String)
       Dim db As dao.database: Set db = CurrentDb
       Dim r As dao.Recordset: Set r = db.openrecordset("USER_SPEDAY", dbOpenDynaset)
     
       Dim iDate As Date: For iDate = prmDateDebut To prmDateFin
           r.AddNew
           r![UserID] = prmUserId
           r![StartSpecDay] = iDate
           r![StartSpecDay] = iDate + TimeSerial(23, 59, 59)
           r![DateId] = prmType
           r![YuanYuin] = prmNumDate
           r![Date] = Now()
           r.Update
       Next iDate
     
       r.Close: Set r = Nothing
       db.Close: Set db = Nothing
    End Sub
    End Sub
    slts

  14. #14
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Bonjour.

    Apparement le code n'est pas conforme à ce que j'ai décrit dans mon post du 14/03/2019, 17h26.

    Tu as imbriqué les 2 sub alors qu'il faut qu'elles soient séparées.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    bonjour,
    j'ai essaie ce code il fonctionne bien sauf que je souhaite que la saisie des données soit par le biais du formulaire et non pas avec des msgbox

    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
    Private Sub Commande0_Click()
    Dim prmUserId As Long, prmDateDebut As Date, prmType As Long, prmDateFin As Date, prmYUANYING As String
     
    Dim db As dao.Database: Set db = CurrentDb
    Dim r As dao.Recordset: Set r = db.OpenRecordset("USER_SPEDAY", dbOpenDynaset)
    prmUserId = InputBox("USER ID ? ")
    prmDateDebut = InputBox(" entrer date debut ")
    prmDateFin = InputBox(" entrer date fin ")
    prmType = InputBox(" type")
    prmYUANYING = InputBox("entregistrement")
    Dim iDate As Date: For iDate = prmDateDebut To prmDateFin
     
     r.AddNew
           r![UserID] = prmUserId
           r![StartSpecDay] = iDate
           r![ENDSPECDAY] = iDate
           r![StartSpecDay] = iDate + 1
           r![ENDSPECDAY] = iDate + 1
           r![DateId] = prmType
           r![YUANYING] = prmYUANYING
           r![Date] = Now()
           r.Update
       Next iDate
     
       r.Close: Set r = Nothing
       db.Close: Set db = Nothing
     
     
    End Sub
    il parait que le code ne se référè pas aux données saisies dans le formulaire dont je joins une capture avec ses propriétés

    Nom : form.JPG
Affichages : 31
Taille : 57,7 Ko


    meilleures slts

  16. #16
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    13 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 13 040
    Points : 19 757
    Points
    19 757

    Par défaut

    Bonjour.

    Je te renvoie à nouveau à mon post du 14/03/2019, 17h26 qui faisait cela.

    Le code associé au bouton appelle la procédure avec les paramètres.
    Ces paramètre sont pris dans le formulaire courant (me.).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2011
    Messages : 50
    Points : 35
    Points
    35

    Par défaut Création de plusieurs enregistrements selon un critère

    merci infiniment pour votre assistance
    j'ai essaie ce code il est efficace:
    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
    Private Sub executer_Click()
     
    Dim prmUserId As Long, prmDateDebut As Date, prmDateFin As Date, prmYUANYING As String
    Dim db As dao.Database: Set db = CurrentDb
    Dim r As dao.Recordset: Set r = db.OpenRecordset("USER_SPEDAY", dbOpenDynaset)
    prmUserId = Forms("Formulaire1").Controls("prUserId").Value
    prmDateDebut = Forms("Formulaire1").Controls("prDateDebut").Value
    prmDateFin = Forms("Formulaire1").Controls("prDateFin").Value
    prmYUANYING = Forms("Formulaire1").Controls("prYUANYING").Value
    Dim iDate As Date: For iDate = prmDateDebut To prmDateFin
     
     r.AddNew
           r![UserId] = prmUserId
           r![StartSpecDay] = iDate
           r![ENDSPECDAY] = iDate
           r![ENDSPECDAY] = iDate
           r![DateId] = 2
           r![YUANYING] = prmYUANYING
           r![Date] = Now()
           r.Update
       Next iDate
     
       r.Close: Set r = Nothing
       db.Close: Set db = Nothing
     
     
    End Sub
    avez vous des conseils pour le simplifier
    j'ai pas encore essayé Me.
    a bientôt

Discussions similaires

  1. [XL-2007] Recherche plusieurs valeurs selon deux critères
    Par Flal 60 dans le forum Excel
    Réponses: 7
    Dernier message: 07/04/2014, 18h41
  2. Reporter plusieurs valeurs selon un critère
    Par benzot dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 07/12/2013, 21h00
  3. Réponses: 4
    Dernier message: 22/06/2009, 18h14
  4. Création de plusieurs enregistrements à partir d’un champ mémo
    Par nayhau dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/08/2008, 12h44
  5. Afficher un enregistrement selon un critère saisie.
    Par pegase23 dans le forum Access
    Réponses: 2
    Dernier message: 23/06/2005, 10h54

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