|
|
|
สอบถามการใช้ store procedure ของ vb6 กับ MS Access แล้วใช้เวลานานเกินไปในการออก Crystal Report |
|
|
|
|
|
|
|
คือผมทำ vb6 โดยใช้ store procedure ในการ query ไปเก็บไว้ในตาราง แล้วค่อยให้ Crytal Report ไปอ่านออกมาเป็นรายงานแต่ปรากฏว่ามันใช้เวลานานมาก (2-5) นาที ผมจึงใคร่ขอถามว่าจะเปลี่ยน query นี้ยังไงดี ขอบคุณล่วงหน้ามากๆครับ
ผมสร้างเป็น Module นะครับแล้ว Call function โดย ส่งค่า N ไปให้ ซึ่ง N เป็นค่าวันที่จาก DTpicker ครับ ยังไงก็ขอคำชี้แนะด้วยครับ
ขอบคุณอีกครั้งครับ
Code เป็นอย่างนี้
str = "INSERT INTO ReAccReport (RE_PolicyNo,ReInsuranceCoCode,ReInsurerName,SumComm,SumAP)" & _
" SELECT AccountDebit1.FK_PolicyNo, PolicyDetails.InsuranceCoCode, InsuranceCoList.InsurerName, AccountDebit1.ComRemain, AccountDebit1.BalanceDebit" & _
" FROM AccountDebit AS AccountDebit1 INNER JOIN (InsuranceCoList INNER JOIN PolicyDetails ON InsuranceCoList.InsuranceCoCode = PolicyDetails.InsuranceCoCode)" & _
" ON AccountDebit1.FK_PolicyNo = PolicyDetails.PolicyNo" & _
" WHERE AccountDebit1.AccDebitNo=( SELECT MAX( AccountDebit2.AccDebitNo)" & _
" FROM AccountDebit AS AccountDebit2" & _
" WHERE AccountDebit2.FK_PolicyNo=AccountDebit1.FK_PolicyNo)" & _
" AND InsuranceCoList.TypeInsurance = 'L'" & _
" AND PolicyDetails.DebitNoteDate <= @QRDATE "
Cn.Execute "CREATE PROCEDURE LifeinAc(@QRDATE Date) AS " & vbCrLf & str
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Cn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "LifeinAc"
cmd.Parameters.Append cmd.CreateParameter("SentDate", adDate, adParamInput, Len(N), N)
cmd.Execute
Tag : Ms Access, Crystal Report
|
|
|
|
|
|
Date :
2010-07-29 15:50:05 |
By :
คนไม่เป็น |
View :
1460 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โฮ ลองดูพวก SUB SELECT น่ะครับ ตัวนี้ทำให้ช้าสุด ๆ และก็ถ้า JOIN ลองดูพวกทีเป็น Key ให้ครบน่ะครับ
|
|
|
|
|
Date :
2010-07-29 17:27:43 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มะลึงพึงพืดกันไปหมด
ลองแยกเปรนอันๆดูรึยังครับ เช่น WHERE AccountDebit1.AccDebitNo=( SELECT MAX( AccountDebit2.AccDebitNo)" & _
คุณหาค่า MAX เกบไว้ก่อนแล้วค่อยเอามาใช้ได้มะ
ถ้าคำตอบไม่ได้ช่วยอารายก้อขออภัยนะ
|
|
|
|
|
Date :
2010-08-02 01:37:56 |
By :
Sek-Artdrinker |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|