mdx 複合索引建立 |
答題得分者是:ccchen
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
請問各位! 我使用 dbf mdx 格式索引
1.有兩個欄位, 一個是 string(A1), 一個是 float(A2), 如果我想要以這兩個欄位做 PRIMERY KEY , 則其 Expression key 要如何下? 2.我有另一個 secondary key 是 string(A3), string(A4)要建立, 但必須在保有上面 primary key 的原則下建立第二組index, 則要如何做? 3.我以desktop database 方式來建立似乎都沒有辦法成功, 是否要以程式來做? 謝謝!
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
用程式或用DeskTop均可 1.有兩個欄位, 一個是 string(A1), 一個是 float(A2)
兩個欄位資料型態必須相同, 但你可在Destop中Table|Restructur 中"Define"開啟index Dialog後click "Expression Index"然後在Expression Index中輸入
A1 + STR(A2).
Ok後輸入一個Tag Name即可
[note]STR將數值型態轉為字串 2.我有另一個 secondary key 是 string(A3), string(A4)要建立
dbf並無所謂Primary key 或Secondary key之分別, 全部叫index. 只給予不同之Tag Name. 同上面之操作在Expression Index輸入
A3 + A4即可 每一不同之Tag, 你可勾選是否Unique, 是否Maintained.
Maintained index存在xxx.mdx, Table Open時會自動open, 自動維護, 但不會自動使用, 在你的程式中你必須給Table.indexname:= (tagname)來選擇用那一個index unique並不會檢查輸入之重複資料, 只是顯示時自動將重複key值只顯示一筆
這是所以DBF比Paradox索系引系統差的原因
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
感謝版主指點! 另外, 再請教一個問題, 我使用 dbf Table格式, 要過濾記錄, 如果 A1 A2為 Expression index , 但我用 table1.setrange 方式, 卻發現delphi似乎不支援 setrange可以使用 expression的方法, 那是否還有其他方法可以解決呢? 如果在不增加欄位(如將A1 A2變成一個A3, 然後以A3為INDEX), 或不使用filter的條件下! 發表人 - P.D. 於 2002/10/14 00:28:10
|
cocodi
一般會員 發表:21 回覆:65 積分:17 註冊:2002-06-27 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |