Problème code en vb

boujour a tous et a toute

voila j'ai fait un code en vb

Code:

Sub copie1()

Dim i As Integer
Dim db As DAO.Database
Dim ajout As DAO.Recordset
Dim tbl As DAO.Recordset
Dim fld()
Dim modif As DAO.Recordset
Dim mot As String

mot = "serveur1"

Set db = CurrentDb

Set tbl = db.OpenRecordset("select * from salut where nom_serveur ='" & mot & "';")
Set ajout = db.OpenRecordset("select * from temporaire where nom_serveur ='" & mot & "';")

Do Until ajout.EOF
tbl.AddNew
For i = 1 To ajout.Fields.Count - 1
tbl.Fields(i) = IIf(Len(ajout.Fields(i)) <> 0, ajout.Fields(i), tbl.Fields(i))

Next
ajout.MoveNext

If tbl.EOF Then ' regarde si le record est pas en doublon oef doit etre vrai
tbl.Update
tbl.MoveNext
End If
Loop
End Sub

mais lordque je l'execute rien ne se passe
alors que il devrait copier les données dans une ligne d'une table a une autre

si vous avez la reponse

merci!!!!!!

3 réponses

  1. Salut,

    ne serait-ce pas :

    tbl.Recordset.Update
    ... perso, je fais un update à chaque recordset et ça fonctionne.

    Lupin

    ~L'essentiel est invisible pour les yeux~
    ~On ne voit bien qu'avec le coeur~
    0
    1. merci de ta reponse

      mais lorsque je compile il me met une erreur sur recordset

      et me marque menbre de methode ou de données introuvable
      0
      1. re :

        ... en fait mon code est attaché sur un objet data!
        ... voici mon code, peut-être cela te donnera-t-il une idée !

        With dataStat.Recordset
        .AddNew
        ..MOIS = Date
        ..HoAn = tHoAn
        ..FeAn = tFeAn
        ..GaAn = tGaAn
        ..FiAn = tFiAn
        ..TotAn = tTotAn
        .Update
        End With

        Lupin

        ~L'essentiel est invisible pour les yeux~
        ~On ne voit bien qu'avec le coeur~
        0
      2. @Utilisateur anonymere :

        ... je pensais que peut-être c'est ici le problème :

        tbl.AddNew

        ... ne serait-ce pas plutôt :

        tbl.Recordset.AddNew

        Lupin

        ~L'essentiel est invisible pour les yeux~
        ~On ne voit bien qu'avec le coeur~
        0
      3. @Utilisateur anonymeencore :

        ... là je me suis gouré je crois :(

        ... en observant mon code, je vois ceci :

        tbl.UpdateRecord -> puisque tbl est un recordset !

        Lupin

        ~L'essentiel est invisible pour les yeux~
        ~On ne voit bien qu'avec le coeur~
        0
    2. salut
      deja merci pour ton aide
      en fait

      c'est bon j'ai trouve
      ce qui n'allait pas

      maintenant grace au code precedent

      j'ai fait une boucle
      Function import()
      Dim asdb As DAO.Database
      Dim tbl As DAO.Recordset
      
      Set db = CurrentDb
      Set tbl = db.OpenRecordset("temporaire", dbOpenDynaset)
      
      
      While Not tbl.EOF
      
      mot = tbl("nom_serveur")
      
      Do Until mot = ""
      
      Call modif
      
      
      Loop
      
      Wend
      
      End Function
      


      ma fonction efface un a un les enrgistrement de la table temporaire
      le problème c'est quan j'arrive au dernier il l'efface donc ca va
      et ensuite le programme bug il met aucun enregistrement en cours

      ce qui est normal a priori puisqui il n'y a plus
      d'enregistrement
      et yaurait til un moyen de faire une fenetre msg box
      disant que c'est fini

      mercii
      0