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

Requêtes et SQL. Discussion :

test sur date [AC-2007]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 80
    Par défaut test sur date
    Bonjour a tous,
    dans ma base de donnees, j'ai cree un formulaire dans lequel je rentre 2 dates
    puis en appuyant sur un bouton, je lance une requete pour faire une recherche de tout mes clients dont la date d'installation est comprise entre ces 2 dates qui doivent s'enregistrer dans une table independante.
    Hors avec le code que j'ai mis, lorsque je trouve une date d'installation qui repond aux criteres, il m'enregistre toutes les lignes de ma table.
    Si ce n'est pas le cas il n'enregistre rien.
    Je ne sait pas ou est l'erreur.

    Voici 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
        Dim conn As New adodb.Connection
        Dim rs As New adodb.Recordset
        Dim Enr As Recordset
        Dim max As Date
        Dim min As Date
        Dim stDocName As String
     
        DoCmd.SetWarnings False 'Permet de ne pas afficher les messages
     
        Set conn = CurrentProject.Connection
        rs.ActiveConnection = conn
        rs.Open "t_client", conn, adOpenDynamic, adLockOptimistic
     
        Set Enr = CurrentDb.OpenRecordset("t_client")
        Enr.MoveFirst
        'MsgBox Enr("date d'installation")
     
        DoCmd.RunSQL "DELETE * FROM t_client_installe"
     
        max = Forms![f_liste clients_installes]!Texte9
        min = Forms![f_liste clients_installes]!Texte7
     
        Do While rs.BOF = False And rs.EOF = False
     
            If (Enr("date d'installation") >= min) And (Enr("date d'installation") <= max) Then
                DoCmd.RunSQL "INSERT INTO t_client_installe ([numero_commande],[nom],[code postal],[date d'installation]) SELECT [numero_commande],[nom],[code postal],[date d'installation] FROM t_client"
            End If
     
            Enr.MoveNext
     
        Loop
     
        Enr.Close
        conn.Close
        Set conn = Nothing
    merci d'avance pour toute aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    pourquoi pas plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If (Enr("date d'installation") Between min And  max)

  3. #3
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    salut tibiurs et GAYOT,

    Citation Envoyé par tibiurs
    il m'enregistre toutes les lignes de ma table.
    normal...

    cela devrait te suffire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        DoCmd.SetWarnings False
        DoCmd.RunSQL "DELETE * FROM t_client_installe"
        DoCmd.RunSQL "INSERT INTO t_client_installe ([numero_commande],[nom],[code postal],[date d'installation]) SELECT [numero_commande],[nom],[code postal],[date d'installation] FROM t_client WHERE [date d'installation] BETWEEN #" & Forms![f_liste clients_installes]!Texte7 & "# AND #" & Forms![f_liste clients_installes]!Texte9 & "#"

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 80
    Par défaut
    merci beaucoup ca fonctionne bien ormis le fait qu'il me sauvegarde tous les enregistrements qui sont antérieurs a la date min

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    je ne pense pas que la requete soit en cause. c'est souvent le pb entre le format FR saisie et US utilisé par access.

    vérifie cela et converti en conséquence.


  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 80
    Par défaut
    ok je viens d'essayer de convertir mes dates au format US en utilisant la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Function ap_SQLArgDate(ByVal vDate As Date) As String
        On Error Resume Next
            If Not IsNull(vDate) Then
                ap_SQLArgDate = "#" & Format$(vDate, "mm/dd/yyyy") & "#"
            End If
        End Function
    Mais lorsque je l'appelle, il me renvoie le message objet requis
    je suis un peu perdu

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

Discussions similaires

  1. [MySQL] test sur date
    Par stefano dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/07/2012, 19h40
  2. [XL-2007] petit test sur dates alimentées par variable tableau
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/02/2012, 11h21
  3. [SQL*Loader] Test sur date non renseigné
    Par frostiesI7 dans le forum SQL*Loader
    Réponses: 5
    Dernier message: 25/10/2011, 17h25
  4. Problème test sur date
    Par gdavezac dans le forum Débuter
    Réponses: 3
    Dernier message: 25/04/2009, 15h10
  5. Test sur date + heure
    Par zoidy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/08/2007, 11h15

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