【问题标题】:In MS Access, using vba; Is there a faster way to get data from a single record recordset than by using ado?在 MS Access 中,使用 vba;有没有比使用 ado 从单个记录记录集中获取数据更快的方法?
【发布时间】:2019-11-07 08:49:57
【问题描述】:

我使用 adodb 记录集从表中的记录中获取值。看起来这有点费时。 当我知道我的 sql 只返回一行时,有没有更快的方法? dlookup 会是更好的选择吗? 我如何做到的一个例子:

strSQL = "SELECT * FROM MyTable WHERE UserId = '" & strUser & "' AND FormId = '" & strForm & "'"
rs.Open strSQL, CurrentProject.Connection

If Not rs.EOF And Not rs.BOF Then
    rs.MoveFirst
    variable1 = rs!Username
    variable2 = rs!Phone
    variable3 = rs!Something
End If

欣赏任何提示或提示。

【问题讨论】:

  • 我建议使用ForwardOnly 光标,不要使用*,而只选择您真正需要的字段。此外,您可以尝试使用 DAO 代替 ADO,但我认为您不会感到任何不同。
  • 当你意识到这些甜蜜的领域功能时,你的生活将会改变。就像它们是为此而建造的:D 查找 DLOOKUP

标签: vba ms-access


【解决方案1】:

Doug:我不认为 DLookup() 对于 3 个变量会更快 - 您需要查找数据 3 次。

【讨论】:

  • 也许 Allen Brownes elookup 是要走的路。 allenbrowne.com/ser-42.html。比 dlookup 更快,甚至可以从多个字段中检索数据。我会试试的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多