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 :

[VBA Access2003] effacer le rowsource, rowsourcetype + passage d'une Zlst à une autre


Sujet :

Access

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Par défaut [VBA Access2003] effacer le rowsource, rowsourcetype + passage d'une Zlst à une autre
    salut à vous,

    je travaille en ce moment, sur une procédure me permétant, de faire passer des valeur d'une Zone de liste, vers une autre. j'ai trouver cette procédure,
    http://access.developpez.com/sources...erListeRequete

    adapter comme ceci :

    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
     
    Sub Transfert(ByRef LstSource As ListBox, ByRef LstDestination As ListBox)
    Dim i As Integer
    Dim Db As Database
    Dim SqlUpdate As String
     
    Set Db = CurrentDb
     
    If Me.E_Completer.Visible Or Me.LST_NomProg.Visible Then
        For i = 0 To LstSource.ListCount - 1
            'si l'élement est sélectionné dans la liste source,
            'inverse le champ selection
            If LstSource.Selected(i) Then
                SqlUpdate = "UPDATE T_FICHIER SET Selection = NOT Selection " & _
                            "WHERE NumFich= " & LstSource.Column(0, i)
                Db.Execute SqlUpdate
            End If
        Next
    Else
        If Me.LST_NomFich.Visible Then
            For i = 0 To LstSource.ListCount - 1
                'si l'élement est sélectionné dans la liste source,
                'inverse le champ selection
                If LstSource.Selected(i) Then
                    SqlUpdate = "UPDATE T_PROGRAMME SET Selection = NOT Selection " & _
                                "WHERE NumProg = " & LstSource.Column(0, i)
                    Db.Execute SqlUpdate
                End If
            Next
        End If
    End If
     
    'Rafraichit la zone de liste source
    LstSource.Requery
     
    'Rafraichit la zone de liste destination
    LstDestination.Requery
     
    End Sub
    ________________________________________________________________
    Private Sub CMD_Ajoute_Click()
    Transfert LST_ProgFichNonUtiliser, LST_ProgFichUtiliser
    End Sub
    ________________________________________________________________
    Private Sub CMD_Retire_Click()
    Transfert LST_ProgFichUtiliser, LST_ProgFichNonUtiliser
    End Sub
    la valeur de sélection change, sa pas de problème, mais quand je fait les requery, les liste erste tel qul

    j'ai regardé le rowsource et le row source type des liste, et il ne tien pas compte de selection alors que dans mon code, partout ou je fait des déclaration concernant les liste, j'ai bien mis "selection" dans les requète SQL

    donc j'aimerais savoir si j'ai fait une érreur dans le bout de code que j'ai poster, ou comment redéfinir le rowsource et le rowsourceType, j'ai essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Me.MaListe1.RowSourceType = ""
    Me.MaListe1.RowSource = ""
    Me.MaListe2.RowSourceType = ""
    Me.MaListe2.RowSource = ""
     
    Me.recordsource = ""
     
    Me.MaListe1.RowSourceType = vbnullstring 'ou vbnull
    Me.MaListe1.RowSource = vbnullstring 'ou vbnull
    Me.MaListe2.RowSourceType = vbnullstring 'ou vbnull
    Me.MaListe2.RowSource = vbnullstring 'ou vbnull
    et rien ne marche est-ce un bug d'access je ne peux pas redéfinir le rowsource/type.

    deplus j'ai fermer et redémarrer access plusieurs fois, mais sa reste pareil

    il faut préciser que ces liste sont soit des liste de programme, soit des liste de fichier suivant ce que l'on fait dans l'application.

    [Edit] je viens d'ajouter ma base de donnée, si vous en avez besoin.
    là ou je suis arriver dans les test, il n'y à que ce qu'il y a au dessus qui plante. please help [/Edit]

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Par défaut
    un truc étrange, quand dans cette même procédure,

    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
    Sub Transfert(ByRef LstSource As ListBox, ByRef LstDestination As ListBox, ByVal BoutonDenvoie As String)
    Dim i As Integer
    Dim Db As Database
    Dim SqlUpdate As String
    
    Set Db = CurrentDb
    If BoutonDenvoie = "Retire" Or BoutonDenvoie = "Ajoute" Then
        If Me.E_Completer.Visible Or Me.LST_NomProg.Visible Then
            For i = 0 To LstSource.ListCount - 1
                'si l'élement est sélectionné dans la liste source,
                'inverse le champ selection
                If LstSource.Selected(i) Then
                    SqlUpdate = "UPDATE T_FICHIER SET Selection = NOT Selection " & _
                                "WHERE NumFich= " & LstSource.Column(0, i)
                    Db.Execute SqlUpdate
                End If
            Next
        Else
            If Me.LST_NomFich.Visible Then
                For i = 0 To LstSource.ListCount - 1
                    'si l'élement est sélectionné dans la liste source,
                    'inverse le champ selection
                    If LstSource.Selected(i) Then
                        SqlUpdate = "UPDATE T_PROGRAMME SET Selection = NOT Selection " & _
                                    "WHERE NumProg = " & LstSource.Column(0, i)
                        Db.Execute SqlUpdate
                    End If
                Next
            End If
        End If
    Else
         'CETTE LISTE EST ATTRIBUER EN DURE <> PAR LE CODE   et la sa marche nickel chrome [edit]sa marche plus non plus:cry: :cry: [/edit]
        For i = 0 To LstSource.ListCount - 1
            'si l'élement est sélectionné dans la liste source,
            'inverse le champ selection
            If LstSource.Selected(i) Then
                SqlUpdate = "UPDATE T_PROGRAMME SET Selection = NOT Selection " & _
                                 "WHERE NumProg = " & LstSource.Column(0, i)
                Db.Execute SqlUpdate
            End If
        Next
    End If    
    
    'Rafraichit la zone de liste source
    LstSource.Requery
    
    'Rafraichit la zone de liste destination
    LstDestination.Requery
    
    End Sub
    d'ou pourais venir le problème

Discussions similaires

  1. passage des variables d'une classe à une autre
    Par zibou7 dans le forum Langage
    Réponses: 4
    Dernier message: 19/02/2007, 16h46
  2. Réponses: 6
    Dernier message: 29/09/2006, 10h18
  3. Passage de paramètre d'une classe à une autre
    Par semenzato dans le forum C++
    Réponses: 3
    Dernier message: 21/09/2005, 13h59
  4. [C#] Passage de valeur d'une fenêtre à une autre
    Par groum999 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/09/2004, 14h12
  5. [VBA-E] Effacer les doubles dans 1 colonne grace à une macro
    Par Stef.proxi dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/08/2004, 15h44

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