Erreur vb

fab101 Messages postés 140 Statut Membre -  
 Utilisateur anonyme -
bonjour

voila j'ai fait ce code
Sub copie1()

Dim db As DAO.Database
Dim ajout As DAO.Recordset
Dim tbl As DAO.Recordset
Dim fld(32)
Dim tableau(32)
Dim modif As DAO.Recordset
Dim str As String
Dim str2 As String

Set db = CurrentDb



Set tbl = db.OpenRecordset("select * from salut where nom_serveur ='" & serveur1 & "';")
Set ajout = db.OpenRecordset("select * from temporaire where nom_serveur ='" & serveur1 & "';")
Set modif = db.OpenRecordset("salut", dbOpenDynaset)
Do Until tbl.EOF
modif.AddNew
For i = 1 To 31

ajout.Field(i) = tbl.Fields(i)
Next
modif.Update
tbl.MoveNext
tbl.Close
ajout.Close
modif.Close

Loop

End Sub



il me met une erreur a ajout.field
cette est erreur est
menbre de methode ou de données introuvable

savez vous ce que c'est
merci

3 réponses

  1. jlb59 Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   5
     
    Salut,
    Tu veux faire quoi exactement ?

    J'avais fait un prg qui utilisait la base de données :
    - Création de la Bdd
    - Création des tables
    - Création des champs
    - Indexation

    Ce qui m'intrigue dans ta src, c'est l'objet "DAO"; tu utilises VB6 ?

    Quoiqu'il en soit, je te mets la src de l'exemple que j'ai mis sur http://www.vbfrance.com.
    Si tu peux en faire qq chose !

    Function ListIndex() As Integer

    Dim DB As Database
    Dim WS As Workspace
    Dim TBL As TableDef
    Dim FLD As Field
    Dim IDX As Index
    Dim Dyn As Recordset
    Dim I As Integer

    Set WS = DBEngine.Workspaces(0)
    Set DB = WS.CreateDatabase("AGENDA.MDB", dbLangGeneral)

    Set DB = Workspaces(0).OpenDatabase("AGENDA.MDB")
    Set TBL = DB.CreateTableDef("AGENDA")
    'Set Dyn = DB.OpenRecordset("SELECT Num FROM Agenda", dbOpenDynaset)
    '============================================================
    Set FLD = TBL.CreateField("Numéros", dbText, 14)
    FLD.Required = True ' Les valeurs Null ne sont pas acceptées.
    TBL.Fields.Append FLD
    '-------------------------------------------------
    Set FLD = TBL.CreateField("Noms", dbText, 30)
    FLD.Required = True ' Les valeurs Null ne sont pas acceptées.
    TBL.Fields.Append FLD

    DB.TableDefs.Append TBL
    '============================================================
    ' Crée un index primaire pour ces deux champs.
    Set IDX = TBL.CreateIndex("IDX")
    IDX.Primary = True
    IDX.Unique = True
    '-----------------------------------------------
    Set FLD = TBL.CreateField("Numéros")
    ' N'indexe que ce champs pour ne pas avoir le même N°
    IDX.Fields.Append FLD

    'Set FLD = TBL.CreateField("Noms")
    ' N'indexe que ce champs pour ne pas avoir le même Nom
    'IDX.Fields.Append FLD

    TBL.Indexes.Append IDX
    '============================================================
    ListIndex = True
    End Function

    Private Sub Form_Load()
    If Err.Number = 53 Then GoTo suite ' Si le fichier Existe
    Test = Dir(App.Path & "AGENDA.MDB")

    If Test <> "" Then
    Kill (App.Path & "AGENDA.MDB")
    GoTo suite
    End If

    suite:
    ListIndex
    End Sub


    il me met une erreur a ajout.field
    cette est erreur est
    menbre de methode ou de données introuvable

    A mon avis, si tu as ce msg, c'est parce qu'il te manque une table ou qu'elle soit mal orthographiée.
    Attention aux majuscule et minuscule, c'est src d'erreur (j'ai eu le tour !).

    Bon courage.

    A+
    ! ------------------------------!
    Http://www.phone99.net !
    0
  2. jlb59 Messages postés 343 Date d'inscription   Statut Membre Dernière intervention   5
     
    Je t'ai EV le mauvais src, j'ai pas fait gaffe au tien ! Désolé.
    Voici ce que j'ai pou récupéré d'un ancien prg :

    Dim Liste As Recordset
    Set DB = Workspaces(0).OpenDatabase(App.Path & Chemin_Bdd & Name_Bdd)
    '------------------------- 0 1 2 3 4 5 6
    '----------------------- Idx, Num, Noms, Dates, Heures, Durées, Tarifs
    SQL = "SELECT Idx, Num, Noms, Dates, Heures, Durees " & _
    "FROM Comm ORDER BY Dates ASC, Num ASC, Noms ASC, Heures ASC; "
    Set Liste = DB.OpenRecordset(SQL, dbOpenDynaset)


    Il y a peut-être une différence d'accès entre VB5 et 6 !...

    A+

    ! ------------------------------!
    Http://www.phone99.net !
    0
  3. Utilisateur anonyme
     
    ça serait pas Ajout.Fields(i) ?

    ceci étant, tu ferais mieux d'utiliser un objet Querydef et de rentrer tes données en SQL dans la panse à ta table
    0