Ms access 通过给行a的一个字段值,检索整行的数据作为标签
我使用的是MS Access 2010,在连接文本框和表数据时遇到了问题 场景: 我创建了一个表单,其中包含一个名为txtPart的文本框。该文本框的控制源是:Ms access 通过给行a的一个字段值,检索整行的数据作为标签,ms-access,vba,ms-access-2007,ms-access-2010,Ms Access,Vba,Ms Access 2007,Ms Access 2010,我使用的是MS Access 2010,在连接文本框和表数据时遇到了问题 场景: 我创建了一个表单,其中包含一个名为txtPart的文本框。该文本框的控制源是:PartNumber。这是一个仅包含我的表中的数字的字段dbo\u v\u Stores 我创建了一个按钮来打印标签。单击按钮时,应显示一个标签,其中包含零件号和表格中与零件号相关的几个字段 使用此系统,如果门店人员想要打印标签,则如果他键入零件号并单击打印按钮,则应生成包含产品所有详细信息的标签 我尝试将按钮连接到以下代码: Dim s
PartNumber
。这是一个仅包含我的表中的数字的字段dbo\u v\u Stores
我创建了一个按钮来打印标签。单击按钮时,应显示一个标签,其中包含零件号和表格中与零件号相关的几个字段
使用此系统,如果门店人员想要打印标签,则如果他键入零件号并单击打印
按钮,则应生成包含产品所有详细信息的标签
我尝试将按钮连接到以下代码:
Dim strReport As String
Dim strField As String
Dim strWhere As String
Dim lngView As Long
strReport = "Labels_Stores_Test"
strField = "[dbo_v_Stores.Part]"
lngView = acViewPreview
If Str(Me.txtPart) Then
If strWhere <> vbNullString Then
strWhere = strWhere & " AND "
End If
End If
If CurrentProject.AllReports(strReport).IsLoaded Then
DoCmd.Close acReport, strReport
End If
Dim strReport作为字符串
将strField设置为字符串
作为字符串的Dim strWhere
模糊的lngView尽可能长
strReport=“标签\存储\测试”
strField=“[dbo_v_Stores.Part]”
lngView=acViewPreview
如果Str(Me.txtPart)那么
如果strWhere vbNullString,则
strWhere=strWhere&“和”
如果结束
如果结束
如果CurrentProject.AllReports(strReport).IsLoaded,则
文件关闭一个报告,strReport
如果结束
如果用户输入一个字段值,您能建议我如何打印标签吗
我尝试过这样做,但未能获得所需的输出。如果有人能在这个问题上帮助我,我将不胜感激。如果表单的唯一目的是让用户输入/选择零件号,那么它和文本框应该是未绑定的。 我建议使用带有零件号行源的组合框(cboPartNumber),而不是文本框,以方便用户使用。报告应绑定到表并根据需要构造。为了简单起见,省去验证代码,只需打开以零件号为标准的报告。
DoCmd.OpenReport,acPreview,“PartNumber=“&Me!”!cboPartNumber
如果零件号是文本字段,则将其更改为
DoCmd.OpenReport,acPreview,“PartNumber=”&Me!cboPartNumber&“'”
如果表单的唯一目的是供用户输入/选择零件号,则应取消其与文本框的绑定。
我建议使用带有零件号行源的组合框(cboPartNumber),而不是文本框,以方便用户使用。报告应绑定到表并根据需要构造。为了简单起见,省去验证代码,只需打开以零件号为标准的报告。
DoCmd.OpenReport,acPreview,“PartNumber=“&Me!”!cboPartNumber
如果零件号是文本字段,则将其更改为
DoCmd.OpenReport,acPreview,“PartNumber=”&Me!cboPartNumber&“'”
到目前为止,您尝试了什么类型的操作?我尝试将按钮连接到以下代码:Dim strReport As String Dim strField As String Dim strField As String Dim strWhere As String Dim lngView As Long strReport=“Labels_Stores_Test”strField=“[dbo_v_Stores.Part]”lngView=acViewPreview If Str(Me.txtPart)然后,如果strWhere vbNullString,则strWhere=strWhere&“和”如果当前项目结束,则结束。所有报告(strReport)。Isload然后DoCmd。关闭acReport,如果没有输出,则结束strReport。如果用户输入一个字段valueCode在注释中确实不起作用,您能建议我如何打印标签吗,我建议编辑您的主要帖子,并将您在评论中提供的信息包括在内。到目前为止,您尝试过哪些操作?我尝试将按钮连接到以下代码:Dim strReport As String Dim strField As String Dim strWhere As String Dim lngView As Long strReport=“Labels\u Stores\u Test”strField=”[dbo_v_Stores.Part]“lngView=acViewPreview If Str(Me.txtPart)然后如果strWhere vbNullString然后strWhere=strWhere&”和“End If End If If CurrentProject.AllReports(strReport).IsLoaded然后DoCmd。如果没有输出,请关闭acReport,strReport End。如果用户输入一个字段值,您能建议我如何打印标签吗?代码在评论中确实不起作用,我建议编辑您的主要帖子,并将您在评论中提供的信息包括在内。您好,这种方法在某种程度上起到了作用,但我可以未将报表连接到按钮。当我在DoCmd.OpenReport之后写入报表名称时,系统会引发错误。您需要发布实际代码以及错误是什么。DoCmd.OpenReport“Rpt_Stores”,acPreview,“PartNumber=”&Me!cboPartNumber………由于条件表达式中的数据类型不匹配而引发错误。运行时错误“3464”。请查看issue@Hiru我的假设是PartNumber实际上是一个字符串,所以请尝试:DoCmd.OpenReport“Rpt_Stores”,acPreview,“PartNumber=”&Me!cboPartNumber&“
。另一种可能性是,acPreview应该是acViewPreview
Hiru,正如我在回答中提到的和Newd所述,如果PartNumber是一个文本字段,则需要使用“PartNumber=”&Me!cboPartNumber&“”您好,此方法在某种程度上起到了作用,但我无法将报表连接到按钮。当我在DoCmd.OpenReport之后写入报表名称时,系统会抛出错误。您需要发布实际代码以及错误是什么。DoCmd.OpenReport“Rpt_Stores”,acPreview,“PartNumber=”&Me!cboPartNumber………由于条件表达式中的数据类型不匹配而引发错误。运行时错误“3464”。请查看issue@Hiru我的假设是PartNumber实际上是一个字符串,所以请尝试:DoCmd.OpenReport“Rpt_Stores”,acPreview,“PartNumber=”&Me!cboPartNumber&“
。另一种可能性是,acPreview应该是acViewPreview
Hiru,正如我在回答中提到的和Newd所说的,如果PartNumber是一个文本字段,您需要告诉我们