ACCESS 只提供了"单元格"的读取、统计函数:Dlookup,Dsum,Dcount,Dmin。没有【写入】的函数。更深入的学习,你必须掌握基本SQL语法。
我编过一个【写】的函数,你试试看。
读取:txt=dlookup("A","Sheet1","[ID]=23")
写入:DUpdate("A",txt,"Sheet1","[ID]=23")
'====================================
Private Const 字段串分隔符 = "," ’模块首行
Public Function DUpdate(字段串 As String, 数值串 As String, 记录集 As String, Optional WHERE As String = "") As String '返回SQL语句
DUpdate = ""
If 字段串 = "" Or 数值串 = "" Or 记录集 = "" Then Exit Function
On Error GoTo err
Dim 字段() As String, 数值() As String, STR As String
' SET 子句
STR = ""
If InStr(字段串, 字段串分隔符) = 0 Then '没有分隔符(单一字段)
STR = "SET " & 字段串 & "=" & 数值串
Else
字段 = Split(字段串, 字段串分隔符)
数值 = Split(数值串, 字段串分隔符)
For i = LBound(字段, 1) To UBound(字段, 1)
If i > UBound(数值, 1) Then Exit For '字段串与数值串 个数不一致。
STR = STR & "," & 字段(i) & "=" & 数值(i)
Next i
STR = "SET " & Mid(STR, 2)
End If
' SET 子句=end=
STR = "UPDATE " & 记录集 & " " & STR
If WHERE <> "" Then STR = STR & " WHERE " & WHERE '有WHERE语句!
Debug.Print STR 'SQL语句!
DoCmd.SetWarnings False '关闭警告提示
DoCmd.RunSQL STR
DoCmd.SetWarnings True '打开警告提示
DUpdate = STR
Exit Function
err:
MsgBox Error$
End Function