Ant*_*hes 3 sql sql-server ms-access vba
我试图输出所有链接表的名称,包括它们的日期/时间字段和字段值。
下面的代码可以输出第一个表,字段名和它们的第一个值,不是所有的值,虽然当它到达下一个链接表时,我得到这个错误
Run-time Error '3622'
You must use the dbSeeChanges option with OpenRecordSet when accessing a SQL Server table that has an IDENTITY column.
Run Code Online (Sandbox Code Playgroud)
这是我的代码
Private Sub btnGetFields_Click()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim f As Field
Dim rst As DAO.Recordset
Dim numField As Integer
Set db = CurrentDb
For Each tdf In db.TableDefs
If Left$(tdf.Connect, 9) = "ODBC;DSN=" Then
Set rst = CurrentDb.OpenRecordset(tdf.Name)
numField = rst.Fields.Count
Debug.Print "Table: " & tdf.Name
For index = 0 To numField - 1
If rst.Fields(index).Type = dbDate Then
Debug.Print "Field: " & rst.Fields(index).Name; " Value : "; rst.Fields(index).Value
End If
Next
End If
Next
Set tdf = Nothing
Set db = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
我读过一些内容,如果我使用 sql 表,我应该使用 ADO?有任何想法吗?
您可以继续使用您现有的 DAO 代码,只需更改
Set rst = CurrentDb.OpenRecordset(tdf.Name)
Run Code Online (Sandbox Code Playgroud)
到
Set rst = CurrentDb.OpenRecordset(tdf.Name, dbOpenSnapshot)
Run Code Online (Sandbox Code Playgroud)
这将打开一个静态只读 Recordset,因此dbSeeChanges不是必需的。
| 归档时间: |
|
| 查看次数: |
7612 次 |
| 最近记录: |