2016-04-04 27 views
0

Bir formdaki bir kaydı kopyalamaya çalışıyorum. düğmenin arkasında Benim kod şöyle görünür:RecordsetClone bir ODBC hatasına neden oluyor

With Me.RecordsetClone 
    .AddNew 
     !TableField1 = Me.CorrespondingTextboxName1 
     !TableField2 = Me.CorrespondingTextboxName2 
     … etc for the rest of the fields     
    .Update 
    .Bookmark = .LastModified 
End With 

sorun şu ki, .Update hattına olsun, ben ODBC Call Failed şeklinde bir hata alıyorum.

Koddan adım adım geçersem, her alanın düzgün bir şekilde çözündüğü anlaşılıyor, yalnızca beğenmediği bir Güncelleme ifadesi.

Bunun neden ve/veya nasıl düzeltileceği konusunda herhangi bir fikrin var mı?

cevap

0

Gerçekten bir cevap değil, ancak yorumlarda kodlar berbat.

DBEngine.Errors koleksiyonuyla "ODBC Call Failed" hakkında daha fazla bilgi alabilirsiniz. Hata işleyicisi aşağıdaki kodu çalıştırın:

Dim errX As DAO.Error 

For Each errX In Errors 
    Debug.Print errX.Number & ": " & errX.Description 
Next errX 

Edit: Çalışır zaman, muhtemelen

Me.Bookmark = .LastModified 
0

Belki kimliği kopya istiyor?

Private Sub btnCopy_Click() 

    Dim rstSource As DAO.Recordset 
    Dim rstInsert As DAO.Recordset 
    Dim fld   As DAO.Field 

    If Me.NewRecord = True Then Exit Sub 

    Set rstInsert = Me.RecordsetClone 
    Set rstSource = rstInsert.Clone 
    With rstSource 
    If .RecordCount > 0 Then 
     ' Go to the current record. 
     .Bookmark = Me.Bookmark 
     With rstInsert 
     .AddNew 
      For Each fld In rstSource.Fields 
      With fld 
       If .Attributes And dbAutoIncrField Then 
       ' Skip Autonumber or GUID field. 
       Else 
       ' Copy field content. 
       rstInsert.Fields(.Name).Value = .Value 
       End If 
      End With 
      Next 
     .Update 
     ' Go to the new record and sync form. 
     .MoveLast 
     Me.Bookmark = .Bookmark 
     .Close 
     End With 
    End If 
    .Close 
    End With 

    Set rstInsert = Nothing 
    Set rstSource = Nothing 

End Sub 
: Burada

bir düğme tıklama kaydını kopyalamak için kanıtlanmış bir fonksiyon var
İlgili konular