Problème code en vb

fab101 Messages postés 140 Statut Membre -  
fab101 Messages postés 140 Statut Membre -
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. Utilisateur anonyme
     
    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
  2. fab101 Messages postés 140 Statut Membre 2
     
    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. Utilisateur anonyme
       
      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
      1. Utilisateur anonyme > Utilisateur anonyme
         
        re :

        ... 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
      2. Utilisateur anonyme > Utilisateur anonyme
         
        encore :

        ... 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
  3. fab101 Messages postés 140 Statut Membre 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