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 :

ajouter des dates délémitées dans INSERT INTO ?


Sujet :

Access

  1. #1
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut ajouter des dates délémitées dans INSERT INTO ?
    Slt,
    Ma question est peut-etre bête mais suite a mes recherches sur les jours fériés et non ouvrés, etc.. rien ne pourra correspondre a mes besoins !
    Donc pour palier a mon problème je dois créer une table qui va avoir deux champs
    Date--->une date
    Ouvré-->Numérique--->1 ou 0 !! (Pas case a coché car je dois compter dessus après)

    Ma question est comment ajouter a cette table avec une SQL les 7 dates de la semaine suivante !!
    Exemple :
    Je suis le Dimanche 25 septembre 2005, si j'actionne la requete a aujourd'hui elle doit m'ajouter dans ma table :
    02/10/05 (Date()+7)
    03/10/05 (Date()+8 )
    04/10/05 (Date()+9)
    05/10/05 (Date()+10)
    06/10/05 (Date()+11)
    07/10/05 (Date()+12)
    08/10/05 (Date()+13)
    et c'est tout !!!!????
    Je vois pas trop comment construire ça???
    Merci de votre aide !!
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut
    et en faisant une boucle du style en VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    For I=7 To 13
     
        Record.AddNew
            Record(Date)=Date()+I
            If I<>12 Or I<>13 Then
                Record(Ouvré)=1
            Else
                Record(Ouvré)=0
            Endif
        Record.UpDate
    Next
    Maintenant, tu peux déclencher cette procédure en fonction de la date du jour où faire varier les bornes.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut
    En fouillant un peu, j'ai trouvé aussi la fonction weekday(date;DebutSemaine).

    Le résultat sera un numérique compris entre 1 et 7 (1 lundi, 2 mardi, 3 mercredi, etc...) si la semaine commence un lundi. Sinon ça sera (1 dimanche, 2 lundi, 3 mardi, etc...)

    La date est celle que tu soumets pour obtenir le résultat.

    Début semaine est un numérique 1 ou 2 (1 si tu veux faire débuter ta semaine un dimanche et 2 un lundi.

    J'espère que ça t'aidera

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    le mieux serait de gérer une table calendrier avec les jouts fériés
    et d'y puiser les jours ouvrés
    ceci étant je te joins deux fonctions qui me permettent de calculer les jours fériés
    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
     
    Public Function paq(an As Integer) As Date
    Dim a As Integer
    Dim b As Integer
    Dim c As Integer
    Dim d As Integer
    Dim e As Integer
    Dim f As Integer
    Dim g As Integer
    Dim h As Integer
    Dim j As Integer
    Dim k As Integer
    Dim r As Integer
    Dim m As Integer
    Dim n As Integer
    Dim p As Integer
    a = an Mod 19
    b = an \ 100
    c = an Mod 100
    d = b \ 4
    e = b Mod 4
    f = (b + 8) \ 25
    g = (b - f + 1) \ 3
    h = ((19 * a) + b - d - g + 15) Mod 30
    j = c \ 4
    k = c Mod 4
    r = (32 + (2 * e) + (2 * j) - h - k) Mod 7
    m = (a + (11 * h) + (22 * r)) \ 451
    n = (h + r - (7 * m) + 114) \ 31
    p = (h + r - (7 * m) + 114) Mod 31
    paq = DateSerial(an, n, p + 1)
    End Function
     
    Function ferie(unjour As Date) As String
    Dim mobile As Date
    mobile = paq(Year(unjour))
    If unjour = mobile Then
    ferie = "PÂQUES"
    Exit Function
    End If
    If unjour = mobile + 1 Then
    ferie = "LUND PÂQUES"
    Exit Function
    End If
    If unjour = mobile + 39 Then
    ferie = "ASCENCION"
    Exit Function
    End If
    If unjour = mobile + 49 Then
    ferie = "PENTECOTE"
    Exit Function
    End If
    If unjour = mobile + 50 Then
    ferie = " L PENTECOTE"
    Exit Function
    End If
    If Day(unjour) = 1 And Month(unjour) = 5 Then
    ferie = "FÊTE TRAV"
    Exit Function
    End If
    If Day(unjour) = 8 And Month(unjour) = 5 Then
    ferie = "VICT 1945"
    Exit Function
    End If
    If Day(unjour) = 14 And Month(unjour) = 7 Then
    ferie = "FET NAT"
    Exit Function
    End If
    If Day(unjour) = 1 And Month(unjour) = 11 Then
    ferie = "TOUSSAINT"
    Exit Function
    End If
    If Day(unjour) = 11 And Month(unjour) = 11 Then
    ferie = "ARMISTICE"
    Exit Function
    End If
    If Day(unjour) = 15 And Month(unjour) = 8 Then
    ferie = "ASOMPTION"
    Exit Function
    End If
    If Day(unjour) = 25 And Month(unjour) = 12 Then
    ferie = "NOEL"
    Exit Function
    End If
    If Day(unjour) = 1 And Month(unjour) = 1 Then
    ferie = "JOUR AN"
    Exit Function
    End If
    ferie = ""
    End Function
    Elle est pas belle la vie ?

  5. #5
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Slt,
    En fait merci beaucoup du coup car d'un problème de départ j'en ai découvert un autre et les soluces sont là
    Ma table

    Date-->date
    Ouvré-->Oui/Non
    Valeur-->1 ou 0

    Ma question est peut-etre bête mais suite a mes recherches sur les jours fériés et non ouvrés, etc.. rien ne pourra correspondre a mes besoins !
    J'explique pourquoi Valeur hors qu'avec Ouvré j'ai quasiment les même données!! c'est qu'un Ouvré (oui:non donc) peut-etre 0 ou 1 Valeur !!
    Cette valeur reste modifiable afin de donner le choix à l'utilisateur pour "interagir" plus loin sur l'etat d'un rdv !
    En fait il faut que cette fonction reste libre au choix de l'utilisateur, car elle sera utilisé pour un calcul sur la somme des valeurs associé entre deux dates ! et si le résultat est <=4 cela donne un état, >4 un autre !
    Mais l'utilisateur veut a son appréciation pouvoir agir dessus a sa guise !!!
    Donc faire ce calcul sur "Ouvré" serai une erreur car un jour ouvré ou non me sert déja mais pour réellement ce qu'il est !!
    Donc a ne pas changer !, pour faire un pseudo calcul, d'ou l'ajout de Valeur dans cette table !
    Les post "dérivent" quand au sujet de départ, mais tant mieux , car j'avais justement besoin de ce type de fonction (merci random ) !!!
    Mais pour répondre a ptitdragon-eric je prend avec plaisir
    For I=7 To 13

    Record.AddNew
    Record(Date)=Date()+I
    If I<>12 Or I<>13 Then
    Record(Ouvré)=1
    Else
    Record(Ouvré)=0
    Endif
    Record.UpDate
    Next
    Que je vais me charger d'appliquer de ce pas avec la variante suivante ; ce sera pour 31 fois!!! voir même, si je peux trouver la fonction qui pourrai ajouter à ma table tous les jours du mois suivant !!??!! A voir !
    Merci encore j'vais
    @+
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    pour tous les jours du mois suivants

    for j=1 to day(dateserial(year(date()),month(date)+2,1-1))
    Elle est pas belle la vie ?

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut
    une petite erreur s'est glissé sur le if Ce n'est pas Mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If I<>12 And I<>13 Then
    Car sinon dans tous les cas, il t'attribuera un jour ouvré

  8. #8
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Re,
    Random a écrit:
    for j=1 to day(dateserial(year(date()),month(date)+2,1-1))
    Heu... Oui ok mais comment
    Jamais utilisé cette fonction alors comment je la complète pour quelle ajoute a ma table T_JourOuvré dans le champ Date tous les jours du mois suivants????
    En fait cette opération se fera a l'ouverture d'un formulaire avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If((Me.Blabla)<=Date+30 then...
    Ou recherche si il y a des date du mois suivant dans la table sinon ajoute les dates du mois suivants dans la table !!
    Un truc du genre serai nickel !!
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    la fonction se contente modestement de renvoyer le nombre de jour dans
    le mois suivant
    Elle est pas belle la vie ?

Discussions similaires

  1. Ajouter des date d'intervention dans le calendrier outlook
    Par Patouillou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/05/2015, 00h00
  2. Ajout des dates manquantes dans une requete
    Par olibara dans le forum Développement
    Réponses: 4
    Dernier message: 08/04/2014, 15h00
  3. Date/heure dans INSERT INTO
    Par Skangell dans le forum IHM
    Réponses: 10
    Dernier message: 25/06/2008, 13h41
  4. Réponses: 2
    Dernier message: 21/07/2005, 14h20
  5. [MFC] Ajout des fichiers récents dans un menu
    Par Choupinou dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2004, 16h47

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