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] AddNew dans la mauvaise table pourquoi ?


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Par défaut [VBA] AddNew dans la mauvaise table pourquoi ?
    Bonjour,

    Le code suivant est censé prendre des données dans une table (Fluids) et les ajouter dans uen autre table (FluidProperties)
    Mais il ne fait pas du tout cela : il réajoute dans la première table et pas du tout comme je veux magiiiiie !!

    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
    Private Sub CopyFluidData2Table()
     
    Dim i As Integer 
    Dim SQL As String 
    Dim DB As DAO.Database
    Set DB = CurrentDb
    Dim rs As DAO.Recordset
    Dim rsProp As DAO.Recordset
     
    SQL = "SELECT * FROM Fluids WHERE [Fluids].[IDFluid] = " & Me.IDFluid 
     
    MsgBox Me.IDFluid
     
    ' Crée un recordset contenant l'enregisrement qui m'intéresse à partir de la table Fluids
    Set rs = DB.OpenRecordset(SQL, dbOpenDynaset) 
     
    ' crée un recordset de la table FLuidProperties dans laquelle je dois insérer les données
    Set rsProp = CurrentDb.OpenRecordset("FluidProperties") 
     
    'là on définit dans quel recordset les insertions vont se faire, donc dans la table FluidProperties
    With rsProp 
    For i = 3 To rs.Fields.Count
     
            If rs.Fields(i).Value Then GoTo Nxt
              .AddNew
              rsProp!IDProperty = DLookup("[IDProperty]", "PropertiesList", "(Property = " & rs.Fields(i).Name & ")")
              rsProp!IDFluid = rs.Fields("IDFluid").Value
              rsProp!PropValue = rs.Fields(i).Value
             .Update
     
    Nxt:
    Next
    End With
     
    End Sub
    Mais le résultat est une copie du premier élément de la table Fluids (dans tous les cas, dans la table FLuids, alors que je n'ai pas du tout demandé ça

    Merci d'avance de m'expliquer si vous comprenez pourquoi ça donne ça

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Par défaut
    Bon en fait j'ai vu qu'il y avait une erreur qui faisait que c'était le premier enregistrement qui était ajouté. Je résous et je teste si ça marche après (par contre je ne comprends pas pourquoi il s'ajoute à la table Fluids

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/01/2016, 16h21
  2. Réponses: 4
    Dernier message: 08/04/2015, 09h29
  3. [AC-2010] Problèmes sur affichage dates dans table. Pourquoi ?
    Par Mickey7312 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/04/2015, 20h02
  4. Modifier une valeur dans une autre table en VBA
    Par baila dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/12/2007, 19h45
  5. copier une ligne dans une autre table
    Par BoeufBrocoli dans le forum SQL
    Réponses: 5
    Dernier message: 24/10/2003, 22h59

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