 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
aforangel
註冊時間: 2010-05-24 文章: 117
第 1 樓
|
發表於: 星期一 五月 24, 2010 4:55 pm 文章主題: 請問如何列印暫存DBF檔的欄位, 急急急, 謝謝 |
|
|
如題... |
|
回頂端 |
|
 |
aforangel
註冊時間: 2010-05-24 文章: 117
第 2 樓
|
發表於: 星期一 五月 24, 2010 5:04 pm 文章主題: |
|
|
讓我問清楚一點....我有兩個暫存檔DBF1, DBF2, 現在作用的是DBF1, 與DBF2設了關聯, 列印報表時, 如何在報表中列印出DBF2內的欄位......我知道如果DBF2本身是一個真正的DBF名稱, 報表內是dbf2.name, 但是..現在DBF2也是一個暫存檔, 名字是開始時DBF2 = Sys(2015) 建立出來的, 我應該在報表內怎列印這個欄位呢, 謝謝解答 |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 3 樓
|
發表於: 星期一 五月 24, 2010 5:28 pm 文章主題: |
|
|
CURSOR除了VFP6內只能設定一次INDEX
其餘使用方法與一般DBF無差異
還是一樣DBF2.name
除非你的SELECT裡面根本沒那個欄位
看看錯誤訊息就知道 |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 4 樓
|
發表於: 星期一 五月 24, 2010 5:59 pm 文章主題: |
|
|
Alias() |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 5 樓
|
發表於: 星期一 五月 24, 2010 6:45 pm 文章主題: |
|
|
sele 1
use dbf1
暫存檔名=sys(2015)
原始檔='dbf2'
sele 2
use (原始檔)
copy to (暫存檔名) &&--假設你是用這類的方法來產生暫存檔的...
use
use (暫存檔名) alias dbf2
就樣報表內的檔位還是可延用 dbf2.name 不用特別去更改 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
aforangel
註冊時間: 2010-05-24 文章: 117
第 6 樓
|
發表於: 星期一 五月 24, 2010 10:28 pm 文章主題: |
|
|
謝謝各位, 尤其是garfield大俠, 說得很清楚, 我想我應該明白了, 明天回公司再試一下^_^ |
|
回頂端 |
|
 |
區榮熾
註冊時間: 2005-11-14 文章: 191
第 7 樓
|
發表於: 星期日 五月 30, 2010 10:28 am 文章主題: |
|
|
aforangel 寫到: | 讓我問清楚一點....我有兩個暫存檔DBF1, DBF2, 現在作用的是DBF1, 與DBF2設了關聯, 列印報表時, 如何在報表中列印出DBF2內的欄位......我知道如果DBF2本身是一個真正的DBF名稱, 報表內是dbf2.name, 但是..現在DBF2也是一個暫存檔, 名字是開始時DBF2 = Sys(2015) 建立出來的, 我應該在報表內怎列印這個欄位呢, 謝謝解答 |
既然你已有設好關聯,那就在報表檔內列出 DBF2 的欄位,報表就會如你意了....
如 欄位 1 (DBF1.f1), 欄位 2 (DBF2.f1), ......如何排列就是依你的需求印出....
平日常會遇到 (1) 列印查詢明細資料 (2) 計算各項數據,這時候就可把資料及計算,各別做一暫存檔,並將其關聯設定好,報表就會很快(因為已先計算好關係)的印出資料..統計,資料..統計.....試試吧.
Table,Cursor 在報表工作上是沒有差別待遇的.....但 Cursor 在資料操作上要注意[ 唯讀 ]而已. |
|
回頂端 |
|
 |
foxy

註冊時間: 2007-08-16 文章: 258 來自: 泰國
第 8 樓
|
發表於: 星期日 六月 20, 2010 5:45 pm 文章主題: |
|
|
在報表裡面, 也可以不用寫出DBF或CURSOR的名稱, 只需要使用FIELD名稱就可以了. 如果這樣, 也就沒有必要在DATA ENV來設定關聯.
在生成報表之前, 要使用SELECT-SQL把兩個DBF融合在一起成為一個CURSOR就可以了.
例如, 下面的代碼可以把銷售發票概括DBF(sales), 發票產品項目DBF(salesdt),客戶資料DBF(customer)和產品資料DBF(products)這4個DBF融合為一個cursor,在報表裡面就無須寫出任何DBF名稱,因為所有FIELD都來自於這同一個CURSOR, 也就無須設定關聯
SELECT a.Date,a.CustomerCode,c.Name as CustomerName,;
a.Total,a.Vat,a.Balance,;
b.Code as ProductCode,p.Description as ProductDescription,;
b.Qty,b.Price,b.Amount;
FROM sales as a;
INNER JOIN salesdt as b;
ON a.no=b.no;
INNER JOIN customer as c;
ON a.customercode=c.code;
INNER JOIN products as p;
ON b.code=p.code;
INTO CURSOR mytmp READWRITE
** 因為使用了READWRITE,還可以繼續修改mytmp這個CURSOR裡面的任何FIELD
REPORT FORM sales.frx TO PRINTER PREVIEW PROMPT _________________ 進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + Flutter 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|