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 :

Afficher dernier jour du mois précédent


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut Afficher dernier jour du mois précédent
    Bonjour,
    j'utilise le code suivant pour afficher le dernier jour du mois précédent sous la forme 01/02/2012 11:20:02 , malheureusement
    il ne m'affiche que l'avant dernier jour (exemple le 28 pour le mois de février 2012)
    Quelqu'un a une de détails manquant?

    Voici le fameux code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fin = Format(DateAdd("d", -1, CDate("1/" & Format(Date, "mm/yyyy"))), "yyyy\-mm\-dd 00:00:00")



    merci par avance ,

    Cordialement,


    Kedmard

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonsoir,

    Je ferai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fin = Format(DateSerial(Year(Date), Month(Date), 1) - 1, "yyyy\-mm\-dd 00:00:00")
    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Bonjour LedZeppII,

    ça n'a rien changé ça affiche toujours les données jusqu'à l'avant dernier jour du mois dernier .

    Voici l'ensemble de mon 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
    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
    Function TBQS_ACTIVITE_ARS_V7()
    Const TABLE_RESULTAT = "TB_ACTIVITE"
    Dim cn As ADODB.Connection
    Dim cmd As ADODB.Command
    Dim MonRs As ADODB.Recordset
    Dim oField As ADODB.Field
    Dim out_rst As Recordset
    Dim Début As Date
    Dim Fin As Date
    
    
    'Initialisations
    Début = Format(CDate("1/" & Format(DateAdd("m", -1, Date), "mm/yyyy")), "yyyy\-mm\-dd 00:00:00")
    'Fin = Format(DateAdd("d", -1, CDate("1/" & Format(Date, "mm/yyyy"))), "yyyy\-mm\-dd 00:00:00")
    Fin = Format(DateSerial(Year(Date), Month(Date), 1) - 1, "yyyy\-mm\-dd 00:00:00")Set out_rst = CurrentDb.OpenRecordset(TABLE_RESULTAT)
    
    Set cn = New ADODB.Connection
    cn.ConnectionString = Connexion_ARS_V7
    cn.Open
    Set cmd = New ADODB.Command
    SQL = "SELECT Submit_Date, Product_Categorization_Tier_1, Product_Categorization_Tier_2, Product_Categorization_Tier_3, Incident_Number, Status, Assigned_Group, Assignee, Description, Contact_Company, Organization, Department, Submitter, Last_Name, Connexion, Direct_Contact_Last_Name, Priority, NbreAppels, Last_Resolved_Date, GCE_Environnement, GCE_Instance_de_production, Detailed_Decription, Last__Assigned_Date, " _
        & "TicketType, Resolution, Resolution_Method, Last_Modified_Date, Owner_Support_Organization,  Owner_Group " _
        & "FROM HPD_Help_Desk " _
        & "WHERE TicketType = 'Incident' " _
          & "and Owner_Support_Organization = 'STAU' " _
          & "and Product_Categorization_Tier_1 like 'Technique-%' " _
          & "and Submit_Date >= {ts'" & Début & "'} " _
          & "and Submit_Date <= {ts'" & Fin & "'} " _
        & "ORDER BY Submit_Date"
    '    & "Status<>'Resolved' and Status <> 'Closed' "
    Debug.Print SQL
    With cmd
        .ActiveConnection = cn
        .CommandText = SQL
        Set MonRs = cmd.Execute
    End With
    
    MonRs.Close
    Set MonRs = Nothing
    Set MonRs = New ADODB.Recordset
    MonRs.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdText
    
    MonRs.MoveFirst
         SQL = "DELETE * FROM " & TABLE_RESULTAT
         CurrentDb.Execute SQL
    
    
    Do While Not MonRs.EOF
      out_rst.AddNew
    
      For Each oField In MonRs.Fields
          out_rst.Fields(oField.Name).Value = oField.Value
      Next oField
    
      out_rst.Update
    MonRs.MoveNext
    Loop
    
    Set cn = Nothing
    Set cmd = Nothing
    Set out_rst = Nothing
    Set MonRs = Nothing
    End Function

    Le but de ce code est de créer remplir la TB_ACTIVITE des données sur la plage de dates renseignées (1 er et dernier jour du mois précédent)


    Lorsque j'écris j'ai un message d'érreur :

    Expected element not Found


    Lorsqu'ils mis en string le programme s'exécute mais jusqu'à l'avant dernier jour du mois précédent.


    Merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 666
    Points : 34 374
    Points
    34 374
    Par défaut
    Salut,

    la fonction format retourne une chaine de caractêre c'est normal

    Inutile d'initialiser ta date avec un format quelconque, simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fin = DateSerial(Year(Date), Month(Date), 1) - 1
    fera l'affaire

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Toujours le même message d'erreur,

    Je me dis, puisque dans la table d'origine la variable submit_Date est sous la forme 01/02/2012 11:20:02 il serait judicieux que

    Fin soit du même format ?


    Ps:ce code est celui d'un collègue,

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 666
    Points : 34 374
    Points
    34 374
    Par défaut
    "toujours la même erreur", à quelle ligne exactement stp ?

    je suppose que le set Rs en bout d eligne est une erreur de recopie dans le forum

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Ligne 35


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MonRs = cmd.Execute

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 666
    Points : 34 374
    Points
    34 374
    Par défaut
    bon, alors juste un peu de lecture
    http://drq.developpez.com/vb/tutoriels/ADO/
    http://vb.developpez.com/bidou/recordset-ado/

    soit tu exécutes une requete action, soit tu récupères le jeu d'enregistrement dans un recordset, mais pas de combo

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    ouf j'ai fini par trouver quelque chose qui marche,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fin = Format(CDate("1/" & Format(Date, "mm/yyyy")), "yyyy\-mm\-dd 00:00:00")
    les données s'affiche maintenant jusqu'au dernier jour du mois précédent.

    Merci quand même à vous Messieurs pour vos réponses,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 06/08/2013, 17h59
  2. Afficher le dernier jour du mois
    Par ilanb dans le forum Requêtes
    Réponses: 16
    Dernier message: 30/07/2009, 15h51
  3. Requete jusqu'au dernier jour du mois précédent
    Par stephanies_1977 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/01/2009, 12h01
  4. Dernier jour du mois
    Par jane_ng dans le forum Langage
    Réponses: 13
    Dernier message: 03/08/2006, 13h43
  5. premier et dernier jour du mois
    Par oneill701 dans le forum Bases de données
    Réponses: 9
    Dernier message: 21/06/2006, 12h05

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