 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 16 樓
|
發表於: 星期二 十一月 03, 2009 11:16 am 文章主題: |
|
|
我只能說,HELP 好好看, 多多練習, 多多提出自己的想法,
不成熟也沒關係,沒人天生就會,
這樣進步比較快, _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
cgsusually67
註冊時間: 2009-10-14 文章: 41
第 17 樓
|
發表於: 星期二 十一月 03, 2009 1:33 pm 文章主題: 我是想說 |
|
|
如樓上前輩門所說,前面用check 物件,並打勾,選取我想要的單據,可能是第1,5,10筆,勾完後我在利用sql 指令判斷那幾筆資料有被打勾,在轉到另一個表格,可是如果用cursor做,勾選的資料最後還是要寫到dbf中,sql指令才能正確抓到那些有勾,那些沒有,但是此時我勾選的那些資料可能是第1,5,10那筆當中cursor中寫到dbf後,其他user進到這個表單,還是會看到我勾選的那些資料,除非,我把原來的勾取消,請問是否有可能可以克服,我該怎麼做 |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 18 樓
|
發表於: 星期二 十一月 03, 2009 2:32 pm 文章主題: Re: 我是想說 |
|
|
cgsusually67 寫到: | 如樓上前輩門所說,前面用check 物件,並打勾,選取我想要的單據,可能是第1,5,10筆,勾完後我在利用sql 指令判斷那幾筆資料有被打勾,在轉到另一個表格,可是如果用cursor做,勾選的資料最後還是要寫到dbf中,sql指令才能正確抓到那些有勾,那些沒有,但是此時我勾選的那些資料可能是第1,5,10那筆當中cursor中寫到dbf後,其他user進到這個表單,還是會看到我勾選的那些資料,除非,我把原來的勾取消,請問是否有可能可以克服,我該怎麼做 |
你腦中那些紅字部份的思考邏輯, 是否可以放棄?
有「捨」, 才會有「得」
 |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 19 樓
|
發表於: 星期二 十一月 03, 2009 2:41 pm 文章主題: |
|
|
承樓上紅字所說
cursor為什麼要寫入dbf??????
在cursor不關閉狀態,一樣也是可以開sql去搜尋資料不是嗎
就算是sql搜尋之前cursor一定得關閉好了
在cursor關閉之前,取出真正有打勾的資料recno()或key值轉成array
再進sql查詢,一樣也可以解決問題 |
|
回頂端 |
|
 |
tigerlee39y
註冊時間: 2007-11-26 文章: 132 來自: taipei
第 20 樓
|
發表於: 星期二 十一月 03, 2009 4:31 pm 文章主題: |
|
|
一般來說,我會再開一個form來做這些事
新form的資料由源本檔select來也好,copy 來也好,反正不要動到源本檔的資料
這樣就不會與別人交集,也比較獨立,不必作完後,又還要把打勾取消,很煩呢
用完 ,form關掉就是,簡單又方便 _________________ 各取所需 各盡所能 |
|
回頂端 |
|
 |
cgsusually67
註冊時間: 2009-10-14 文章: 41
第 21 樓
|
發表於: 星期二 十一月 03, 2009 4:50 pm 文章主題: 我試過了.... |
|
|
謝謝大家的指點,我按照樓上的方法測試過了,似乎可行,但是我在想,勾選完,不回寫到dbf中,那sql要怎麼撈到我勾選的資料因為像
sql * from invtory where check=.T.
如果我用這種方式想把資料撈出來是不行的,除非我把勾選的資料回寫到DBF中
是否有方法是,可以讓我在不把我勾選的資料回寫到DBF中,就可以利用SQL把資料撈出來 |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 22 樓
|
發表於: 星期二 十一月 03, 2009 4:54 pm 文章主題: |
|
|
SELECT cursor
set filter to check=.T.
go top
scan
sqlexec("select * from SQL where SQL.key = '"+cursor.key+"'",Tmp1)
...........
.......
.............
select cursor
endscan |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 23 樓
|
發表於: 星期二 十一月 03, 2009 4:58 pm 文章主題: Re: 我試過了.... |
|
|
cgsusually67 寫到: | 謝謝大家的指點,我按照樓上的方法測試過了,似乎可行,但是我在想,勾選完,不回寫到dbf中,那sql要怎麼撈到我勾選的資料因為像
sql * from invtory where check=.T.
如果我用這種方式想把資料撈出來是不行的,除非我把勾選的資料回寫到DBF中
是否有方法是,可以讓我在不把我勾選的資料回寫到DBF中,就可以利用SQL把資料撈出來 |
樓上各位大大們, 沒有一個使用你的方法, 你卻一直抓緊不肯放棄...............
有「捨」, 才會有「得」
 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 24 樓
|
發表於: 星期二 十一月 03, 2009 6:28 pm 文章主題: |
|
|
那就用陣列硬搞呀.
max = 2^32-1
DIMENSION TRA_A[max]
如果選到,就 TRA_A[RECNO()] = SQL.key ,不選就 TRA_A[RECNO()] =''
最後先 ASORT() 一下,再
for i=1 to max
if !empty(TRA_A[i])
&& 利用SQL.key 作某些事
else
exit
end
next _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
cgsusually67
註冊時間: 2009-10-14 文章: 41
第 25 樓
|
發表於: 星期三 十一月 04, 2009 9:46 am 文章主題: 有點進展了 |
|
|
我嘗試用set filter to check=.T. ,這個指令可以把check=.t.的內容過濾出來
且不用把勾選的內容回寫到dbf中,可是我了解 sqlexec("select * from SQL where SQL.key = '"+cursor.key+"'",Tmp1) 的用法,好像是指從後台資料庫如ms-sql,等連線成功後,在把資料撈出來,給tmp1,因為我是用vfp自己的資料庫,所以sqlexec好像就不適用,是否有甚麼可能是,可以這樣 sql * from invtory into cursor xxx ,可是我知道這個方法,一定要把勾選的資料回寫到dbf,拜託前輩指點
,因為我是想把我勾選的資料,轉到其他cursor dbf中 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 26 樓
|
發表於: 星期三 十一月 04, 2009 11:13 am 文章主題: |
|
|
續推用陣列硬搞!!! XD
解題最重要的關鍵就是第一個想法
"select * from invtory where check=.T. " 不行,
還有 select * from invtory where key in ('a','b','c',......)
你知道的招式心法太少,才是關鍵 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 27 樓
|
發表於: 星期三 十一月 04, 2009 1:41 pm 文章主題: Re: 有點進展了 |
|
|
cgsusually67 寫到: | 我嘗試用set filter to check=.T. ,這個指令可以把check=.t.的內容過濾出來
且不用把勾選的內容回寫到dbf中,可是我了解 sqlexec("select * from SQL where SQL.key = '"+cursor.key+"'",Tmp1) 的用法,好像是指從後台資料庫如ms-sql,等連線成功後,在把資料撈出來,給tmp1,因為我是用vfp自己的資料庫,所以sqlexec好像就不適用,是否有甚麼可能是,可以這樣 sql * from invtory into cursor xxx , 可是我知道這個方法,一定要把勾選的資料回寫到dbf,拜託前輩指點
,因為我是想把我勾選的資料,轉到其他cursor dbf中 |
你的紅字就是錯誤的唯一癥結!
*** 只要你放棄使用紅字的方法 , 改採用綠色方法, 就可以囉 ..................
*** 還有, 你的藍色思考, 是一項致命性的錯誤喔 .......................
加油!加油!
有「捨」, 才會有「得」
 |
|
回頂端 |
|
 |
cgsusually67
註冊時間: 2009-10-14 文章: 41
第 28 樓
|
發表於: 星期三 十一月 04, 2009 3:38 pm 文章主題: 謝謝 |
|
|
我處理好了,是用cursor 的方式,也沒有用sql ,所以看起來效率極佳,謝謝前輩們的幫忙 |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 29 樓
|
發表於: 星期三 十一月 04, 2009 3:49 pm 文章主題: |
|
|
恭喜!恭喜!
有「捨」, 才會有「得」
 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 30 樓
|
發表於: 星期三 十一月 04, 2009 4:19 pm 文章主題: |
|
|
我不要,我要用 陣列 !!!!  _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|