ช่วยด้วย เรื่อง ลูป

   
DO WHILE s <= e
SELECT * FROM rcpt_ext WHERE rcpt_ext.rcptdate BETWEEN drg.dateadm AND drg.datedsc AND rcpt_ext.hn = drg.hn
SUM amount all
s=s+1
ENDDO
** ต้องการให้ตัวแปร e เท่ากับจำนวน record ในตาราง drg ทำไงครับ
**ต้องการให้ลูปเลื่อนไปทีละ 1 record ทำไงครับ
**ต้องการเก็บค่า sum ทำไงครับ
ss
30 ธ.ค. 47 เวลา 9:14:44 น. --> 203.150.217.116
   
   
use rcpt_ext
go bottom
e = recno()
go top
s = 1
do while s<= e
......................
.................
.................
................
skip
s = s+1
enddo
ประมาณนี้ครับ ลองประยุกใช้ดู
LFox
30 ธ.ค. 47 เวลา 10:15:25 น. --> 203.150.217.116
  
   
1.e = reccount(ชื่อตาราง) ก็จะได้จำนวน record ที่ต้องการได้ ก็แทนค่าก่อนเข้าลูป
2. ให้เลื่อนไปทีละ record ก็ใช้ skip in ชื่อตางราง
3. ถ้าจะเก็บค่า sum ของแต่ละ record ก็ใช้เป็น array ก็ได้ครับ sum to array ชื่ออาร์เรย์
ในคำสั่ง select ของคุณ รู้สึกตรง from จะขาด drg ไปนะครับ ลองตรวจสอบดูอีกครั้งนะครับ
foxisan
30 ธ.ค. 47 เวลา 10:23:01 น. --> 202.5.88.135, w
  
   
USE drg
e=RECCOUNT() &&นับจำนวนreccord ทั้งหมดจากตาราง drg
GOTO TOP
s=1
DO WHILE s <= e
SELECT * FROM rcpt_ext WHERE rcpt_ext.rcptdate BETWEEN drg.dateadm AND drg.datedsc AND rcpt_ext.hn = drg.hn
SUM amount all
SELECT drg
IF .NOT. EOF()
SKIP
s=s+1
ELSE
EXIT
ENDIF
ENDDO
Auiy
3 ม.ค. 48 เวลา 11:05:15 น. --> 203.144.216.250
  
ขอเชิญร่วมตอบคำถามครับ
 
ผู้ตอบ :
รหัสผ่าน :
รูปภาพ :
คำตอบ :