【问题标题】:Use text from record to paste into an Access form controlbox使用记录中的文本粘贴到 Access 表单控件框中
【发布时间】:2017-01-20 11:48:17
【问题描述】:

根据用户的工作 ID 号,我创建了一个 ID 记录集,该记录集具有不同的单位类型(想想管道尺寸)和单位(想想管道的长度)。每个单元类型记录已经具有表单文本框的名称,其中总素材位于不同的列中。我想要做的是浏览每个记录集并为该作业 ID 号(用户输入表格)插入每个单元类型的素材。

Dim rst_UnitEntryCounts As Recordset   
Set rst_UnitEntryCounts = CurrentDb.OpenRecordset("SELECT tbl_UnitTypes.UnitTypes_WeeklyTextBoxUserEntryForm, " _
                                                        & "             tbl_PMEntry.PMEntry_Week_Ending, " _
                                                        & "             tbl_UnitTypes.UnitTypes_CumalativeTextBoxUserEntryForm, " _
                                                        & "             Sum(tbl_UnitEntry.UnitEntry_Unit_Count) AS SumOfUnitEntry_Unit_Count " _
                                                        & "FROM tbl_UnitTypes " _
                                                        & "         INNER JOIN tbl_UnitEntry ON tbl_UnitTypes.UnitTypes_ID = tbl_UnitEntry.UnitEntry_UnitTypes_ID) " _
                                                        & "         INNER JOIN (tbl_PMHeader " _
                                                        & "         INNER JOIN tbl_PMEntry ON tbl_PMHeader.PMHeader_ID = tbl_PMEntry.PMEntry_PMHeader_ID) ON tbl_UnitEntry.UnitEntry_PMEntry_ID = tbl_PMEntry.PMEntry_PMHeader_ID " _
                                                        & "WHERE tbl_PMHeader.PMHeader_ID = " & num_PM _
                                                        & "GROUP BY tbl_UnitTypes.UnitTypes_WeeklyTextBoxUserEntryForm, " _
                                                        & "             tbl_PMEntry.PMEntry_Week_Ending, " _
                                                        & "             tbl_UnitTypes.UnitTypes_CumalativeTextBoxUserEntryForm ")
            rst_UnitEntryCounts.MoveFirst
            Do Until rst_UnitEntryCounts.EOF = True
                [rst_UnitEntryCounts.UnitTypes_WeeklyTextBoxUserEntryForm] = SumOfUnitEntry_Unit_Count
            rst_UnitEntryCounts.MoveNext
            Loop
    Exit Sub

image of what my query table looks like 此外,我在 FROM 子句中也收到错误 3131 语法错误。 提前致谢!

【问题讨论】:

  • 我建议让您的查询首先运行 - 您有一些不匹配的括号开始。解决此问题的最佳方法是将动态 SQL 分配给字符串变量并 Debug.Print 向您展示它是什么 - 复制/粘贴到 SQL 窗口并在那里进行测试 - 在此处报告工作或损坏的实际 SQL。而这个[rst_UnitEntryCounts.UnitTypes_WeeklyTextBoxUserEntryForm] 是错误的 - 你的组合框的实际名称是什么?
  • 会的。就我的组合框而言,它将是动态的。因此,名称将根据特定列上的记录而改变。 (见上面的图片链接)

标签: mysql ms-access-2010 recordset text-extraction


【解决方案1】:

终于弄清楚了如何在一个文本框中“放置”一个值(单位总和),该文本框根据表单中的标准(单位类型)而有所不同,其中文本框的名称位于我的记录集中的记录本身内。如果其他人有类似的问题,我是这样做的:

Dim cntl As String
 Dim frm As String
 Dim rst_UnitEntry As Recordset
 frm = "frm_UserEntry"

Set rst_UnitEntryCounts = CurrentDb.OpenRecordset("SELECT...)     
If rst_UnitEntryCounts.RecordCount <> 0 Then
        rst_UnitEntryCounts.MoveFirst
        Do Until rst_UnitEntryCounts.EOF = True
        If rst_UnitEntryCounts![UnitTypes_CumalativeTextBoxUserEntryForm] <> "" Then
            cntl = rst_UnitEntryCounts![UnitTypes_CumalativeTextBoxUserEntryForm]
            Forms(frm).Controls(cntl) = rst_UnitEntryCounts![SumOfUnitEntry_Unit_Count]
        End If
        rst_UnitEntryCounts.MoveNext
        Loop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-21
    • 2021-01-18
    • 2012-10-25
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    相关资源
    最近更新 更多