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 :

selection multiple vers une table ajout


Sujet :

Access

  1. #1
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut selection multiple vers une table ajout
    Bonjour
    j'ai pas trouvé (ou mal regardé) comment faire pour, à partir d'une selection multiple d'une zone de liste issus d'une table, ajouter par exemple à une autre table.
    j'ai essayé la méthode classique de la requete mais evidemment ca marche pas , je présume que le pointeur ne sait pas quelle selection il doit prendre pour exécuter la requet ....
    J'ai entrevu une histoire de swtich.....

    Ou pourrais je trouver l'info et mieux un exemple....
    Merci

    Tofalu?????? es tu la ????? ou autre génie....

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Là, il faut faire une boucle et parcourir chaque ligne de la liste et vérifier si elle sont sélectionnée.

    Par exemple une liste à deux colonnes dont on on va ajouter la sélection à la table client

    NumClient : Numerique
    NomClient : Texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim I As Integer
    With MaListe
      For I = 0 To .ListCount - 1
        If .Selected(I) Then
          CurrentDb.Execute "INSERT INTO Clients (NumClient,NomClient) VALUES (" & _
          .Column(0, I) & "," & Chr(34) & .Column(1, I) & Chr(34) & ")"
        End If
      Next I
    End With

  3. #3
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut


    Merci merci merci
    J'ai néanmoins 3 questions à poser sTP
    1 / Ma liste est assez longue ... est ce que le insert peut etre long ???

    2/ Pourquoi n'a t'on pas déclaré une connection "Dim cx As ADODB.Connection"??? la réponse est que l'instruction est en DAO, n'est pas ?????

    3/ puis- je faire un fonction Update avec ce principe ????


    Merci par avance

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    1 / Ma liste est assez longue ... est ce que le insert peut etre long ???
    Non, je ne pense pas, au maxi quelques secondes

    2/ Pourquoi n'a t'on pas déclaré une connection "Dim cx As ADODB.Connection"??? la réponse est que l'instruction est en DAO, n'est pas ?????
    Exact. Tu peux passer aussi en ADO histoire de rester cohérent.

    Tu auras alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentProject.Connection.Execute
    au lieu de
    currentdb.execute
    3/ puis- je faire un fonction Update avec ce principe ????
    Oui

  5. #5
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    bon merci beaucoup ..
    j'ai encore un petit probleme j'ai essayé d'adapter à ma sauce en rajoutant un champs statut Mais on me dit que j'ai une erreur de syntaxe (opérateur abscent )??? !!!!!

    Merci
    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
    Private Sub Commande2_Click()
    Dim I As Integer
    Dim statut As String
    statut = "zz"
     
    With maliste
      For I = 0 To .ListCount - 1
        If .Selected(I) Then
          CurrentDb.Execute "INSERT INTO test (matricule_actif,nom_actif,statut_actif) VALUES (" & _
          .Column(0, I) & "," & Chr(34) & .Column(1, I) & "," & Chr(34) & [statut] & Chr(34) & ")"
        End If
      Next I
    End With
     
    End Sub
    merci beaucoup et apres le script en ADO

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Matricule actif est bien de type numérique ?

  7. #7
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    oui tout fonctionnait parfaitement avant l'introduction de statut_actif...

    d'ailleurs pourquoi faut il avoir le 1er champ en numérique??? dans la mesure ou j'ai créé sur la table test un ref en numauto???

    Merci

  8. #8
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Non ce n'est pas obligatoire

    C'est juste que comme tu n'as pas encadré la valeur avec chr(34) j'en ai conclut que ton champ était numérique et j'en voulais confirmation

    Et en y reflechissant de plus prés, il t'en manque un de chr(34)

    Column(0, I) & "," & Chr(34) & .Column(1, I) & Chr(34) & "," & Chr(34) & [statut] & Chr(34) & ")"

  9. #9
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    ouiiiiiiiiiiiiiiiiiiiiiiii ca marche
    merci encore
    allez pour ceux qui comme moi s'inspire du code des autres
    (merci à tous d'ailleurs)
    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
    Private Sub Commande2_Click()
    Dim I As Integer
    Dim statut As String
    statut = "valid"
     
    With maliste
      For I = 0 To .ListCount - 1
        If .Selected(I) Then
          CurrentDb.Execute "INSERT INTO test (matricule_actif,nom_actif,statut_actif) VALUES (" & _
          .Column(0, I) & "," & Chr(34) & .Column(1, I) & Chr(34) & "," & Chr(34) & [statut] & Chr(34) & ")"
        End If
      Next I
    End With
     
    End Sub

    résolu

  10. #10
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    allez zoup je réouvre le post résolu pour donner le code de la suppression
    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
    Private Sub Commande3_Click()
     ' suppression
     Dim cx As ADODB.Connection
     Dim I As Integer
     
    Set cx = CurrentProject.Connection
    With maliste
      For I = 0 To .ListCount - 1
        If .Selected(I) Then
     
          CurrentProject.Connection.Execute "delete * from  test where matricule_actif=" & .Column(0, I)
     
     
     
        End If
      Next I
    End With
     
    End Sub
    Tofalu.....??????? ma liste ne se rafraichie pas elle reste selectionné lorsque je réouvre le formulaire !!! pus je faire un refresh sur la zone de liste >?????

    merci

  11. #11
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    oups une petite erreur sur le Update
    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
     ' update
     Dim cx As ADODB.Connection
     Dim I As Integer
    Dim statut As String
    statut = "change"
    Set cx = CurrentProject.Connection
    With maliste
      For I = 0 To .ListCount - 1
        If .Selected(I) Then
     
         CurrentProject.Connection.Execute "UPDATE  test SET statut_actif=" & [statut] & "  where  matricule_actif=" & .Column(0, I)
     
     
        End If
      Next I
    End With
     
    End Sub
    Aucune valeur trouvée pour ... je pense que je fais une erreur de synthaxe ??
    merci

  12. #12
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Tofalu.....??????? ma liste ne se rafraichie pas elle reste selectionné lorsque je réouvre le formulaire !!! pus je faire un refresh sur la zone de liste >?????
    Un requery sur la zone de liste (refresh n'existe pas)

    Pour l'update, quel est le type de statut ?

  13. #13
    EE
    EE est déconnecté
    Membre habitué Avatar de EE
    Inscrit en
    Avril 2005
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 207
    Points : 133
    Points
    133
    Par défaut
    declaré string pour le dim et texte dans la table

    Comment est ce que je peux faire pour déselectionner ces lignes de ma zone .. un esorte de réinitialisation de la la zone par ..... un reset de selection ????!!!!!!!

    merci

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

Discussions similaires

  1. [MySQL] Enregistrer les valeurs d'un select multiple dans une table mysql
    Par barale61 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/04/2015, 14h58
  2. Ajout multiple dans une table
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 09/05/2012, 13h26
  3. Réponses: 4
    Dernier message: 14/03/2007, 08h57
  4. select multiple sur plusieurs tables
    Par syl2095 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/12/2004, 15h48
  5. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16

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