2016-07-07 16 views
0

我有兩個表VB6的查詢時,一個表稱爲Act_Reg,另一個是Active_Pay。我有兩個疑問:一個查詢在MS Access視圖,它給我的結果作爲Paycoach移動一個MS Access查詢到使用第一

SELECT Act_Reg.member_id, Active_Pay.date_pay, Active_Pay.kind_sport, 
     Active_Pay.kind_prac, Active_Pay.coach, Active_Pay.tuition, Active_Pay.discount 
FROM Act_Reg 
INNER JOIN Active_Pay ON Act_Reg.member_id = Active_Pay.member_id; 

我在VB6中使用越來越查詢一個結果第二個查詢:

rstemp1.Open "SELECT sum(tuition)-sum(discount) FROM paycoach where date_pay Between '" & Trim(txtdatein.text) & "' And '" & Trim(txtdateto.text) & "' and coach='" & Cbocoach.text & "' and kind_sport='" & cbosport.text & "' and kind_prac='normal' group by tuition", db, adOpenKeyset, adLockOptimistic 

我想根據付費會員和日期範圍內的折扣計算每位教練的付款。這兩個查詢工作正常,但一個查詢是在MS Access作爲視圖,第二個在VB6。

如何將這兩個查詢合併爲一個查詢,我可以在Visual Basic 6中使用這個查詢?

+0

不知道我理解 - 再你想你的Access查詢進入VB6?然後在您的Open語句中使用該組合SQL? – dbmitch

回答

1

我認爲你可以按照你的要求來完成你的描述。 它可能不是最有效的,但這應該通過簡單地直接將您的Access查詢SQL到您的VB6查詢SQL工作

你的薪水查詢SQL

SELECT Act_Reg.member_id, Active_Pay.date_pay, Active_Pay.kind_sport, 
     Active_Pay.kind_prac, Active_Pay.coach, Active_Pay.tuition, Active_Pay.discount 
FROM Act_Reg 
INNER JOIN Active_Pay ON Act_Reg.member_id = Active_Pay.member_id; 

你rs.Open sql

"SELECT sum(tuition)-sum(discount) FROM paycoach where date_pay Between '" & _ 
Trim(txtdatein.text) & "' And '" & Trim(txtdateto.text) & "' and coach='" & _ 
Cbocoach.text & "' and kind_sport='" & cbosport.text & "' and kind_prac='normal' group by tuition" 

修改您rs.open使用合併報表

Dim sql as string 

sql = "SELECT sum(tuition)-sum(discount) FROM " 
sql = sql & "(SELECT Act_Reg.member_id, Active_Pay.date_pay, Active_Pay.kind_sport, " 
sql = sql & "Active_Pay.kind_prac, Active_Pay.coach, Active_Pay.tuition, Active_Pay.discount " 
sql = sql & "FROM Act_Reg INNER JOIN Active_Pay ON Act_Reg.member_id = Active_Pay.member_id) " 
sql = sql & "As paycoach " 
sql = sql & "where date_pay Between '" 
sql = sql & Trim(txtdatein.text) & "' And '" & Trim(txtdateto.text) & "' and coach='" 
sql = sql & Cbocoach.text & "' and kind_sport='" & cbosport.text & "' and kind_prac='normal' group by tuition" 

rstemp1.Open sql, db, adOpenKeyset, adLockOptimistic 
+0

親愛的@dbmitch,對不起我的英文不好。我用你的代碼:'代碼Dim sql as string sql =「SELECT sum(tuition)-sum(discount)FROM」sql = sql&「(SELECT Act_Reg.member_id,Active_Pay.date_pay,Active_Pay.kind_sport,」sql = sql& 「Active_Pay.kind_prac,Active_Pay.coach,Active_Pay.tuition,Active_Pay.discount」sql = sql&「FROM Act_Reg INNER JOIN Active_Pay ON Act_Reg.member_id = Active_Pay.member_id)」sql = sql&「as paycoach」sql = sql&「 where date_pay between'「sql = sql&Trim(txtdatein.text)&」'And'「&Trim(txtdateto.text)&」'and coach ='「and ......'它什麼都不變!!? – user334681

+0

親愛的@dbmitch,你的代碼工作的很好,這是我的代碼中的錯。再次感謝 – user334681

+0

很高興你持之以恆。 – dbmitch