2011-07-28 75 views
0

我正在使用Excel/Access 2007.我在Access中進行了Access查詢,並且我嘗試使用數據選項卡 - >獲取外部數據子選項卡 - >從Access將其導入Excel 。我選擇了我的數據庫,並選擇了我想導入的查詢。但是,只有表格的標題以及2個空白行顯示出來(通過將它們格式化爲表格來證明)。確實有查詢中返回的數據,我可以通過檢查Access來驗證。任何幫助將不勝感激Excel不會從Access導入表格

作爲一邊,可以這樣做編程?

編輯:這是在所有的SQL查詢它的榮耀

SELECT [Meter#], [LDC#], [ESCO#], [Brand], [LDCName], [RateClass], [RateSubClass], [CustName], 
[DemandZone], [Type], dbo_Forecasts.Name AS ForecasForecastType, 
Min(IntervalMeterConsumption.[DateFrom]) AS ConsumptionStart, IntermediateLog.[MaxOfDateRead] AS ConsumptionEnd, 
Sum([kWh])/(Sum([Interval])/365) AS AverageAnnual 

FROM (IntermediateLog 
     INNER JOIN (
        (Premise INNER JOIN Meters ON Premise.PremiseCt = Meters.PremiseCt) 
        INNER JOIN IntervalMeterConsumption 
         ON Meters.Meterid = IntervalMeterConsumption.MeterID) 
      ON IntermediateLog.[LDC#] = Premise.CustomerPremiseNo) 
INNER JOIN dbo_Forecasts ON Meters.ForecastID = dbo_Forecasts.ForecastID 

WHERE ((([MaxOfDateRead]-[DateFrom])<=380)) 

GROUP BY IntermediateLog.[Meter#], IntermediateLog.[LDC#], IntermediateLog.[ESCO#], 
IntermediateLog.Brand, IntermediateLog.LDCName, IntermediateLog.RateClass, 
IntermediateLog.RateSubClass, IntermediateLog.CustName, IntermediateLog.DemandZone, 
IntermediateLog.Type, dbo_Forecasts.Name, IntermediateLog.MaxOfDateRead; 
+0

我刪除了他們在這個帖子代替簡潔 – Tom

+0

的好我加了完整的查詢,如果您仍然在意。上面的反應是因爲我認爲你可以比使用「不要告訴我們」這句話更好地表達這裏的SQL查詢,然後向我們展示一些不是查詢的東西。羽毛有點惱怒,我的不好。 – Tom

+0

您在Excel中使用什麼數據訪問方法?舉例來說,我知道Word 2007對很多向導默認爲OLEDB,這意味着使用ANSI 89 SQL的有效Access查詢(例如'LIKE「Fent *」')在通過Word執行時不會返回任何行OLEDB。我沒有看到SQL中的任何顯而易見的東西,它們在SQL 92和SQL 89中將有不同的解釋,但這正是我開始尋找的地方。 –

回答

0

你可以嘗試刪除where子句只是暫時,看看是否有差別。

在Access中運行查詢時是否要求參數?

的代碼來查詢從Access導出到Excel如下:

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Query/Table Name", "c:\export.xls" 

感謝馬克