访问:使用用户列表更新查询

时间:2016-10-01 16:53:40

标签: ms-access

我有一个访问数据库,包含一些表,查询,宏等等 一个表是查询的结果,它用于填充共享点。此表有一个[User]列,没有记录,但我想在上传到sharepoint之前填写一个用户列表。

实施例。该表有58行,我想使用10个用户。

第1行 - 用户1

第2行 - 用户2

...

第10行 - 用户10

第11行 - 用户1

依旧......

我真的不知道最好的方法是什么。

任何人都可以帮助我吗?感谢。

1 个答案:

答案 0 :(得分:2)

我建议使用Visual Basic for Applications(VBA)。

创建一个新模块,然后创建一个将填充数据的过程。 它相对简单 - 你想遍历所有用户并更新父表。

对于我的代码,我假设您有一个表保存您的查询结果(使用空的“用户”字段),并且您有另一个表保存所有用户(使用字段名称“UserName”)< / p>

Public Sub PopulateUsers()
  Dim dbs As DAO.Database
  Dim rstUsers As DAO.Recordset
  Dim rstComputers As DAO.Recordset

  ' Open up our tables
  Set dbs = CurrentDb
  Set rstUsers = dbs.OpenRecordset("Users")

  ' If there are no users then complain and quit
  If rstUsers.EOF Then
    rst.Close
    MsgBox "There are no users to populate", vbInformation, "Error"
    Set rstUsers = Nothing
    Exit Sub
  End If

  Set rstComputers = dbs.OpenRecordset("ComputerUsers")

  ' Loop through all of our computer records
  Do Until rstComputers.EOF
    rstComputers.Edit
    rstComputers!User = rstUsers!UserName
    rstComputers.Update
    rstUsers.MoveNext
    If rstUsers.EOF Then
      rstUsers.MoveFirst
    End If
    rstComputers.MoveNext
  Loop

  ' Close tables
  rstUsers.Close
  rstComputers.Close

  ' Clear object references to free up memory
  Set dbs = Nothing
  Set rstUsers = Nothing
  Set rstComputers = Nothing

  debug.print "Users Populated"
End Sub

您可以按Control + G打开即时窗口,然后键入“PopulateUsers”。