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 :

inserer une requete sql dans une case à cocher [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut inserer une requete sql dans une case à cocher
    Bonjour,
    Il y 1 mois de cela avec l'aide immence de madefemer, j'ai crée un formulaire access qui contient des listes box et des textebox.
    Ce formulaire fonctionne à merveille .
    On me demande d'ameliorer ce formulaire .

    je m'explique,
    dans l'evenement open du formulaire, j'ai 4 listebox donc celui -ci :

    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 Form_Open(Cancel As Integer)
    'ListeBox_VracArrivee
    With Me.Liste_VracArrivee
        .ColumnHeads = True
        .ColumnCount = 7 ' nombre de colonne que doit avoir la listebox
        .BoundColumn = 1 ' la colonne de reference
      
        strSQLWHERE = "WHERE NOT SelectionArrivee AND NOT SelectionMiseAQuai AND NOT SelectionTerminee"
        strSQLWHERE1 = "WHERE tb_FrequenceLiaison.Frequence <> 'non reguliere' AND NOT SelectionArrivee AND NOT SelectionMiseAQuai AND NOT SelectionTerminee"     
    strSQLORDERBY = "ORDER BY tb_FrequenceLiaison.Frequence DESC,tb_ProvDest.Nom_Ville, tb_Liaison.Heure_Theo;" 'trier par nom de ville et Frequence
           
        .RowSource = txt_ChaineSQL & _
                        strSQLWHERE & vbCrLf & _
                         strSQLORDERBY
        
        .Requery
       
    End With
    End If
    je souhaiterais inserer dans mon formulaire , une case à cocher qui :
    case cocher : ma liste box ci dessous contient strSQLWHERE1 ( <> ma lise box ne contient pas les lignes "non reguliere")
    case non cocher : ma lise box ci dessous contient strSQLWHERE ( ma lise box contient les lignes "non reguliere")

    j'ai essayé ce code ci dessous mais il ne fonctionne pas dans l'évenement open du formulaire:
    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
     
    Private Sub Form_Open(Cancel As Integer)
    'ListeBox_VracArrivee
    With Me.Liste_VracArrivee
        .ColumnHeads = True
        .ColumnCount = 7 ' nombre de colonne que doit avoir la listebox
        .BoundColumn = 1 ' la colonne de reference
     
    If Cocher_VracArrivee_Frequence.Value = -1 Then
     .RowSource = txt_ChaineSQL & _
                      strSQLWHERE1 & vbCrLf & _
                     strSQLORDERBY
        .Requery
     
     
    Else
            .RowSource = txt_ChaineSQL & _
                      strSQLWHERE & vbCrLf & _
                     strSQLORDERBY
     .Requery
     
     
    End If
    End With

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour facteur,

    Ta case à cocher, elle est activée (c-a-d a des informations Oui ou Non) à l'ouverture du formulaire ?
    Parce que sinon, qui que tu fasses, ton code ne se déclenchera pas.

    Si la case est indépendante, il faudrait mettre le code sur l'évènement après mise à jour de la case à cocher.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Salut madefemere,
    Voilà ce que j'ai fait :
    j'ai crée un bouton à cocher ou j'ai inseré ce code dans l'évenement à cliquer :
    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
    Private Sub Cocher_VracArrivee_Frequence_Click()
    Dim Liste_VracArrivee As ListBox
     
    With Me.Liste_VracArrivee
        .ColumnHeads = True
        .ColumnCount = 7 ' nombre de colonne que doit avoir la listebox
        .BoundColumn = 1 ' la colonne de reference
     
        strSQLWHERE = "WHERE NOT SelectionArrivee AND NOT SelectionMiseAQuai AND NOT SelectionTerminee"
        strSQLWHERE1 = "WHERE tb_FrequenceLiaison.Frequence <> 'non reguliere' AND NOT SelectionArrivee AND NOT SelectionMiseAQuai AND NOT SelectionTerminee"
         strSQLORDERBY = "ORDER BY tb_FrequenceLiaison.Frequence DESC,tb_ProvDest.Nom_Ville, tb_Liaison.Heure_Theo;" 'trier par nom de ville et Frequence
     
        ' le critere WHERE NOT Selection correspond à la NON selection des lignes
        'de la listeboxListe_VracArrivee
     
     
     
    If Me.Cocher_VracArrivee_Frequence.Value = -1 Then
     Me.Liste_VracArrivee.RowSource = txt_ChaineSQL & _
                                      strSQLWHERE1 & vbCrLf & _
                                       strSQLORDERBY
    Me.Liste_VracArrivee.Requery
     
     
    Else
    Me.Liste_VracArrivee.RowSource = txt_ChaineSQL & _
                                    strSQLWHERE & vbCrLf & _
                                    trSQLORDERBY
     Me.Liste_VracArrivee.Requery
     
    End If
    End With
    End Sub
    Ce code est appélé dans l'évenement open du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Open(Cancel As Integer)
    .........
     
    'ListeBox_VracArrivee
    Call Cocher_VracArrivee_Frequence_Click
    le code fontionne bien.
    Mais j'ai un soucis dans le tri :
    dans la listebox Liste_VracArrivee : lorsque la case à cocher est bien cocher, le tri de liste box se fait correctement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQLORDERBY = "ORDER BY tb_FrequenceLiaison.Frequence DESC,tb_ProvDest.Nom_Ville, tb_Liaison.Heure_Theo;"
    mais lorsque la case à cocher n 'est pas cocher , le tri ne se fait pas : je n'ai plus le tri par nom ville

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Essaie de forcer le tri ascendant en mettant ASC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQLORDERBY = "ORDER BY tb_FrequenceLiaison.Frequence DESC,tb_ProvDest.Nom_Ville ASC, tb_Liaison.Heure_Theo ASC;"
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    c'est cool
    ca marche
    merci bien madefemere

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

Discussions similaires

  1. extraire le jour dans une requete sql dans une colone de type date
    Par levasseur62 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 17/04/2011, 21h42
  2. Réponses: 2
    Dernier message: 22/06/2006, 11h26
  3. [VB.Net] inserer un champs bytes dans une requete sql
    Par flyer_ dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/05/2006, 09h56
  4. Mettre une condition if dans une requete sql
    Par Sardonnen dans le forum Oracle
    Réponses: 4
    Dernier message: 24/03/2006, 11h25
  5. Importer valeur requete SQL dans une Requete
    Par qbihlmaier dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/03/2006, 14h24

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