上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
sunbird
註冊時間: 2007-10-10 文章: 21
第 1 樓
|
發表於: 星期三 十月 10, 2007 6:46 pm 文章主題: 記錄是否存在 |
|
|
通過一命令按鈕檢查 text 所輸入的值是否已在表中存在?
表 table1.dbf
使用以下代碼:
LOCATE while alltrim(table1.F1)=alltrim(thisform.text1.Value)
If found()=.t.
Messagebox(“記錄已存在,請重新輸入”)
endif
…
問題是:
當 text1.value與 table1.F1 中某記錄的前幾碼相同時,found() 卻為 .t.
請各位指教指教。 |
|
回頂端 |
|
 |
mooy

註冊時間: 2003-09-29 文章: 22
第 2 樓
|
發表於: 星期三 十月 10, 2007 8:54 pm 文章主題: Re: 記錄是否存在 |
|
|
sunbird 寫到: |
通過一命令按鈕檢查 text 所輸入的值是否已在表中存在?
表 table1.dbf
使用以下代碼:
LOCATE while alltrim(table1.F1)=alltrim(thisform.text1.Value)
If found()=.t.
Messagebox(“記錄已存在,請重新輸入”)
endif
…
問題是:
當 text1.value與 table1.F1 中某記錄的前幾碼相同時,found() 卻為 .t.
請各位指教指教。 |
SET EXACT ON |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 3 樓
|
發表於: 星期三 十月 10, 2007 9:17 pm 文章主題: |
|
|
也可以用
LOCATE for table1.F1=padr(thisform.text1.Value,len(table1.F1) ) _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 4 樓
|
發表於: 星期四 十月 11, 2007 9:42 am 文章主題: |
|
|
您好
建議您
以seek的方式還處理查詢資料(index要設定)會比較有效率
若用 set exact on也要注意使用場合,有時適用有時不適用
valid event如何使用也是此類問題的重點
以上謝謝 |
|
回頂端 |
|
 |
sunbird
註冊時間: 2007-10-10 文章: 21
第 5 樓
|
發表於: 星期四 十月 11, 2007 4:02 pm 文章主題: |
|
|
謝謝各位 !
用seek 是否可按如下代碼寫?
select table1 (f1 表中設為主索引)
seek alltrim(thisform.text1.value)
if found()=.t.
找到
else
未找到
endif |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 6 樓
|
發表於: 星期四 十月 11, 2007 6:33 pm 文章主題: |
|
|
代碼: |
select table1 (f1 表中?#93;為主索引)
seek padr(ALLTRIM(thisform.text1.Value),len(table1.F1) )
if found()=.t.
找到
else
未找到
endif
|
用 PAD() 才會補足長度,
否則用 ALLTRIM() 其實也是 PartialKey 的搜尋 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
sunbird
註冊時間: 2007-10-10 文章: 21
第 7 樓
|
發表於: 星期四 十月 11, 2007 7:34 pm 文章主題: |
|
|
謝謝樓上朋友
另外,還想請教
seek padr(ALLTRIM(thisform.text1.Value),len(table1.F1) )
此代碼是否為 text1.value 與 table1.f1 完全相同時, found() 才為 .t.
如果我要 text1.value 與 table1.f1 前幾碼相同時, found() =.t. ,以下代碼好像可以
seek alltrim(thisform.text1.value)
請指教! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期五 十月 12, 2007 10:22 am 文章主題: |
|
|
yes,
就是這個樣子.
完全相符 指的是 長度及內容 都必須一樣.
部分相符 則只要由左至右有數個字元相符就可以.
set exact on / off 也是相同的道理.
其他相關的還有
set near on/off _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
sunbird
註冊時間: 2007-10-10 文章: 21
第 9 樓
|
發表於: 星期五 十月 12, 2007 8:51 pm 文章主題: |
|
|
謝謝各位! |
|
回頂端 |
|
 |
|