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 :

Mettre des valeurs de requete dans des TextBox [AC-2007]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Mettre des valeurs de requete dans des TextBox
    Bonjour,
    Je débute en informatique et j'ai un problème pour afficher un message par rapport à une comparaison de date, en effet je voudrais afficher un message lorsque la date est infèrieur a la date du jour (garantie terminée) et un autre quand la date n'est pas connu (inconnue) et quand la date est supèrieur a la date du jour sa m'affiche la date

    voici 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
    Private Sub lst_périph_Change() 
     
    Dim Req As String 
    Dim Req2 As String 
     
    If IsNull(Req) Then 
        Req = MsgBox("vous devez selectionner un périphérique!") 
    Else 
        Req = "SELECT N°_de_série, Téléphone_SAV " 
        Req = Req & "FROM Périphérique " 
        Req = Req & "WHERE Périphérique.N°Périph = '" & Me.lst_périph & "'" 
     
        lst_résult1.RowSource = Req 
        lst_résult1.Requery 
     
        Req2 = "SELECT Date_limite_garantie " 
        Req2 = Req2 & "FROM Périphérique " 
        Req2 = Req2 & "WHERE Périphérique.N°Périph = '" & Me.lst_périph & "'" 
     
        If Req2 > Now() Then 
            lst_date1.RowSource = Req2 
            lst_date1.Requery 
        Else 
            If Req2 < Now() Then 
                lst_date1.RowSource = "Garantie terminée" 
                lst_date1.Requery 
            Else 
                If Req2 = "" Then 
                    lst_date1.RowSource = "Inconnue" 
                    lst_date1.Requery 
                End If 
            End If 
        End If 
    End If 
    End Sub
    Mais toute la partie qui concerne la restriction sur Req2 ne marche pas

    Merci

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut autre test
    j'ai essayé de résoudre le problème d'une autre façons mais elle aussi ne marche pas.

    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
    Private Sub lst_périph_Change()
     
    Dim Req As String
    Dim Req2 As String
     
    If IsNull(Req) Then
        Req = MsgBox("vous devez selectionner un périphérique!")
    Else
        Req = "SELECT N°_de_série, Téléphone_SAV "
        Req = Req & "FROM Périphérique "
        Req = Req & "WHERE Périphérique.N°Périph = '" & Me.lst_périph & "'"
     
        lst_résult1.RowSource = Req
        lst_résult1.Requery
     
        Req2 = "SELECT Date_limite_garantie "
        Req2 = Req2 & "FROM Périphérique "
        Req2 = Req2 & "WHERE Périphérique.N°Périph = '" & Me.lst_périph & "'"
     
        If Req2 > Now() Then
            lst_date1.RowSource = Req2
            lst_date1.Requery
        Else
            If Req2 < Now() Then
                MsgBox ("GARANTIE TERMINEE")
            Else
                If Req2 = "" Then
                    MsgBox ("INCONNUE")
                End If
            End If
        End If
    End If
     
    End Sub
    si quelqu'un peu m'aider

    merci d'avance

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    Dans les premières lignes, il y a des incohérences.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Req As String 
    Dim Req2 As String 
     
    If IsNull(Req) Then 
        Req = MsgBox("vous devez selectionner un périphérique!") 
    Else
    Tu déclare Req et tu testes si elle est null : c'est sur qu'elle est null puisque non chargée.
    Je pense que tu veux plutôt tester Me.lst_périp


    Ensuite, tu charges Req2 avex une chaine de caractères et tu la compare à la date du jour ?

    Si le but est de rechercher la date limite dans la table essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Req2=Dlookup("[Date_limite_garantie]","Périphérique","[Périphérique.N°Périph]='" & Me.lst_périph & "'")
    La fonction est constituée de la sorte DLookUp(ChampCherché,TableouRequete, CritereDeRecherche)

    Ensuite tu met le résultat dans une zone de texte et pas une Zone de Liste

    bon courage

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut problème de comparaison
    Bonjour fgiambelluco et merci de m'aider,

    Citation Envoyé par fgiambelluco Voir le message
    Ensuite, tu charges Req2 avex une chaine de caractères et tu la compare à la date du jour ?
    En faite je veux comparer la date qui me sera renvoyer par Req2 avec la date du jour enfin de savoir si la garantie est encore bonne ou non.

    Dans le cas ou la garantie est encore bonne ça m'affiche la date limite de garantie.

    Dans le cas ou la date n'est plus bonne ça m'affiche "Garantie terminée".

    Et dans le cas ou Req2 ne renvoye pas de date que ça affiche "Inconnue"

    et c'est pour tout ça que j'ai un problème, peux tu m'aider?

    Merci d'avance

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Tu dois créer un nouveau champ dans ta requète.
    Prends ta reqête en mode création, clic sur la première ligne de la 1ere colonne vide et tape la fonction qui te permet de tester ta date de garantie
    Images attachées Images attachées  

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Solution du problème
    bonjour et encore merci fgiambelluco,

    Pour les personnes qui pourrait avoir le même problème voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Req2 = Nz(DLookup("[date_limite_garantie]", "Périphérique", "[N°Périph] = '" & Me.lst_périph & "'"), "")
        If Req2 = "" Then
            txt_date1.Value = "Inconnue"
        Else
            If CVDate(Req2) <= Date Then
                txt_date1.Value = "Garantie terminée"
            Else
                txt_date1.Value = Req2
            End If
        End If

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

Discussions similaires

  1. [XL-2007] Mettre des valeurs de cellules dans un textbox
    Par Lelldorin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/04/2013, 11h26
  2. [XL-2007] Mettre des valeurs de cellules dans un textbox
    Par Lelldorin dans le forum Excel
    Réponses: 1
    Dernier message: 29/04/2013, 10h37
  3. Réponses: 2
    Dernier message: 27/06/2007, 10h42
  4. Récupérer des valeurs de checkbox dans MySQL
    Par digger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2005, 14h58
  5. Réponses: 17
    Dernier message: 18/03/2005, 09h23

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