 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
impotence

註冊時間: 2005-02-21 文章: 135 來自: Hong Kong
第 16 樓
|
發表於: 星期一 七月 09, 2007 3:09 pm 文章主題: |
|
|
nelsonchuang 寫到: | impotence 寫到: | isdigit() 是 "確定所指定的字元運算式之最左邊的字元是否是數字 (0 到 9)。"
qty 是 N, 不是 C , 如果 allt(str(qty)) , 則 0 = 空 ..... |
呵,我都忘了這麼重要的事,它是給文字用的
那type('qty')呢?當它是NULL時,會不會等於U? |
不管 qty 的值是 0 或空 , 它的 type() / vartype() 都是 N .....
註 : test.dbf 的結構是 (code C(10), qty N(7)) _________________ 一個常常忘記 Command 的人 ! |
|
回頂端 |
|
 |
nelsonchuang
註冊時間: 2003-09-04 文章: 563 來自: 臺灣
第 17 樓
|
發表於: 星期一 七月 09, 2007 3:19 pm 文章主題: |
|
|
impotence 寫到: | nelsonchuang 寫到: | impotence 寫到: | isdigit() 是 "確定所指定的字元運算式之最左邊的字元是否是數字 (0 到 9)。"
qty 是 N, 不是 C , 如果 allt(str(qty)) , 則 0 = 空 ..... |
呵,我都忘了這麼重要的事,它是給文字用的
那type('qty')呢?當它是NULL時,會不會等於U? |
不管 qty 的值是 0 或空 , 它的 type() / vartype() 都是 N .....
註 : test.dbf 的結構是 (code C(10), qty N(7)) |
方便把你的表格放上來給大家參考一下嗎?
因為很有意思,如果我一直隔空抓藥,老是抓錯,可以讓我們作個臨床看診嗎?(下班回家看) _________________ 大家好,請多指教 |
|
回頂端 |
|
 |
impotence

註冊時間: 2005-02-21 文章: 135 來自: Hong Kong
第 18 樓
|
發表於: 星期一 七月 09, 2007 3:29 pm 文章主題: |
|
|
to : nelsonchuang
你可以簡單的弄一個 (在一樓有例子 ... )
CREATE TABLE test (code C(10), qty N(7))
INSERT INTO test (code,qty) VALUES ('A001',0)
INSERT INTO test (code,qty) VALUES ('A002',0)
INSERT INTO test (code) VALUES ('A003')
INSERT INTO test (code) VALUES ('A004') _________________ 一個常常忘記 Command 的人 ! |
|
回頂端 |
|
 |
BIN

註冊時間: 2004-07-22 文章: 94 來自: Tainan, Taiwan
第 19 樓
|
發表於: 星期一 七月 09, 2007 5:28 pm 文章主題: |
|
|
SELECT * FROM TEST WHERE QTY=0
可抓出來, 所以那欄實際上的值是0, 不是NULL,
只是畫面沒顯示0出來, 蠻怪的就是... |
|
回頂端 |
|
 |
impotence

註冊時間: 2005-02-21 文章: 135 來自: Hong Kong
第 20 樓
|
發表於: 星期一 七月 09, 2007 5:32 pm 文章主題: |
|
|
BIN 寫到: | SELECT * FROM TEST WHERE QTY=0
可抓出來, 所以那欄實際上的值是0, 不是NULL,
只是畫面沒顯示0出來, 蠻怪的就是... |
可是 , 按照你這樣 , 我會把 qty=0 的都找出來 , 我本意是只找 qty 為 "空" 的 .. _________________ 一個常常忘記 Command 的人 ! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 21 樓
|
發表於: 星期一 七月 09, 2007 5:33 pm 文章主題: |
|
|
所以,
匯入數據後,
作一個
update xxx set yyy=0 where yyy=0
來校正資料就可以了.
最後並不是要排除null的記錄,
而是應該把null當成0來運用吧.
如果是這樣就把null的欄位改成數值為0就可以了 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
小賴
註冊時間: 2004-12-27 文章: 476
第 22 樓
|
發表於: 星期一 七月 09, 2007 5:58 pm 文章主題: |
|
|
TO : Syntech兄
是不是考慮把題目再看一次 ?
樓主可能需要找出特定欄位經APPEND BLANK後從未編輯過.... |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 23 樓
|
發表於: 星期一 七月 09, 2007 6:16 pm 文章主題: |
|
|
應該就是沒看錯:
代碼: |
那些是 店舖在用的 dbf 格式 , 每天用 ftp update 到 公司的 FTP Server , 再更新公司的 DBF ... 沒辦法對 店舖的 DBF 作修改 , ?#93;一改就翻天動地 .....
|
在第一頁
因為搞不清楚真正的問題,
所以會找出錯誤的方法來解決.
正確的解決方式應該為修改系統,
在存檔前核對資料,避免空值出現.
較差的解決方式為匯入後校正資料.
因為每次匯入都要校正.
更差的是,找出這些錯誤的資料.
請問找出來是要叫店舖重打嗎?
如果不是,找出來是要作什麼?
使用者一定會說"你又沒說有數字的一定要打0". XD _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
impotence

註冊時間: 2005-02-21 文章: 135 來自: Hong Kong
第 24 樓
|
發表於: 星期二 七月 10, 2007 9:45 am 文章主題: |
|
|
to syntech,
這個表 , 本來是有很多 field 的 , 而它原本設計在店舖的收貨記錄上使用 , 而 qty 的 意義是收到貨的數量 ...
之前的設計者, 原本認為如果沒有收到貨 , 店舖的員工就會輸入 0 , 可是 ... 事實上 , 店舖的員工就是因為該貨沒有收到 , 而考慮是 遲送 ... 漏送 等等多種原因 , 而決定先不輸入 , 留待以後處理 , 可是 ... 那些員工到最後大部份都忘了 .... , 所以我現在要把那些有問題的收貨記錄找出來 ... 而又因為那些記錄直接的每天會更新到公司的 DBF , 和會計部的記錄有關 .... 所以 , 如果能不改編 程式來解決問題最好 .... _________________ 一個常常忘記 Command 的人 ! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 25 樓
|
發表於: 星期二 七月 10, 2007 10:46 am 文章主題: |
|
|
看你自己了.
實際上,以你的情況,
0 和 NULL 都是 highlight ,
都是必須列為"待確認"的情況,
總公司沒有規定異常應如何處理,
導致分公司胡搞,總公司應該重新規定SOP.
否則除非總公司規定 "異常情況必須於 oooo 欄位註記異常原因,未註記清楚由該員工負責",
胡搞的人還是繼續胡搞,不交接清楚的人還是一樣不交接清楚,
擦屁股擦不完的人還是擦不完屁股.
系統是協助管理的工具,
但是不是管理的全部. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
impotence

註冊時間: 2005-02-21 文章: 135 來自: Hong Kong
第 26 樓
|
發表於: 星期二 七月 10, 2007 11:46 am 文章主題: |
|
|
syntech 寫到: | 看你自己了.
實際上,以你的情況,
0 和 NULL 都是 highlight ,
都是必須列為"待確認"的情況,
總公司沒有規定異常應如何處理,
導致分公司胡搞,總公司應該重新規定SOP.
否則除非總公司規定 "異常情況必須於 oooo 欄位註記異常原因,未註記清楚由該員工負責",
胡搞的人還是繼續胡搞,不交接清楚的人還是一樣不交接清楚,
擦屁股擦不完的人還是擦不完屁股.
系統是協助管理的工具,
但是不是管理的全部. |
(1) 在系統中 , 收貨數量為 0 和 還沒收到該貨是不一樣的 ....
(2) 因牽涉的問題(程式)太多 , 根本不是我一個人可以解決 , 因我沒有能力在同一時間把所有分店及公司的記錄,程式都更改 ... (只有我一個人在做) ... 基於安全的考慮 , 我只可以在小處動手 ....
(3) 在店舖工作的人員素質差異很大 , 而且流動性很高 , 今天在工作的人明白, 明天新來的又忘 ....... , 所以 , 根據我的經驗 , 你們是不可能要求那些前線的員工對這個負責任的 ...........
註 : 現在我的部門只有兩個人 , 而另一個本來負責寫軟件的人 , 對系統完全不認識 , 每次有事情發生 , 他就會說是系統 (硬件或xp)的問題 , 他寫的軟件沒問題 ... , 我已經對那個廢物完全放棄 , 所以我才需要做那麼多的事情 ...
btw : 立場上 , 我不是一個 PROGRAMMER , 所以對 PROGRAM 有很多的不懂 , 謝謝你們願意花時間解釋給我聽 ~~~ _________________ 一個常常忘記 Command 的人 ! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 27 樓
|
發表於: 星期二 七月 10, 2007 12:16 pm 文章主題: |
|
|
好吧,
作一個匯入的前導程式,以小賴兄的方式為基本概念
USE XXXX.DBF
COPY TO ERR.DBF FOR EMPTY(QTY)
這樣ERR.DBF 就是你要找的記錄,
只是還要作區分每家分店之類的動作 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
sken
註冊時間: 2004-02-17 文章: 67
第 28 樓
|
發表於: 星期二 七月 10, 2007 4:40 pm 文章主題: |
|
|
小賴 寫到: | 奇怪 !
ISBLANK(QTY) 明明是 .T.
select * from test where isblank(qty) 就是取不到資料
如果BROWSE FOR ISBLANK(QTY) 就有資料
COPY TO Test1 FOR ISBLANK(QTY) 也行
SELECT ...WHERE 就不行 ? |
公司離職的元老曾告訴過我說
COPY , BROWSE , REPLACE, 都是針對當前的資料表做判斷或處理
而SQL 會先把資料表的資料先放到記憶體或暫存表內,才做判斷或處理
對於數值欄位qty , 不輸入值 和 0 值 , isblank(qty)是不同的!
但如果是先暫存到記憶體 QQ = qty , 則 QQ 此時都是 0 值
UPDATE TEST SET CODE = "qqqq" WHERE ISBLANK(QTY)
不同於
REPLACE TEST.CODE WITH "qqqq" FOR ISBLANK(TEST.QTY)
或者說 樓主 是否有考慮想用 SET FILTER TO 呢? |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|