2011-07-05 56 views
1

我試圖讓符合一定條件的訪問條件只秀行,讓我給你一些背景資料之前,我繼續:訪問表單域邏輯

我創建了一個訪問的形式,並將其鏈接到我機器上的測試數據庫。特殊的表我很感興趣,包含以下(重要)行:

ID,辦公室,名稱,保險號

的事情是,ID不是唯一的。有兩個辦公室位置,每個辦公室都有自己的一組唯一的ID號碼。這意味着身份證10在這裏和那裏可能是也可能不是同一個人。 (這些數據來自傳統安全系統,我們不打算改變它,所以我不能改變它)

但是ID -is-對每個Office都是唯一的。

SO!我用TABS創建了一個Access窗體!兩個標籤,每個辦公室一個。我現在試圖實現的是:

爲每個選項卡填入ID /名稱/安全編號字段,只填寫與特定「Office」值匹配的行。

謝謝您的閱讀並感謝您的幫助! :D

回答

0

如果您希望在單獨的標籤頁控件中顯示辦公地點的數據,則可以在頁面上使用子表單,這些子表單僅在作爲其記錄源的查詢的WHERE子句中有所不同。所以對於OFFICE1子窗體,查詢可能是:

SELECT ID, Office, [Name], SecurityNumber 
FROM YourTable 
WHERE Office = 'Office1' 
ORDER BY [Name]; 

那麼對於Office2,查詢將是除了WHERE子句相同:

WHERE Office = 'Office2' 

當我明白你的問題,這種做法將做你要求的。

但是,這並不是真正簡單的「訪問方式」來做到這一點。請考慮一個組合框控件,以允許用戶選擇他們想要查看的辦公室。在組合更新事件後的代碼中,修改用作表單記錄源的SELECT語句或創建一個應用它的過濾器表達式。

此外,由於您是從SQL Server中提取表單的數據,因此請考慮是否希望表單爲所選辦公室位置加載每條記錄。如果您對每個位置只有少量的中等數量的行,則可能不會太擔心,但是如果您要處理的行數可能多達數千行,一般來說,你應該儘量避免通過線路拉取大量的數據;謹慎地拉動,而不是僅僅爲了眼前的任務而需要的東西。

+0

嗨漢斯!我試圖用宏來實現這一點。我從你說的我應該看到構建SQL查詢並將其用作數據源? – CodeMinion

+0

我明白你的意思,但由於某種原因,我的Office2表單字段全部變成了#Deleted :(這是怎麼回事 – CodeMinion

+0

我正在使用'= [dbo_Employee]![FirstName]'來爲其中一個字段選擇控制源 – CodeMinion