2012-10-17 53 views
0

我試圖將用於員工培訓記錄的Excel電子表格轉換爲Access 2003數據庫。我已將數據庫設置爲4個表格:工作人員,任務,培訓人員和培訓記錄。培訓記錄表格包含以下字段:RecordID(自動編號和PK),StaffID(鏈接到職員),TaskID(鏈接到任務),DateCompleted和TrainerID(鏈接到培訓師)。我已經創建了所有相關表單,用於將數據輸入到工作人員,任務和培訓師表中。我還創建了一個表單,通過從組合框中選擇工作人員姓名,任務名稱和教練名稱,您可以輸入新的培訓記錄。用於訪問2003數據庫的類似Excel的數據輸入表格

我的問題是,我的老闆想讓培訓記錄的數據輸入看起來更像是Excel電子表格,它顯示了所有可用任務的完整列表,然後用戶可以填寫完成日期和培訓師姓名對於所有相關的項目一次,通常留下多個任務沒有創建日期和培訓師(因爲該工作人員尚未接受有關該特定任務的培訓)。我不太確定如何開始討論 - 我有以下想法,但不知道它們的可行性如何:

1)當表單加載時,爲所有可用的任務和標籤添加複選框任務名稱。然後,用戶將點擊他們想要添加的任務,併爲所有勾選的任務指定相同的日期和培訓師姓名。

2)使用辦公室Excel電子表格控件(10或11)允許數據輸入,然後編寫一些代碼來交互信息並根據需要創建/修改TrainingRecords表。這個選項對我來說應該是相當直接的,因爲我已經完成了很多Excel VBA編程。但是,我無法弄清楚如何訪問電子表格中的Range/Cells對象來讀取/寫入數據。我猜測這個控制並不是真正用於這種方式。

3)創建一個臨時表(可通過子表單查看),這將填充所有任務的列表,並且當用戶從一個子表中選擇了一個員工姓名時,在主窗體上的下拉框中。如果用戶從下拉框中選擇不同的員工成員,表格將刷新並顯示該員工的數據。

我願意接受任何其他想法/建議,這些想法/建議比我在這裏得到的想法更直接。

+0

您是否可以發佈屏幕截圖或者下載電子表格的鏈接,以便人們可以更好地瞭解後續內容,從描述中很難正確繪製圖片? –

回答

1

Access中的窗體可以配置爲數據表視圖窗體,與Excel類似。但是,我不認爲使用數據表格將解決您遇到的所有問題。

你可能最好做一些像你在#1中建議的東西。您填充複選框的部分需要解除綁定,您必須編寫代碼填充複選框,並根據複選框的方式插入/更新/刪除記錄。您不能在數據表格中或連續格式中使用未綁定的字段。

選項#3也可以工作。或者,您可以將您的表單綁定到製作好的ADO記錄集上。再一次,您將不得不編寫代碼來填充ADO記錄集,並且您必須編寫更多代碼才能將ADO記錄集中的所有添加/編輯/刪除操作推回給您的數據源。

我會遠離選項#2。我無法想象在MS Access應用程序中使用或嵌入Excel的很多原因(Excel的圖表可能是唯一的原因之一)。

我想告誡你的另一件事是讓你的老闆指導事物的外觀和感覺。當然,老闆會說他的話,但是理想的情況是,他的投入應該留給說某些東西太笨拙,太不直觀,需要太多的點擊,需要太多的訓練等等。我允許用戶對應用程序的外觀和行爲進行具體說明,最終結果並不理想。在其他情況下,我選擇了實現某種功能的最佳方式,並根據自己的知識爲其設計了用戶界面,結果遠遠好於我允許最終用戶指定他們想要的控件的情況,他們去哪裏,他們擁有哪些數據,他們的行爲方式等。經驗豐富的應用程序開發人員應該掌握設計環境的知識,使其勝過最終用戶,並允許您爲他們提供滿足或超出他們期望的內容。當然,不要關閉你的老闆或最終用戶的反饋,但要盡力找出他們想要的東西與他們不同的原因。最好不要讓用戶的習慣和習慣決定用戶界面的外觀。你永遠無法以這種方式取得進展。今天的應用程序應該有現代的,用戶友好的用戶界面,如果你的應用程序適合那些想法滯後於90年代或者僅僅停留在其他更低級的範例中,你就無法得到。

+0

+1絕對的,第一條規則是絕對不允許接收者指定流程,他們只需簡要說明他們想要的內容,然後相信開發者盡其所能。 –

相關問題