2014-01-28 34 views
0

我們正在建立一個數據庫,以獲取某些信息和掙扎過以下;附加在自身財務價值,包含的MS Access組合框中幾個選項?

我們有一個組合框,其中有3個選項,這3個選項中的每一個都需要有它自己的財務價值附加到它。

所以對於例如;

SELECT benefits.[care (dla)], 
    Iif([care (dla)] = hrc, 79.15, Iif([care (dla)] = mrc, 51, Iif(
            [care (dla)] = lrc, 21, 0))) AS 
    [Care (DLA) Award] 
FROM benefits; 

正如你所看到的,組合框中的3個選項是;

HRC,MRC和LRC。

然後,對於例如HRC需要有79.15重視它,所以當數據庫實際上正在通過我們的表單提交的過程中填充數據庫錄入員將選擇HRC。

選擇此選項後,數據庫將通過任何生成的查詢知道,如果選擇了HRC,則其結果查詢中也必須包含79.15。

然後,對於其他兩個組合框內容,這將與HRC第一個示例中概述的其自己的貨幣值相同。

我有一個奇怪的懷疑,當運行上述當前查詢的原因,它只是循環通過3個選項來可能,是因爲我們沒有一個如果其他包括,因此它只是繼續前進,直到它發現查詢結束?

我希望以上是有道理的,它對我有用,但希望你們中的一些人能夠選擇這一點,我會非常感謝你在上述方面提供的任何指導。

問候,

回答

0

你需要創建一個字符代碼映射到數字值的參考表。

care_dla amount 
-------- ------ 
hrc  79.15 
mrc  51.00 
lrc  21.00 

這不僅更方便,但如果數值不斷變化(或者增加了一個新的字符代碼),那麼你只需要更新而不是更改查詢和報告表中,你「硬編碼」的價值。

一旦您的參考表就位,您就可以獲得組合框嚮導來創建一個使用參考表作爲其記錄源的組合框。

至於現有查詢,如果我們將其命名參考表[care_dla_amounts]然後將查詢將

SELECT 
    benefits.[care (dla)], 
    Nz(care_dla_amounts.amount, 0) AS [Care (DLA) Award] 
FROM 
    benefits 
    LEFT JOIN 
    care_dla_amounts 
     ON benefits.[care (dla)] = care_dla_amounts.care_dla 
+0

下午好戈德。首先感謝您花時間回覆,非常感謝。請問,當你說「創建的字符代碼映射到數字值的參考表」,並沒有冠冕堂皇的愚蠢,你的意思是表關係,包括FK的,一對多和所有的爵士樂嗎?我試過在互聯網上搜索如何在Access中實現這一目標,但目前無濟於事。如果有任何具體的資源可以指向我,那也是值得讚賞的。我期待在適當的時候收到您的回覆。 – user3244425

+0

@ user3244425是的,所有這些有趣的東西。這真的不是很困難。有一個概述[這裏](http://office.microsoft.com/en-ca/access-help/guide-to-table-relationships-HA010120534.aspx)。 –