VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

遠端資料集搜尋問題請教

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
andrebiehn



註冊時間: 2009-04-05
文章: 16


第 1 樓

發表發表於: 星期四 八月 15, 2013 3:44 pm    文章主題: 遠端資料集搜尋問題請教 引言回覆

我在設計程式時大都使用資料集設計工具,將filter條件用'?變數'的方式設定進去,只要在form讓使用者輸入條件後再requery(),這種方式對於搜尋條件單純的都OK,但是對於多條件的搜尋就會不知所措,例如有七個欄位要搜尋,使用者不一定使用哪個欄位搜尋或是多欄位搜尋,我試著用select * from XX where XX的方式但都不成功,我的方式是先建好remote view但不設定條件,在form的環境裡設定這個view是nodataonload=.t.,然後下select的指令,但是搜尋不到資料,我知道這樣是不對的,因為已經nodataonload了當然不會有資料,但是就是不知道如何做,我也搜尋網路很久始終找不到相關的資料,是否是remote view也是用指令建立?那更新要如何設定?

我再描述清楚一點,例如欄位有 工號、名稱、內容、解決方式、提出人、完成日期 六個欄位
若是使用者輸入兩個工號123及 456,要查這兩個工號內的內容有”導輪”字樣、解決方式有”設計”字樣的資料皆抓取,也就是輸入的條件都要取交集。六個欄位都要能隨便選條件搜尋.....不知道是不是只有用select方式可以設定複雜的搜尋
抓到的資料又要show在grid裡,要又能改…..拜託各位先進指導一下
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 2 樓

發表發表於: 星期四 八月 15, 2013 4:51 pm    文章主題: 引言回覆

應該是 SQL 查詢語法的資料要補充一點吧.


你的問題不是 FOXPRO 的問題,
而是你不懂得下正確的SQL 查詢命令給後端資料庫過濾資料.

FOXPRO 的部分,
REMOTE DATASET 適合做固定條件的查詢,
如果你要做不固定條件的查詢,最好改用 SPT

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙


syntech 在 星期四 八月 15, 2013 4:52 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
andrebiehn



註冊時間: 2009-04-05
文章: 16


第 3 樓

發表發表於: 星期四 八月 15, 2013 4:52 pm    文章主題: 引言回覆

應該這個可以試試看!

http://vfp.sunyear.com.tw/viewtopic.php?t=4819&highlight=%B0%D1%BC%C6%A4%C6%B8%EA%AE%C6%B6%B0
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 4 樓

發表發表於: 星期四 八月 15, 2013 5:41 pm    文章主題: 引言回覆

動態建立 view 做顯示是沒問題,
但如果要將 view 設成可以更新, 雖然條件都設對, 但還是有可能不成功.
如果資料筆數不多, 可以全部抓過來, 再用 set filter to 限定顯示的條件 也行.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
ckp6250



註冊時間: 2004-07-30
文章: 1645


第 5 樓

發表發表於: 星期四 八月 15, 2013 6:50 pm    文章主題: 引言回覆

SPT + 1
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
saint



註冊時間: 2003-07-14
文章: 211


第 6 樓

發表發表於: 星期五 八月 16, 2013 3:21 pm    文章主題: 引言回覆

把你要的組合成sql command 送到後端去
代碼:
SELECT
    A.SEQ 
    {1}
FROM X_F_B_MF_MONTHLY_TXNS_TOP10 A
WHERE A.SEQ < 51
{0}
GROUP BY A.SEQ
ORDER BY A.SEQ

我以C#舉例,其中{1} 是讓我可以動態填入欄位,{0}則是動能把條件填入
都要配合user在前端上的選擇
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
ckp6250



註冊時間: 2004-07-30
文章: 1645


第 7 樓

發表發表於: 星期五 八月 16, 2013 4:15 pm    文章主題: 引言回覆

我是在後端組合命令語句
如果是 MySql 的話,我的做法是在後端寫一個 procedure , 比如叫做 getdata
前端會傳送 call getdata('資料表名','欄位list','過濾條件','排序list')

以saint的例子來說,我的指令是
call getdata('X_F_B_MF_MONTHLY_TXNS_TOP10','{1}','{0}','A.SEQ')

意思其實差不多,只是前端看起來比較簡短一咪咪
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
andrebiehn



註冊時間: 2009-04-05
文章: 16


第 8 樓

發表發表於: 星期一 八月 19, 2013 4:07 pm    文章主題: 引言回覆

我用版主的方式,可行!!先判斷有資料的欄位,然後抓符合第一個有資料欄位的資料下來,後面的皆使用set filter!! 這樣就符合使用者多條件篩選!謝謝指導
回頂端
檢視會員個人資料 發送私人訊息
foxy



註冊時間: 2007-08-16
文章: 258
來自: 泰國

第 9 樓

發表發表於: 星期三 八月 21, 2013 11:24 pm    文章主題: 引言回覆

1. query SYSOBJECTS 得到當前 TABLE 所有 FIELD 的 名稱和 DATA TYPE
2. 讓用戶自行選擇查詢的FIELD, 輸入查詢的value
3. 得出 WHERE clause, 使用 SPT

說來容易, 做起來...
小弟也有這個想法, 但是有些懶惰

_________________
進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + Flutter 手機 App, 都共享 MS SQL Server的資料. www.foxacc.com LINE: mike-lm
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作