2013-01-12 23 views
1

我有一個帶有幾個文本框的網頁;以及包含數字數據,日期和用戶標識的列的訪問數據庫。使用javascript將accessdb的列填充到文本框中

我需要幫忙來SUM列的日期是> = 1/1/2013。 讓我們說我不能使用服務器端腳本與我目前的設置。我只需要通過JS或jquery完成此操作。

這是我想出的代碼來檢索總和。但是文本框以此值返回「[object]」。

此外,我不知道如何編寫「WHERE」條件。

我敢肯定,它的東西很簡單,我即將失蹤。任何幫助將不勝感激!!

function retrieve_records() { 
var adoconn = new ActiveXobject("ADODB.Connection"); 
var adoRS = new ActiveXobject("ADODB.Recordset"); 
adoconn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='database.mdb'"); 
adoRS.Open("Select SUM(database_column_name) As Total FROM tablename", adoconn, 1, 3); 
textbox1.value = adoRS; 
adoRS.close(); 
adoconn.close(); 
} 

謝謝! 馬文。

回答

0

這是從ADO和Access的知識拼湊起來的,而不是Javascript。

var cmd = new ActiveXObject("ADODB.Command"); 
cmd.ActiveConnection = adoconn; 

var strSQL = "Select SUM(database_column_name) As Total FROM tablename WHERE aDate=?"; 

cmd.CommandText = strSQL; 
var param = cmd.CreateParameter("adate", 7, 1,, "2013/12/31"); 
cmd.Parameters.Append(param); 
var adoRS = cmd.Execute(); 
textbox1.value = adoRS.Fields(0) 

Fields(0)因爲只有一個字段,Fields('Total')也應該有效。日期是上面的字符串,它應該與Access一起工作,但您可能想使用適當的日期。

+0

Remou - 感謝您的快速恢復。我試過你的編碼,但得到了「類型不匹配」錯誤。這是什麼時候DB字段屬性不匹配正確? 所以我試圖調試,以使其工作沒有WHERE條件(似乎是導致錯誤。但沒有沒有條件運氣沒有:( 這裏是我嘗試的代碼: – marv

+0

'var adoconn = new ActiveXobject (「ADODB.Connection」);' 'adoconn.Open(「Provider = Microsoft.Jet.OLEDB.4.0; Data Source ='database.mdb'」);' 'var cmd = new ActiveXObject(「ADODB .Command 「);' 'cmd.ActiveConnection = adoconn;' '變種ADORS =新的ActiveXObject(」 ADODB.Recordset 「);' 'VAR STRSQL =」 SELECT SUM(database_column_name)爲總FROM標籤lename「;' 'cmd.CommandText = STRSQL;' '變種ADORS = cmd.Execute();' 'textbox1.value = adoRS.Fields(0);' – marv

+0

我例如數據庫有一列日期和數字值。 - 使用上面的代碼,我收到一個數字「429」。這不是SUM。我嘗試修改我的數據庫中的數值,結果保持在429!我現在很困惑:( 嘗試總結一個不同的列,我得到「1013」,而這個列總和只有63!:( --- 猜測一旦我們得到的基本總和工作,我可以冒險添加一個條件 - 期待您的幫助Remou。 感謝您閱讀本文和您的代碼 – marv