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 :

[VBA] Ajout de plusieurs enrgt dans une table


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 31
    Points
    31
    Par défaut [VBA] Ajout de plusieurs enrgt dans une table
    Bonjour

    Je me retrouve devant un souci, que je sais à peu près comment régler mais pas du tout comment m'y prendre, je m'explique :

    J'ai une base avec deux tables :
    - T_SWITCH (N° Switch, Modèle, S/N, Adresse IP, Nombre de ports...)
    - T_PORT (N° Switch, Port, Prise) => ici les deux premiers champs sont des clés primaires afin d'en faire un champ unique.

    Je veux créer un formulaire de création d'un nouveau switch (qui a soit 24 soit 48 ports), j'arrive à le créer dans ma table T_SWITCH mais j'ai un souci avec la table T_PORT.

    En fait, lorsque j'enregistre, le programme doit me rajouter tous les ports du switch crée, c'est à dire, si le switch à 24 ports, on doit avoir un rajout de 24 enregistrements d'un coup (chaque port du switch dans T_PORT), sauf que je ne sais pas du tout comment m'y prendre.

    Je met le code utilisé jusque là ci-dessous, si vous pouviez me donner un coup de pouce, ce serai merveilleux !!

    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
    Private Sub Commande12_Click()
     
    Dim Ws As DAO.Workspace
    Dim Db As DAO.Database
     
    Set Ws = DBEngine.CreateWorkspace("tmp", "admin", "", dbUseJet)
    Set Db = Ws.OpenDatabase(CurrentDb.Name)
    Ws.BeginTrans
     
    StrSql = "INSERT INTO T_SWITCH ([N° Switch],[Modèle],[S / N],[Adresse IP],[Nombre de ports],[Switch Père],[Switch Fils],[LC_Type]) VALUES ('"
    StrSql = StrSql & [N° Switch].Value & "','" & [Modèle].Value & "','" & [S / N].Value & "','" & [Adresse IP].Value & "','" & [Nombre de ports].Value & "','" & [Switch Père].Value & "','" & [Switch Fils].Value & "','" & [LC_Type].Value & "');"
    MsgBox StrSql
    Db.Execute StrSql
    Ws.CommitTrans
    MsgBox "Création effectuée", vbInformation + vbOKOnly
     
    End Sub
    J'ai vu sur le Net, qu'utiliser l'instruction INSERT INTO pourrait solutionner mon souci mais je ne sais pas comment l'utiliser pour arriver à ce que je veux...

    Please Help car je suis devant une impasse...

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    on doit avoir un rajout de 24 enregistrements d'un coup (chaque port du switch dans T_PORT), sauf que je ne sais pas du tout comment m'y prendre.
    Peut-être quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 to [Nombre de ports]
     
     [...]
     Docmd.RunSQL ....
     [...]
     
    Next
    Donc tout simplement une boucle qui fait autant de requête d'insertion qu'il y a de ports.

    En espérant t'aider.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Points : 31
    Points
    31
    Par défaut
    Hmmm ton idée n'est pas bête du tout, je n'y avais pas penser, n'étant pas familier avec les boucles...

    Je testerai ça, voir si je peux arriver à quelque chose et je te tiens au courant

    Merci pour ta réponse si rapide en tous cas ...

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 91
    Points : 41
    Points
    41
    Par défaut
    Je me permet de relancer le post car j'ai le même soucis et je n'arrive pas à faire ce que je veux malgré la réponse précedente, de ton côté as-tu réussi?

  5. #5
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Citation Envoyé par ludovicparis
    Je me permet de relancer le post car j'ai le même soucis et je n'arrive pas à faire ce que je veux malgré la réponse précedente, de ton côté as-tu réussi?
    Qu'est -ce qui ne marche pas ? Tu as un message d'erreur ?

Discussions similaires

  1. [WD15] Ajout de plusieurs enregistrements dans une table de liaison
    Par heiti dans le forum WinDev
    Réponses: 5
    Dernier message: 04/06/2010, 21h35
  2. [Toutes versions] Ajouter plusieurs lignes dans une table automatiquement
    Par bbolt dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 24/01/2010, 15h08
  3. Ajouter plusieurs entrées dans une table
    Par flab78 dans le forum Débuter
    Réponses: 2
    Dernier message: 25/04/2008, 15h17
  4. requêtes ajout plusieurs données dans une table
    Par COLOMBAT dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/04/2008, 17h27
  5. Réponses: 7
    Dernier message: 07/06/2006, 07h32

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