Sql 根据条件将表复制到Excel时出现问题
我收到一个错误,显示运行时错误“424”:尝试运行时需要对象:Sql 根据条件将表复制到Excel时出现问题,sql,excel,ms-access,vba,Sql,Excel,Ms Access,Vba,我收到一个错误,显示运行时错误“424”:尝试运行时需要对象: Function CreateDailyReadOnlyCVG() Dim sql, strStatusReport, strDailyCVG, strOutputFileName As String strOutputFileName = "mit-msp01\cs\CUS Supply Chain\All Division Reporting\Field Retrievals\Status Reports\CVG" &
Function CreateDailyReadOnlyCVG()
Dim sql, strStatusReport, strDailyCVG, strOutputFileName As String
strOutputFileName = "mit-msp01\cs\CUS Supply Chain\All Division Reporting\Field Retrievals\Status Reports\CVG" & _
Format(Date, "yyyyMMdd") & ".xlsx"
If tRetrieval.[Retrieval_Status] = "A" And tRetrieval.[BU] = "CVG" Then _
sql = "INSERT * FROM tRetrieval_Status_Report_CVG INSERT INTO tDaily_Report_CVG"
DoCmd.RunSQL sql
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Daily Report", " & strOutputFileName & ", True
SetAttr " & strOutputFileName & ", vbReadOnly
End Function
它编译得很好,但是我运行它并得到了错误。而且,我觉得这无论如何都不会运行 找到了答案:
Sub CreateDailyReadOnlyCVG()
Dim sql, strOutputFileName As String
Dim intCounter As Integer
strOutputFileName = "J:\CUS Supply Chain\All Division Reporting\Field Retrievals\Status Reports\CVG\Retrieval Status Report CVG" & _
Format(Date, "yyyyMMdd") & ".xls"
sql = "INSERT INTO tDaily_Report_CVG SELECT * FROM tRetrieval_Status_Report_CVG;"
intCounter = DCount("[Retrieval_ID]", "tRetrieval", "[BU] = 'CVG' AND [Retrieval_Status] = 'A'")
If intCounter > 0 Then
DoCmd.RunSQL sql
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tDaily_Report_CVG", _
" & strOutputFileName & ", True
SetAttr " & strOutputFileName & ", vbReadOnly
End If
End Sub
代码中的哪一行导致了错误?您的SQL语句是(格式错误的)插入语句。它应该是一个SELECT.1
Dim sql作为字符串,strOutputFileName作为字符串
。2是否确实只希望If子句中包含DoCmd.RunSQL
?如果是,请更正缩进。如果不是,则删除uuThen之后的,并在块的末尾添加一个End If
。三。您正在混合xls和xlsx。更好:使用strOutputFileName
。谢谢。它是如何复制进来的,我想我把所有的.xlsx都改了。我想把它写在if条款里,是的。它取决于if,并且仅当满足条件时才会运行。