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 :

Zone de liste


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 139
    Points : 113
    Points
    113
    Par défaut Zone de liste
    Bonjour,

    J'ai une zone de liste qui prend ces valeurs d'aprés une table...Est-il possible, en selectionnant une ligne de cette liste de cliquer sur un bouton qui fera disparaitre cet élément de la liste (et effectuera un traitement derrière), sans l'effacer de la table de la bdd ??

    Edit: j'explique mon problème tout bête conceptuellement j'ai une zone de liste a gauche et une a droite, avec deux boutons droite et gauche au centre, et en cliquant sur un élément de la liste de gauche par exemple et sur le bouton, cet élément disparait a gauche et se rajoute a droite...

    Merci

  2. #2
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    en passent par une autre table ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 139
    Points : 113
    Points
    113
    Par défaut
    Oui c'est ce que je pensais, je voulais savoir si quelqu'un aurait eu une autre idée, mais c'est vrai que je vois pas trop comment faire autrement

  4. #4
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    ou avec 2 tableau 2D ou 1 en 3D (mais là tu va te perdre dedans)

  5. #5
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu créés 2 tables temporaires (préfixées TMP):
    • TBLTempSource
    • TBLTempDestination

    Tu rempli la TBLTempSource ave cles données dont tu as besoin (UPDATE...)
    Tu poses un bouton entre deux listes.
    • La première liste (lstTempTableSource) est fondée sur TBLTempSource
    • La seconde liste (lstTempTableDestination) est fondée sur TBLTempDestination
    • Les 2 listes sont vidées au démarage et la source est remplie avec une autre table.
    • Les deux listes possèdent mêmes propriétés (BoundColumn, ColumnWidth...)


    Enfin voici un bout de code qui peut t'aider à démarrer...
    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
    Option Compare Database
    Option Explicit
    
    Private Sub cmdFillRightList_Click()
    Dim strSelection As String
    
      If IsNull(Me!lstTempTableSource) Then Exit Sub
      strSelection = Me!lstTempTableSource
      If NotAlreadyExists(strSelection) Then
        AddNewItem strSelection, "TBLTempDestination", "TBLTempSource"
        lstTempTableDestination.RowSource = "TBLTempDestination"
      Else
        MsgBox "Élément déjà ajouté !", 48
      End If
    End Sub
    
    Private Sub Form_Load()
    Dim SQLDelete As String
    Dim SQLInsert As String
    
      SQLDelete = "DELETE * FROM TBLTempSource"
      CurrentDb.Execute SQLDelete, dbSeeChanges
      SQLInsert = "INSERT INTO TBLTempSource ( [Code catégorie], " & _
      "[Nom de catégorie], Description,  Illustration ) SELECT " & _
      "Catégories.[Code catégorie], Catégories.[Nom de catégorie], " & _
      "Catégories.Description, Catégories.Illustration FROM Catégories;"
      CurrentDb.Execute SQLInsert, dbSeeChanges
      SQLDelete = "DELETE * FROM TBLTempDestination"
      CurrentDb.Execute SQLDelete, dbSeeChanges
      lstTempTableSource.Requery
    End Sub
    
    Private Function NotAlreadyExists(ByVal ItemToCheck As String) As Boolean
    Dim oRS As Recordset
    Dim SQLSelect As String
    
      SQLSelect = "SELECT * FROM TBLTempDestination WHERE ItemSelected = " & Chr(34) & _
      ItemToCheck & Chr(34)
      Set oRS = CurrentDb.OpenRecordset(SQLSelect, 2)
        NotAlreadyExists = oRS.EOF
        oRS.Close
      Set oRS = Nothing
    End Function
    
    Private Sub AddNewItem(ByVal WhatToAdd As String, ByVal TargetTable As String, _
    ByVal SourceTable As String)
    Dim SQLInsert As String
    Dim SQLDelete As String
      
      SQLInsert = "INSERT INTO " & TargetTable & " (ItemSelected) VALUES (" & _
      Chr(34) & WhatToAdd & Chr(34) & ");"
      CurrentDb.Execute SQLInsert, dbSeeChanges
      lstTempTableDestination.Requery
      SQLDelete = "DELETE * FROM " & SourceTable & " WHERE [Nom de catégorie] = " & _
      Chr(34) & WhatToAdd & Chr(34) & ";"
      CurrentDb.Execute SQLDelete, dbSeeChanges
      lstTempTableSource.Requery
    End Sub
    Argy

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/01/2024, 16h32
  2. zone de liste modifiable (NotInList)
    Par ptitdragon_eric dans le forum Access
    Réponses: 4
    Dernier message: 23/01/2006, 21h41
  3. Zone de liste modifiable
    Par SAUVEUR Serge dans le forum IHM
    Réponses: 3
    Dernier message: 19/09/2004, 18h58
  4. [VB6] largeur d'une zone de liste d'une combobox
    Par Nick13 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/08/2004, 13h30
  5. [VB6] Zone de liste modifiable basée sur un champ
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/11/2002, 14h41

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