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

求救!從另一個資料表格取用欄位值的方法

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



註冊時間: 2016-04-12
文章: 8


第 1 樓

發表發表於: 星期五 五月 27, 2016 3:59 pm    文章主題: 求救!從另一個資料表格取用欄位值的方法 引言回覆

因為新接倉管工作,長官要求每月要看結存表,只好自己寫一個簡單的小程式來管理,已經快20年沒碰VFP,幾乎都忘光了,只好求教各位大俠。
先敘述一下小弟的兩個DBF
領用資料維護.DBF:記錄每日員工來領用的資料。
欄位:品號(ITEM)、領用日期(DATE)、領用數量(QUAN)
庫存基本資料.DBF:記錄倉庫的品項及庫存量
欄位:品號(ITEM)、品名(NAME)、單價(UNIT)、本月領用
(QUAN)
以下是小弟目前寫的程序
***** 輸入要月結的年月 *****
yy=thisform.spinner1.value
mm=thisform.spinner2.value
SELECT 領用資料維護
SET ORDER TO 2
SET FILTER TO YEAR(DATE)-1911 = YY .AND. MONTH(DATE) = MM
GO TOP
TOTAL TO TEMP ON ITEM FIEL QUAN
USE TEMP
INDEX ON ITEM TO ITEM
SELE 庫存基本資料
SET RELATION TO ITEM INTO TEMP
***********************************
接下來我想從TEMP.DBF 取用相同ITEM的QUAN欄位值,存入庫存基本資料.DBF的OUT_QUAN欄。
拜託大大們給予指導,謝謝

_________________
王希之
回頂端
檢視會員個人資料 發送私人訊息
CPS0204



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


第 2 樓

發表發表於: 星期五 五月 27, 2016 4:18 pm    文章主題: 引言回覆

先回覆你一下
你的dbf 欄位名稱,有可能是保留字!
ITEM,DATE,NAME............等,請先避免

可採用1-2條的SELECT ITEM1,SUM(....)等來完成!
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 3 樓

發表發表於: 星期五 五月 27, 2016 11:24 pm    文章主題: 引言回覆

我最近接到 CLIPPER S'87 轉 VFP 的CASE,
所以這種"4 BYTES"命令嚇不了我的.


----
FIELD NAME 比較寬鬆.
不然樓主連TABLE都建不了,
哪有機會寫程式

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 4 樓

發表發表於: 星期一 五月 30, 2016 9:30 am    文章主題: 引言回覆

老式作法:

代碼:

SELE 領用資料維護
SET RELA TO
SCAN
   SELE 領用資料維護
   cITEM = ITEM
   nQUAN = 0
   RECN1 = RECNO('領用資料維護')
   SELECT TEMP
   SUM QUAN TO nQUAN FOR ITEM=cITEM
   SELE 領用資料維護
   GO RECN1
   REPL  OUT_QUAN   WITH nQUAN
ENDS
SELE 領用資料維護
SET RELA TO ITEM INTO TEMP

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
wang0970



註冊時間: 2016-04-12
文章: 8


第 5 樓

發表發表於: 星期一 五月 30, 2016 10:42 am    文章主題: 引言回覆

感謝樓主與CPS0204大大的熱心指導,小弟因為以前一直在單機領域裡面,SQL的語法小弟真的不懂,爬文了好幾天還是霧煞煞,最後參考john大大的寫法,把程式改成如下:
SELECT 領用資料維護
SET ORDER TO 2
SET FILTER TO YEAR(T_DATE)-1911 = YY .AND. MONTH(T_DATE) = MM
GO TOP
TOTAL TO TEMP1 ON T_STUID FIEL T_CLASS
USE TEMP1
INDEX ON t_STUID TO STUID
SELE 庫存基本資料
SET ORDER TO 1
GO TOP
SET RELATION TO STUID INTO TEMP1
DO WHILE .T.
REPL OUT_QUAN WITH TEMP1.t_CLASS
SKIP
IF EOF()
EXIT
ENDIF
ENDDO
Thisform.Release()

問題都解決了,真的感謝樓主還有這個平台所有的狐友們,幾十年了大家都還這麼熱心支持解惑,再一次感謝您們!

_________________
王希之
回頂端
檢視會員個人資料 發送私人訊息
wang0970



註冊時間: 2016-04-12
文章: 8


第 6 樓

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

感謝樓主幫忙,小弟改用樓主的方法SCAN....ENDACAN,程式變的更簡潔,很開心!謝謝!
_________________
王希之
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 7 樓

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

代碼:

&&  搞一個無限迴圈,再用條件跳出.
DO WHILE .T.
  ......
  SKIP
  IF EOF()    &&  或用其他特殊條件跳出
   EXIT
  ENDIF
ENDDO


這種方式 經歷過CLIPPER時代的人常常用.
像我這種C&C++/VB 時代的人,比較少用.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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