上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
布丁狗
註冊時間: 2011-01-30 文章: 5
第 1 樓
|
發表於: 星期四 三月 31, 2011 11:52 am 文章主題: Scan 的問題 |
|
|
現有兩個表格, 內容分別是:
表格一:
採購訂單編號 行數 貨號 訂單數量 發票數量
TM01-H0057 001 A 100 未填
TM01-H0057 002 B 200 未填
TM01-H0057 003 C 300 未填
TM01-H0057 004 D 400 未填
表格二
採購發票編號 採購訂單編號 行數 貨號 發票數量
PI01-H0001 TM01-H0057 001 C 200
PI01-H0001 TM01-H0057 002 D 400
我想把表格二的發票數量更新到表格一的發票數量, 所以編寫了以下的程式碼:
USE 表格二 IN 1
INDEX on 採購訂單編號 tag a
USE 表格一 IN 2
INDEX on 採購訂單編號 tag b
SELECT 2
SCAN
select 表格二 seek 表格一.採購訂單編號 if found()
SELECT 表格一 REPLACE 表格一.發票數量 WITH 表格二.發票數量 endif
select 表格一
ENDSCAN
CLOSE all
不過表格一的結果是:
表格一
採購訂單編號 行數 貨號 訂單數量 發票數量
TM01-H0057 001 A 100 200
TM01-H0057 002 B 200 200
TM01-H0057 003 C 300 200
TM01-H0057 004 D 400 200
請問如何才做到以下的結果?
表格一
採購訂單編號 行數 貨號 訂單數量 發票數量
TM01-H0057 001 A 100 0
TM01-H0057 002 B 200 0
TM01-H0057 003 C 300 200
TM01-H0057 004 D 400 400
謝謝各位幫忙. |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 2 樓
|
發表於: 星期四 三月 31, 2011 5:44 pm 文章主題: |
|
|
代碼: |
Use 表格二
Scan
Update 表格一 Set 表格一.發票數量 = 表格二.發票數量 Where 表格一.採購訂單編號=表格二.採購訂單編號
Endscan
|
|
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 3 樓
|
發表於: 星期四 三月 31, 2011 9:15 pm 文章主題: |
|
|
USE 表格二 IN 1
INDEX on 採購訂單編號 tag a
USE 表格一 IN 2
INDEX on 採購訂單編號 tag b
SELECT 2
SCAN
select 表格二
seek 表格一.採購訂單編號
if found()
SELECT 表格一
REPLACE 表格一.發票數量 WITH 表格二.發票數量
endif
select 表格一 <==問題就在這裡 跟一開始啟動的TABLE不同一個
ENDSCAN
CLOSE all
看你的文還得重排版.......
養成好習慣 會使你自己減少掉很多抓BUG的時間
IF下一行就先放好
ENDIF
有SCAN 就要這樣
================
Select xxx
scan
select xxx
endscan
如果不懂
找台電腦去安裝.NET
試試看用裡面插入程式段的方法
你就會看到許多"有頭自動長出尾巴"
LiuRambo 在 星期六 四月 09, 2011 11:23 pm 作了第 1 次修改 |
|
回頂端 |
|
|
richshih
註冊時間: 2007-10-11 文章: 153
第 4 樓
|
發表於: 星期五 四月 01, 2011 2:58 pm 文章主題: |
|
|
用INDEXSEEK() 就不用一下SELE 1 一下 SELE 2 |
|
回頂端 |
|
|
布丁狗
註冊時間: 2011-01-30 文章: 5
第 5 樓
|
發表於: 星期六 四月 02, 2011 10:37 am 文章主題: Scan 的問題 |
|
|
謝謝各位的幫忙, 因為現在沒有地方學 VFP, 就算是書都只買到一本簡體, 唯有一路看書, 一路自已亂打亂撞, 所以請多多指教. |
|
回頂端 |
|
|
heetee
註冊時間: 2010-11-20 文章: 16
第 6 樓
|
發表於: 星期六 四月 02, 2011 4:52 pm 文章主題: |
|
|
ckp6250那四行應可用
不行嗎??? |
|
回頂端 |
|
|
區榮熾
註冊時間: 2005-11-14 文章: 191
第 7 樓
|
發表於: 星期四 四月 07, 2011 9:05 pm 文章主題: Re: Scan 的問題 |
|
|
布丁狗 寫到: | 謝謝各位的幫忙, 因為現在沒有地方學 VFP, 就算是書都只買到一本簡體, 唯有一路看書, 一路自已亂打亂撞, 所以請多多指教. :) |
給你的建議:
1: 請深入瞭解 Ckp6250 兄的程式碼意思,以後很多的更新都用得上.
2: 請將 LiuRambo 兄的程式碼熟練起來,因是標準的多檔更新程式寫法,比書上
寫的還要簡潔清晰易懂.
經過大家的提示,你的問解決了嗎? .............學習路上是有很多石頭的! |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 8 樓
|
發表於: 星期四 四月 07, 2011 9:37 pm 文章主題: |
|
|
可惜 VFP 沒有像 Mysql 的語法
不然,一行就搞定了
代碼: |
〔Mysql 語法〕
UPDATE 表格一,表格二 SET 表格一.發票數量 = 表格二.發票數量 WHERE 表格一.採購訂單編號=表格二.採購訂單編號
|
好欣賞這個∼口水都流出來了 |
|
回頂端 |
|
|
區榮熾
註冊時間: 2005-11-14 文章: 191
第 9 樓
|
發表於: 星期六 四月 09, 2011 7:55 am 文章主題: |
|
|
ckp6250 寫到: | 可惜 VFP 沒有像 Mysql 的語法
不然,一行就搞定了
代碼: |
〔Mysql 語法〕
UPDATE 表格一,表格二 SET 表格一.發票數量 = 表格二.發票數量 WHERE 表格一.採購訂單編號=表格二.採購訂單編號
|
好欣賞這個∼口水都流出來了 |
好欣賞這個......我投票贊成
口水都流出來了........有很多比我們擁有的強強強,口水會乾涸啊! |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 10 樓
|
發表於: 星期六 四月 09, 2011 4:57 pm 文章主題: |
|
|
前端 cursor 操作,VFP 很強,一般 VB , C , Java 等等,根本比不上
後端的資料庫管理功能,VFP也比不上 Mysql 或 MsSql 或 Oracle 等等
所以,最好的方法是,
結合二者,VFP+資料庫
那個部份強的,就用那個部份 |
|
回頂端 |
|
|
|