[問題] 有關access下拉式表單重複值以及變數連 …
(若是和其他不同軟體互動之問題 請記得一併填寫)
您所使用的軟體為: access 2003
問題 :
大致上主要是下拉式選單的連結問題,以及查詢功能的問題
我先說明一下我製作的流程 先讓各位看看是否是哪邊出問題而引起的
1. 製作資料表兩筆 :
第一筆(No1) : Name | Range ; 第二筆(No2) : Name | Range | SN
A | 0-5 A | 0-5 | 0001
A | 0-10 A | 0-10 | 0002
B | 0-15 B | 0-15 | 0011
B | 0-20 B | 0-20 | 0012
C | 0-30 C | 0-30 | 0021
C | 0-40 C | 0-40 | 0022
C | 0-5 C | 0-5 | 0023
資料關聯圖 : 第一筆 Name , Range 各自指向第二筆的 Name , Range
2. 表單製作 :
使用表單精靈製作表單, 並且在選取欄位中只選擇第一筆(No1)的所有欄位
接著一直下一步直到表單完成為止.
3. 開啟表單設計 : 先用工具箱(有開啟精靈)的子表單功能拉出一小塊區域,
並選擇第二筆資料表,而已選取的欄位也都是第二筆資料表的欄位,
接著一直下一步直到表單完成為止.
4. 下拉式選單 : 先用工具箱的下拉式選單的功能在主表單選取一塊小區域
並在下拉式方塊精靈中, 選擇第三個 :
"根據在我的下拉式方塊選擇的值於我的表單中搜尋記錄"
選取欄位為 Name , 接著一直下一步直到完成為止
同樣再用下拉式選單的功能選取一塊小區域,作法同上
唯一不同的是選取欄位為 Range
(Name 之下拉式選單名稱 : SelectName)
(Range之下拉式選單名稱 : SelectRange)
5. 在SelectName的 "資料來源" 中
我把內容改成 :
"SELECT DISTINCT [Name] FROM No1;"
在SelectRange的"資料來源" 中
我把內容改成 :
SELECT [Range] FROM No1 WHERE Name=forms!No1!SelectName;
6. 在"事件"上, 我加入了以下的程式碼 :
Private Sub Form_Open(Cancel As Integer)
[SelectName] = ""
[SelectRange] = ""
End Sub
Private Sub SelectName_Change()
[SelectRange].Requery
[SelectRange] = ""
End Sub
結果1. 下拉式選單SelectName 內容只有三種選項 : A, B, C
結果2. 下拉式選單SelectRange內容會依據前面選擇的A, B, C而變化
結果3. 子表單中所有欄位, 會依據兩個下拉式選單的內容, 而出現對應的值
舉例1 :
SelectName : A SelectRange : 0-10
子表單 : Name | Range | SN
A | 0-10 | 0002
舉例2 :
SelectName : C SelectRange : 0-30
子表單 : Name | Range | SN
C | 0-30 | 0021
但是我遇到一個問題, 就是會出現如下面的例子 :
舉例3 :
SelectName : A SelectRange : 0-5
子表單 : Name | Range | SN
A | 0-5 | 0001
舉例4 :
SelectName : C SelectRange : 0-5
子表單 : Name | Range | SN
A | 0-5 | 0001
子表單內原本應該為 C , 0-5 , 0023 ; 可是現在變成 A , 0-5 , 0001 !
所以想請教一下這問題要怎麼解決呢?
---------------------分隔線-------------------------
第二個問題是, 假設我有三個資料表如下 :
第一筆 : Name | Range ; 第二筆 : Name | Range ; 第三筆 : Name | Range
A | A | 0-5 B | 0-100
B | A | 0-10 B | 0-200
C | A | 0-15 B | 0-300
D | A | 0-20 B | 0-400
E | A | 0-30 B | 0-500
F | A | 0-40 B | 0-600
G | A | 0-50 B | 0-700
要如何才能夠把第一筆資料的Range設成變數, 也就是當我用下拉式選單選擇 A~G時,
ex. 選擇A => Range會自動連結到第二筆的Range並且列出第二筆中所有名稱為A的Range
選擇B => Range會自動連結到第三筆的Range並且列出第三筆中所有名稱為B的Range
----------------------分隔線-------------------------
第三個問題是, 如上面第二筆與第三筆資料,
要如何才能製作出如下面的表單 ?
Name | Range
A | 0-5
A | 0-10 須在不用複製貼上的情況下,將兩筆的資料重疊在一起,
A | 0-15 如左第二筆A的資料先列出,
A | 0-20 第三筆B的資料緊接著A的下方出現.
B | 0-100
B | 0-200
B | 0-300
B | 0-400
這是我大致上的問題, 希望各位可以幫幫忙~~~ 感謝~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.112.189
※ 編輯: patchevia 來自: 220.129.112.189 (07/10 14:14)
Office 近期熱門文章
PTT數位生活區 即時熱門文章