使用Access VBA编辑Sharepoint列表
我创建了一个Sharepoint列表,然后将该列表导入Access。 我只创建了UserName、FirstName、LastName、LastLogIn和LastVersion。但是,Sharepoint默认情况下似乎还有其他一些专栏 我可以在表视图模式下打开该链表并添加新记录。它们也出现在Sharepoint中。 我的问题是,当我尝试用VBA编辑一行时,我得到一个错误,它是只读的使用Access VBA编辑Sharepoint列表,vba,ms-access,sharepoint,sharepoint-list,Vba,Ms Access,Sharepoint,Sharepoint List,我创建了一个Sharepoint列表,然后将该列表导入Access。 我只创建了UserName、FirstName、LastName、LastLogIn和LastVersion。但是,Sharepoint默认情况下似乎还有其他一些专栏 我可以在表视图模式下打开该链表并添加新记录。它们也出现在Sharepoint中。 我的问题是,当我尝试用VBA编辑一行时,我得到一个错误,它是只读的 100 Dim sql As String 110 sql = "SELECT " &
100 Dim sql As String
110 sql = "SELECT " & _
"* " & _
"FROM " & _
"tblUsers " & _
"INNER JOIN " & _
"tblSettings " & _
"ON " & _
"tblUsers.UserName = tblSettings.UserName "
120 Set rst = CurrentDb.OpenRecordset(sql)
130 rst.MoveFirst
140 rst.Edit
150 rst.Fields("LastLogIn") = Now
160 rst.Fields("LastVersion") = version
170 rst.Update
180 rst.Close
仅供参考:这个简单的代码是让我知道他们最后一次登录的时间和他们最后使用的前端版本
我得到以下错误
3027:无法更新。数据库或对象是只读的
当该表是来自另一个Access文件的链接表时,该代码可以完美地工作。但现在我正试图将后端移动到Sharepoint列表中,VBA似乎只能只读。
有什么想法吗
提前感谢。所以答案是使用SQL语句更新表 这是我的密码
100 Dim sql As New sqlClass
110 With sql
120 .Add "UPDATE"
130 .Add " tblSettings"
140 .Add " INNER JOIN"
150 .Add " tblUsers"
160 .Add " ON"
170 .Add " tblSettings.UserName = tblUsers.UserName"
180 .Add "SET"
190 .Add " tblUsers.LastLogin = #" & Now & "#,"
200 .Add " tblUsers.LastVersion = """ & version & """"
210 .Execute
220 End With
显然,我在其中有一个自定义类,但基本上,SqlClass保存了该语句,并在其中有一个函数运行以下内容:
CurrentDb.Execute Me.Code, dbFailOnError
Me.code
是SqlClass中包含SQL语句代码的字符串
希望这对其他人有所帮助。您是否尝试删除联接并仅保留更新表?