VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

已解決group 的分組,總頁次bug

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
CPS0204



註冊時間: 2014-08-24
文章: 441


第 1 樓

發表發表於: 星期五 一月 01, 2016 3:02 pm    文章主題: 已解決group 的分組,總頁次bug 引言回覆

1.原需求:有100張傳票,每張傳票有10-30筆明細不等!
想批次列印,每張傳票印出 頁次:1/1 或 2/5...等(每張的總頁次不等,需依傳票單號分組,不同單號則總頁次不要混加)
2.但受限_PAGETOTAL 在分組時,VFP 有BUG ,分組總頁次 算不準!
3.原先想使用DOS的算法,先算出例: INT( COUNT1/10)..等先算好,再放至CURSOR中,但此時有一個問題,客戶印表機不同或 ,有時摘要特長導至每頁印出的行數為 8到10行,所以無法固定除 10行)
4.此時改用下列即可,一樣是REPORT FORM兩次,以下是用VFP9可用

SELE 0
CREA CURSOR HEAD0 (V_NO C(10),PG_TOT1 N(4)) &&先建立分組頁次檔頭
INDEX ON V_NO TAG OD1
SELECT V_NO FROM MY_VOUR2 INTO CURSOR TEMP0 GROUP BY V_NO &&建立單一檔頭 ,如果原來已有,則不需要



DEFINE WINDOW WIN1 FROM 0,0 TO 5,30 &&定義一個WINDOWS ,以免下面的REPORT弄亂視窗
MOVE WINDOW WIN1 CENTER
ACTIVATE WINDOW WIN1
*--------------------------*
SELE TEMP0
SCAN &&逐筆滾動檔頭
VNO1=V_NO
@1,5 SAY '計算總頁次中: 分組單號='+M.VNO1 COLOR GR+
SELECT MY_VOUR2 &&原來已有的傳票單身
REPORT FORM MY_TABLE1 FOR VNO1=V_NO NOWAIT IN WINDOW WIN1 &&只在WIN1滾動,此行是重點,一定不能加入 NOCONSOLE,否則頁次會不準
* 上行的REPORT有跑過一次, 讓USER看到但很快滾過去

P01=_PAGETOTAL &&補捉到上行的單一組別的總頁次,VFP6改用_PAGENO
SELECT HEAD0
APPEND BLANK
REPL V_NO WITH VNO1,PG_TOT1 WITH P01 &&寫到 HEAD0中
sele temp0
ENDSCAN
*-----------------------------*
DEACTIVATE WINDOW WWIN1
RELEASE WINDOW WIN1

USE IN TEMP0

SELE MY_VOUR2
SET RELA TO V_NO INTO HEAD0 ADDI &&建立RELATION 可讀到HEAD0.的分組頁次!
GO TOP
REPORT FORM MY_TABLE1 PREVIEW &&在REPORT一次,此次可以PREVIEW,讓使用者看到
* 在上行的 MY_TABLE1 報表檔中,加入欄位 (頁次=TRAN(_PAGENO)+' / '+TRAN(HEAD0.PG_TOT1)+' 頁')
* 這樣可以解決每頁次的列印明細列數=為浮動的困難(因傳票摘要太長,有可能折到下1或下2行)!
*註:第一次REPORT 會浪費時間等,但可以批次印出傳票 30張或500張,這樣等應很滑算!
USE IN HEAD0
回頂端
檢視會員個人資料 發送私人訊息
perry



註冊時間: 2014-07-20
文章: 203


第 2 樓

發表發表於: 星期五 一月 01, 2016 3:41 pm    文章主題: 引言回覆

真心建議您印表改用 Excel 輸出,
您會發現 VFP 印表的問題全不是問題!!

Excel 全部直欄寬度設 2 ,沒有做不出的報表格式.
回頂端
檢視會員個人資料 發送私人訊息
CPS0204



註冊時間: 2014-08-24
文章: 441


第 3 樓

發表發表於: 星期五 一月 01, 2016 3:44 pm    文章主題: 引言回覆

(真心建議您印表改用 Excel 輸出)
EXCEL也可以,但批次列印,直接使用FOXPRO REPORT更快!
回頂端
檢視會員個人資料 發送私人訊息
perry



註冊時間: 2014-07-20
文章: 203


第 4 樓

發表發表於: 星期六 一月 02, 2016 1:55 am    文章主題: 引言回覆

印表用 Excel 輸出,是藉由 Execl 寫出DOS方式的印表,
並非使用它的 group 功能.

1.可利用計數變數,每一傳票跑完再回頭填總頁數.
2.可合併儲存格,縮小字型以適合欄寬.

透過預覽可查出各種報表一頁的列l數,用複製及插入產生下一頁.
設計時比較不會受限制,想怎寫報表就怎麼寫,套表亦同!!
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作