【问题标题】:What do I get from recordset.Fields(0)?我从recordset.Fields(0) 中得到什么?
【发布时间】:2020-02-06 08:55:23
【问题描述】:

我是 VBA 新手,我必须理解别人编写的代码。这是她为变量设置的:

Sub LTMovementSum1(y As Long, strStoreArea As String)
    Dim recTmp As DAO.Recordset
    Dim lngTotalLTagg As Long
    lngTotalLTagg = 0

If Control.intLBoSNR = 1 Then
        strQuery = "SELECT count(TIS_LAGERSPIEGEL.LT) FROM TIS_AGG_SNR " & _
                    "LEFT JOIN TIS_LAGERSPIEGEL ON TIS_AGG_SNR.SNR_KARTE=TIS_LAGERSPIEGEL.SNR_KARTE " & _
                    "WHERE TIS_AGG_SNR.LB= """ & strStoreArea & """;"
        Set recTmp = db.OpenRecordset(strQuery)

        If Not IsNull(recTmp.Fields(0)) Then lngTotalLTagg = recTmp.Fields(0)
    ElseIf Control.intLBoSNR = 2 Then
        strQuery = "SELECT count(TIS_LAGERSPIEGEL.LT) FROM SELECTED_SNR " & _
                   "LEFT JOIN TIS_LAGERSPIEGEL ON SELECTED_SNR.SNR_SPEICHER = TIS_LAGERSPIEGEL.SNR_SPEICHER;"
        Set recTmp = db.OpenRecordset(strQuery)

        If Not IsNull(recTmp.Fields(0)) Then lngTotalLTagg = recTmp.Fields(0)
    End If

我不太明白我从recTmp = db.OpenRecordset(strQuery) 得到什么 以及来自recTmp.Fields(0)的内容

我真的希望有人可以帮助我,谢谢!

PS.: db 是我的 Access 数据库

【问题讨论】:

  • 欢迎来到 SO!请使用tour 并阅读How to Ask,然后改进问题(编辑)!如果您不知道,请开始阅读docs(称为 RTFM)。
  • 你不明白什么?如果你不知道这个功能,谷歌,然后阅读它的文档。如果您这样做了但仍然不理解,请清楚地说明预期和观察到的行为并解释差异。尝试使用简化版本的代码来隔离相关行为可能会对您有所帮助。

标签: vba ms-access field recordset


【解决方案1】:

想象力或幻想如此之少,你会遇到很多坎坷。

但是,此会根据查询打开(a)记录集

Set recTmp = db.OpenRecordset(strQuery)

这会读取当前行的第一个字段的值:

lngTotalLTagg = recTmp.Fields(0)

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2013-12-18
    • 1970-01-01
    相关资源
    最近更新 更多