我有一個正在處理的數據庫。它由拆分數據庫組成,包括正面和多個到後端表的鏈接。在後臺運行查詢
我正在製作一份由15個不同的子報告組成的報告。我有一個表格允許我輸入報告的開始日期和結束日期。有一個按鈕可以生成最終報告。問題是,當我想要生成報告時,我將不得不爲每個子報告重新運行每個不同的生成表查詢。與此相關的問題是每個查詢會有兩個警告,一個是刪除我的表,另一個是添加到表中的行。
我在線研究,發現這個代碼運行Execute命令將刪除所有的警告。我是新來的VB,但我想我會試一試,我得到以下運行時錯誤「3078:MS Access數據庫引擎找不到輸入表或查詢」。我查了查詢名稱,它匹配,所以我不知道爲什麼我得到這個錯誤。我只試過了15個查詢中的一個,所以我可以確定它的工作原理。一旦我得到這個工作,我的另一個問題是將所有這些組合成模塊中的15個執行命令工作?
Private Sub PS_Report_Date_AfterUpdate()
Dim dbs As DAO.Database
Dim lngRowsAffected As Long
Dim lngRowsDeleted As Long
Dim sql$
sql = "[qry_Maui_Division_KWH_Produced]"
Set dbs = CurrentDb
' Execute runs both saved queries and SQL strings
dbs.Execute sql, dbFailOnError
' Get the number of rows affected by the Action query.
' You can display this to the user, store it in a table, or trigger an action
' if an unexpected number (e.g. 0 rows when you expect > 0).
lngRowsAffected = dbs.RecordsAffected
dbs.Execute "DELETE FROM tbl_Maui_Division_KWH_Produced WHERE Bad", dbFailOnError
lngRowsDeleted = dbs.RecordsAffected
End Sub
SQL代碼:
SELECT
tbl_MPP_DailyGenerationReport.DateLog,
[MPP_Daily_Gross_Gen_kWh]+[Total_Gross_kWh] AS Maui_Gross_kWh_Produced,
[Total_Aux]+[Total_Aux_kWh] AS Maui_Gross_Aux_kWh_Produced, [MPP_Daily_Gross_Gen_kWh]-[Total_Aux]+[Total_Net_kWh] AS Maui_Net_kWh_Produced,
Round(([Total_MBTU_Burned]*1000000)/([MPP_Daily_Gross_Gen_kWh]+[Total_Gross_kWh]),0) AS Maui_Gross_BTU_kWh,
Round([Total_MBTU_Burned]*1000000/([MPP_Daily_Gross_Gen_kWh]-[Total_Aux]+[Total_Net_kWh]),0) AS Maui_Net_BTU_kWh,
Round(([MPP_Daily_Gross_Gen_kWh]+[Total_Gross_kWh])/[Total_Barrels_Burned],0) AS Maui_Gross_kWh_BBL,
Round(([MPP_Daily_Gross_Gen_kWh]-[Total_Aux]+[Total_Net_kWh])/[Total_Barrels_Burned],0) AS Maui_Net_kWh_BBL
INTO tbl_Maui_Division_KWH_Produced
FROM ((tbl_MPP_DailyGenerationReport
INNER JOIN tbl_KPP_DailyGenerationReport
ON tbl_MPP_DailyGenerationReport.DateLog = tbl_KPP_DailyGenerationReport.DateLog)
INNER JOIN tbl_MPP_Aux_DailyGenerationReport
ON tbl_MPP_DailyGenerationReport.DateLog = tbl_MPP_Aux_DailyGenerationReport.DateLog)
INNER JOIN qry_Maui_Total_Fuel_Burned
ON tbl_MPP_DailyGenerationReport.DateLog = qry_Maui_Total_Fuel_Burned.DateLog
WHERE (((tbl_MPP_DailyGenerationReport.DateLog)=[Forms]![Power Supply Reports]![PS_Report_Date]));
是什麼'qry_Maui_Division_KWH_Produced'嗎?你可以發佈它的SQL嗎?你直接運行它(沒有vba)嗎? – Andre
我剛剛證實,它沒有vba工作。它創建一行數據並將其放入一個表格中,然後引用該表格。我把sql代碼放在帖子中。 – lunar8nrg
好吧,我添加了Option Explicit,並且陷入了調試問題。我已經刪除了我的數據庫中的表對象,但是現在當我執行代碼時,出現以下運行時錯誤「3061:太少參數。預期1」:dbs.Execute sql,dbFailOnError。從我的局部變量看,所有的參數看起來都已經到位。任何想法,爲什麼我仍然得到一個錯誤? – lunar8nrg