链接表上的OpenRecordset?

时间:2016-04-28 13:35:27

标签: ms-access access-vba

我将一些大型表从我的AccessDB拆分到后端数据库而没有问题。

接下来,我需要打开一个记录集来替换各种麻烦的字符。当表是本地的时,以下代码段工作正常,但Access现在抱怨表是LINKED,但没有提供详细信息。

Dim rs3 As DAO.Recordset

'Step thru the Item table fix ' & " characters
Set rs3 = db.OpenRecordset("Item", dbOpenTable)
Do While Not rs3.EOF
    strDesc = Replace(Nz(rs3!DESC), Chr(39), Chr(39) & Chr(39))
    strDesc = Replace(Nz(rs3!DESC), Chr(34), "")
    rs3.MoveNext
Loop
Set rs3 = Nothing

使用LINKED表格完成此任务的任何建议?

2 个答案:

答案 0 :(得分:3)

dbOpenTable只能与本地表一起使用;它不能与链表一起使用。

'Set rs3 = db.OpenRecordset("Item", dbOpenTable)
Set rs3 = db.OpenRecordset("Item")

答案 1 :(得分:0)

'I allways use this format scheme, and it works perfectly, with local or 
'linked tables (In fact, I always use linked tables...):

Dim bd As Database
Dim reg As Recordset

Private Sub Form_Load()
    Set bd = CurrentDb
    Set reg = bd.OpenRecordset("Select * from Pacientes", dbOpenDynaset)
end sub

' for a new record
reg.AddNew

' for updates
reg.Update

' for delete
reg.Delete

' to fill a table record
reg("Dni") = txtDni

' to read a table record
txtDni = reg("Dni")

' txtDni is the field's name in the form
' Dni is the field's name in the table

' to find a record
 Dim Finder As String
 Finder = InputBox("Dni: ")
 If Finder <> "" Then
    reg.FindFirst "Dni=" & Trim(Finder)

Private Sub cmdClose_Click()
    reg.Close
    bd.Close
    DoCmd.Close
End Sub