我正在处理一个访问数据库并且我正在使用我的vba代码
这是我的代码:
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命令是正确的,我也会收到错误......
任何想法如何解决这个问题??
如果您有另外的想法如何从标签中获取该数量的副本,请随时发表评论^^
编辑:
这个问题是相关的,没有任何目的了! 这是一个内部脚本错误!
答案 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
希望这可以帮助你们中的任何人