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 :

Insertion Multiple dans une Table


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Par défaut Insertion Multiple dans une Table
    Bonjour j'ai une Zone
    de Texte,
    j'ai mis dans la source de cette zone : (elle m'affiche les date de la T1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT T1.date FROM T1;
    Puis j'ai codé une fonction qui insére chaque date choisie dans la ZONE de texte dans la T2,

    celà Marche bien

    Certes Champ par champ, je dois choisir champ par champ,
    mais j'ai activé l'option selection multiple, et là il y'a plus d'insertion
    il m'insére que des lignes vides :


    Voilà mon code d'insertion :

    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
    Dim insSql as String
           ' 2 Insérer les valeurs de ZONE TEXTE
          ' Vérifier la date n'est pas déjà Attribuer
        
    varTest = DLookup("[Newdate]", "T2", "[Newdate] = '" & Me!ZONETEXTE.Value & "'")
    If varTest = ZONETEXTE.Value Then
       MsgBox " '" & Me!ZONETEXTE.Value & "' déja présente ", vbCritical
    Else
        'Ajout Des Enregistrements Dans La Table "T2"
                                                                         
        insSql = "INSERT INTO T2 ( Newdate ) "
        insSql = insSql & "SELECT '" & Me!ZONETEXTE.Value & "';"
        
        CurrentDb.Execute (insSql)
     End If
    Merci de me conseiller une solution car j'ai pensé à tous pour contourner ce problème, mais je ne sais absolument pas comment faire autrement.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Par défaut
    si tu fais une sélection multiple, c'est pas une zone de texte mais une zone de liste.

    pour boucler sur tes éléments sélectionnés, il faut que tu fasse un truc dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'on ajoute chaque element selectionné
        For i = 0 To Me.ta_liste.ItemsSelected.Count - 1
            sql = "insert into T2  ( Newdate ) values ('" & Me.ta_liste.ItemData(Me.ta_liste.ItemsSelected(i)) & "')"
            CurrentDb.Execute sql
        Next i

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Par défaut
    Citation Envoyé par Taoueret Voir le message
    si tu fais une sélection multiple, c'est pas une zone de texte mais une zone de liste.

    pour boucler sur tes éléments sélectionnés, il faut que tu fasse un truc dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'on ajoute chaque element selectionné
        For i = 0 To Me.ta_liste.ItemsSelected.Count - 1
            sql = "insert into T2  ( Newdate ) values ('" & Me.ta_liste.ItemData(Me.ta_liste.ItemsSelected(i)) & "')"
            CurrentDb.Execute sql
        Next i
    ça n'a pas marché

    j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      For i = 0 To Me.Liste0.ItemsSelected.Count - 1
     
        insSql = "INSERT INTO T2 ( Newdate ) values('" & Me.Liste0.ItemData(Me.Liste0.ItemsSelected(i)) & "')"
     
        CurrentDb.Execute (insSql)
       Next i
     End If

    Et ma liste était déja une liste et non une zone de texte comme j'avais dit
    Merci pour vôtre aide.

Discussions similaires

  1. Insertion multiple dans une table et limitation du nombre de lignes
    Par marcandre dans le forum Développement
    Réponses: 1
    Dernier message: 29/04/2011, 15h10
  2. Insert multiple dans une table
    Par hgibier dans le forum SQL
    Réponses: 11
    Dernier message: 26/11/2010, 10h37
  3. insertion multiple dans une table
    Par nenekes dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/02/2007, 10h50
  4. [JSP]probleme d'insertion float dans une table
    Par karamazov994 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/04/2005, 11h49
  5. Insertion valeure dans une table
    Par krfa1 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/03/2005, 10h50

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