 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
microclp
註冊時間: 2004-08-05 文章: 5
第 1 樓
|
發表於: 星期五 八月 27, 2004 3:42 pm 文章主題: 自動复制技術難題求解﹗ |
|
|
現有一數据表weight.dbf,字段名及內容如下﹕
model case_no material weight
00-110 C-4-946707F SS 0.0112
00-110 B-4-946707F SS 0.006
00-110 C-4-946961F SS 0.0112
00-110 B-4-946961F SS 0.006
00-110 C-4-S82922FT SS 0.0112
00-110 B-4-S82922FT SS 0.006
00-110 C-4-R10362F SS 0.0112
00-110 B-4-R10362F SS 0.006
00-111 C-4-038835F SS 0.0158
00-111 B-4-038835F SS 0.007
00-111 C-4-S82906F SS 0.0158
00-111 B-4-S82906F SS 0.007
00-111 C-4-038835FT SS 0.0158
00-111 B-4-038835FT SS 0.007
00-242 C-4-039173F BS 0.022
00-242 B-4-039173F SS 0.007
00-242 C-4-039556F BS 0.022
00-242 B-4-039556F SS 0.007
00-242 C-4-039173Z BS 0.022
00-242 B-4-039173Z SS 0.007
00-242 C-4-039556FT BS 0.022
00-242 B-4-039556FT SS 0.007
條件﹕如果model(型號)相同,case_no如果以c開頭﹐其weight(單重)值都相同
如果model(型號)相同,case_no如果以B開頭﹐其weight(單重)值都相同
現以weight.dbf為資料來源建立一表單
表單建立一個文本框model,一個命令按鈕(查詢)
grid控件顯示數据表weight.dbf的內容。
現想實現的功能如下:
在文本框中輸入model(型號),然后點命令按鈕(查詢)
顯示該model(型號)下的case_no,material,weight﹐現如果在該型號下增加一個case_no,按前面的條件﹐如果以C開頭﹐新增加的case_no的
weight值自動等于相同型號case_no以c開頭的weight值。
如果以B開頭﹐新增加的case_no的
weight值自動等于相同型號case_no以B開頭的weight值。
在SQL SERVER 7.0里面可以使用以下語句達到效果﹐請問在vfp6.0中如何達到如此效果?
update weight set weight=TB.Tweight from weight inner join (select case_no,model,max(weight)
as Tweight from weight Group By case_no,model) as TB on weight.case_no=TB.case_no and weight.model=TB.Model
現舉例如下﹕
在文本框中輸入型號00-110,點查詢命令按鈕(command)
grid控件內容如下﹕
model case_no material weight
00-110 C-4-946707F SS 0.0112
00-110 B-4-946707F SS 0.006
00-110 C-4-946961F SS 0.0112
00-110 B-4-946961F SS 0.006
00-110 C-4-S82922FT SS 0.0112
00-110 B-4-S82922FT SS 0.006
00-110 C-4-R10362F SS 0.0112
00-110 B-4-R10362F SS 0.006
現在grid控件里面增加一個case_no為C-4-946707FT怎樣實現其weight自動等于0.0112
如果增加一個case_no為B-4-946707FT其weight自動等于0.006
如果以前資料庫中相同型號的case_no如果有一些weight值未輸入﹐自動添充為weight已有值﹐實例如下﹕
model case_no material weight
00-110 C-4-946707F SS 0.0112
00-110 B-4-946707F SS 0.006
00-110 C-4-946961F SS 0.0112
00-110 B-4-946961F SS 0.006
00-110 C-4-S82922FT SS ? 自動等于0.0112
00-110 B-4-S82922FT SS ? 自動等于0.006
00-110 C-4-R10362F SS ? 自動等于0.0112
00-110 B-4-R10362F SS ? 自動等于0.006
困惑中﹐望高手指點﹗高分回報﹗ |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期五 八月 27, 2004 4:04 pm 文章主題: |
|
|
你試過在vfp 中下過同樣指令嗎? _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
microclp
註冊時間: 2004-08-05 文章: 5
第 3 樓
|
發表於: 星期五 八月 27, 2004 6:05 pm 文章主題: |
|
|
自動功能在表單中﹐不是在命令窗口中用set filt to 和repl with
要求在grid控件中修改第一筆﹐后面相同型號的帶case_no為C開頭的全部變為一樣﹐相同型號的帶case_no為B開頭的全部變為一樣﹐ |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 4 樓
|
發表於: 星期五 八月 27, 2004 11:33 pm 文章主題: |
|
|
由於本人腦袋能處理的資料量較小, 無法解答太過複雜的問題, 提供以下幾點針對你第二次提問的問題做解答.
grid中的控件可以在 .valid( ) 中做以下處理
local mrec, mled, mweight
mrec = recno()
mled = left( case_no ,1 )
mweight = weight
repl weight with mweight for mled = left( case_no ,1 )
go mrec _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|