2013-11-26 113 views
0

我有一個關於在數據庫中使用三個表的具體問題。表1稱爲人員,並列出了工作人員的姓名。MS Access窗體和表格

表2和表3是相同的,只是列出了兩種不同類型的加班(長和短)以及OT的小時數,OT的日期和分配到/拾取的空白字段。

這是想法,我只是不知道如何實現它。我想創建一個表格供人們輸入他們的OT選擇,然後自動移動到名單上的下一個人。舉個例子,Rich Riphon首先會點擊我要發送的鏈接,然後一個表格會打開,顯示他的名字,由第一個表格填充,並顯示兩個下拉菜單,從Long OT和短OT表格。他會從每個(或無,這將是一個選項)中選擇一個並提交。

表單操作將他的姓名放在他選擇的OT的Assigned字段中,並在Picked字段中放置一個Yes。

當列表中的下一個人打開表單時,它已經下移到人員列表Cheryl Peterson的第2位,並向她展示剩餘的OT選擇(不包括在Picked列中具有「是」的選擇)。

任何建議或意見或更好的方式來做到這一點,將不勝感激。

+0

這是一個Access數據庫部署在網絡上,通過電子郵件發送鏈接?哪個版本的Access? – Smandoli

回答

0

首先,我不認爲ms訪問將能夠(容易地)啓動基於超鏈接的過程。您可以通過將宏名稱傳遞給cmd提示符來執行某些操作,但需要掌握一些技巧才能正常運行。你可以創建一個登錄表單來獲取當前用戶嗎?如果你這樣做,你不需要顯示人事清單,只需跟蹤誰還沒有對OT請求作出響應。基本上在這一點上,你需要在你的表格上列出可用的OT和創建任務的按鈕。此外,它可能更容易(和更好的設計),只有一個表的OT清單,併爲加班類型(長/短)添加一列。

0

如果Cheryl不是第二個獲得表格的人?你的概念走出了窗口。

相反,我會保留所有用戶名和其安全級別的表。管理人員可以看到一切,個人用戶只能看到他們的記錄。這可以通過在OT Picks表單後面使用查詢來完成,並且可以由當前用戶過濾或根本不過濾。我已經完成了許多這類「用戶控制」數據庫,它們都運行良好。

至於實際的OT跟蹤,我同意Steve的帖子,因爲它應該在一張表中完成。這將是被稱爲「規範化數據」的概念的首選方法。您確實希望存儲儘可能少的數據以保持數據庫的大小。舉個例子,你的登錄表將具有以下字段:

  • 用戶名
  • 名字
  • SECURITYLEVEL
  • 地址1
  • 地址2
  • 國家
  • 電話
  • 等...(任何相關信息涉及到個人)

你OT表是這樣的:

  • 用戶名
  • OTDate
  • OTHours
  • OTType
  • 等...(任何其他的有關OT)

然後,只要您需要編寫查詢來報告OT時間或任何事情,您就可以將這兩個表加入兩個表中的UserID字段中。