选择下拉菜单的值(第二个colume)

时间:2017-10-18 13:51:47

标签: vba ms-access access-vba

我正在处理一个访问数据库并且我正在使用我的vba代码

this is my form

这是我的代码:

Private Sub cmd_openreport_Click()

'Set Variables
Dim Report
Dim Etikette
Dim amount_of_copies
Dim SQL As String


DoCmd.SetWarnings (WarningsOff) 'Turns Off Warnings

Etikette = comb_etiketten_auswahl 'Etikette Equals the comb_etiketten_auswahl value
Report = comb_etiketten_layout 'Report equals the value in the dropdown list
'SQL = "SELECT [qry_WEZ_TAB].[Anzahl_Etiketten] FROM [qry_WEZ_TAB];


'If The Etiketten Dropdown is empty message to client
If Etikette <> "" Then
Else
MsgBox "Bitte wählen Sie einen Datensatz aus."
Exit Sub
End If

'If The Report Dropdown is empty message to client
If Report <> "" Then
Else
MsgBox "Bitte wählen Sie eine Etikettenauswahl aus."
Exit Sub
End If

'DoCmd.RunSQL SQL



DoCmd.OpenReport Report, acViewReport 'Open report
DoCmd.PrintOut , , , acHigh,amount_of_copies
DoCmd.Close
DoCmd.SetWarnings (WarningsOn) 'Turns Warnings back On
End Sub

问题是*在这里:

DoCmd.OpenReport Report, acViewReport 'Open report
DoCmd.PrintOut , , , acHigh,*HERE
DoCmd.Close

值是打印出的副本数量....问题是我的数据库中设置了值,但我的想法是使用:

docmd.runsql SQL

在我的代码中设置为:

"SELECT [qry_WEZ_TAB].[Anzahl_Etiketten] FROM [qry_WEZ_TAB];"

但问题是,即使sql命令是正确的,我也会收到错误......

任何想法如何解决这个问题??

如果您有另外的想法如何从标签中获取该数量的副本,请随时发表评论^^

编辑:

这个问题是相关的,没有任何目的了! 这是一个内部脚本错误!

2 个答案:

答案 0 :(得分:1)

docmd.runsql用于操作查询(插入,删除,追加)但不返回记录集(用于选择查询)。

如果“Anzahl_Etiketten”仅返回1个值(标签数量),请尝试dlookup

DoCmd.PrintOut , , , acHigh,dlookup("Anzahl_Etiketten","qry_WEZ_TAB")

答案 1 :(得分:0)

所以我现在很想进入sql,我现在有一个解决方案:

Private Sub cmd_openreport_Click()

'Set Variables
Dim Report
Dim Etikette
Dim anzahl
Dim SQL As String


DoCmd.SetWarnings (WarningsOff) 'Turns Off Warnings

Etikette = comb_etiketten_auswahl 'Etikette Equals the comb_etiketten_auswahl value
Report = comb_etiketten_layout 'Report equals the value in the dropdown list
anzahl = Forms!frm_Hauptmenu!comb_etiketten_auswahl.Column(1)


MsgBox anzahl

'If The Etiketten Dropdown is empty message to client
If Etikette <> "" Then
Else
MsgBox "Bitte wählen Sie einen Datensatz aus."
Exit Sub
End If

'If The Report Dropdown is empty message to client
If Report <> "" Then
Else
MsgBox "Bitte wählen Sie eine Etikettenauswahl aus."
Exit Sub
End If


DoCmd.OpenReport Report, acViewReport 'Open report
DoCmd.PrintOut , , , acHigh, anzahl
DoCmd.Close
DoCmd.SetWarnings (WarningsOn) 'Turns Warnings back On
End Sub

希望这可以帮助你们中的任何人