2013-11-28 77 views
2

任何人都可以在此查看我的代碼,看看我做錯了什麼。我的目標是在創建查詢後打開數據表視圖中的聚合類型。到目前爲止訪問數據庫通過VBA打開聚集類型

Function LoopQuery(ByVal tempProj As Double) 
Dim strSQL As String 
Dim qdfTemp As QueryDef 
Dim ProjNumb As Double 
ProjNumb = tempProj 
strSQL = "sql code...." 
With CurrentDb 
Set qdfTemp = .CreateQueryDef(ProjNumb, strSQL)  
    qdfTemp.Fields(21).Properties("AggregateType").Value = 0 'add the Aggregate Total on Total Hours 
    qdfTemp.Fields(23).Properties("AggregateType").Value = 0 'add the Aggregate Total on Total Costs 
    qdfTemp.Fields(24).Properties("AggregateType").Value = 0 'add the Aggregate Total on Total Discounted 
End With 

我知道我靠近,我的問題是,

qdfTemp.Fields(21).Properties("AggregateType").Value = 0 'add the Aggregate Total on Hours 
qdfTemp.Fields(23).Properties("AggregateType").Value = 0 'add the Aggregate Total on Total Costs 
qdfTemp.Fields(24).Properties("AggregateType").Value = 0 'add the Aggregate Total on Total Discounted 

不創建總和行,我需要。

我使用這個this在msdn論壇上的財產參考,但它似乎並沒有在我的查詢工作。任何幫助,將不勝感激。

編輯:

在打轉轉,我意識到AggregateType.value = 0沒有通過,但 「彙總行」 wasnt可見。一旦我點擊主頁功能區中的總記錄,我就能夠看到它確實得到了我的總結。所以現在我的問題是。

如何在數據表視圖的底部設置可見的總計行?我試圖

currentdb.qdfTemp.Properties("TotalsRow") = True 

但如你發現,你必須將返回錯誤

+0

@HansUp您好,感謝回答,在沒有的QueryDef得到保存,有沒有拋出錯誤消息這就是爲什麼單讀音混淆。 .createquerydef部分工作,數據庫是ACCDB格式 – Eddy

+0

@HansUp我正在使用訪問2007年,並且文件是ACCDB,問候。 – Eddy

回答

2

查詢的TotalsRow可以顯示屬性爲True所在領域的總數之前。

但是總計行當您第一次創建QueryDef時屬性不存在。所以,你必須創建屬性...

Set qdfTemp = .CreateQueryDef(ProjNumb, strSQL) 
qdfTemp.Properties.Append _ 
    qdfTemp.CreateProperty("TotalsRow", dbBoolean, True) 
+0

是的,工作!非常感謝你。 – Eddy