2016-08-11 43 views
0

Im在我的數據庫設計中遇到了一些麻煩。在Microsoft Access中,我有兩個表。一個名爲table1的表格包含三個字段(名稱,姓氏和出生日期)。另一個名爲table2的表包含兩個字段(Name和Surname)。我想要以下事情發生。如果我使用表格在table1中創建新記錄,則Name和Surname會自動傳入/插入到table2。這樣做的最好方法是什麼?我正在搞亂主鍵,但這似乎奏效。而且因爲我是初學者,所以我不知道該從哪裏出發。從訪問表中提取數據並將其插入另一個tabel

在此先感謝您的時間和精力!

+2

你爲什麼要這麼做?使用查詢以不同形式顯示錶格中的數據(例如更少的列),請勿複製數據。 – Andre

+0

我不想複製數據。在我最後的項目中,我想把課程等其他信息中的個人信息分開。但是我想創建一個表單,在這裏我可以創建一個新記錄,並將其創建,以便將這個新記錄放入所有不同的表中。所以表中的個人信息稱爲人員,並在相應的課程表中提供有關課程的信息。我希望你能理解我的解釋。如果沒有請問,我會嘗試重新措辭。 –

+0

然後你應該設計你的表格來反映表格結構。例如。有一個主要形式的人員數據(綁定到人員表格),以及一個課程子表格,其中可以輸入0..n個人的課程。 - 收集所有數據在一個巨大的形式+非標準化的表,然後分發給各種規範化的表是不是一個好主意恕我直言。 – Andre

回答

0

剛纔想出了我的問題!我用下面的代碼

Private Sub addNew_Click() 
Dim db As Object 
Dim rst As Recordset 

Set db = CurrentDb 
Set rst = db.OpenRecordset("select * from Person", dbOpenDynaset) 


rst.AddNew 
    rst!PeopleSoftNr = tbPeopleSoftNr.Value 
    rst!Name = tbName.Value 
    rst!Birthday = tbBirthday.Value 
rst.Update 

Set rst2 = db.OpenRecordset("select * from Dental", dbOpenDynaset) 

rst2.AddNew 
    rst2!PeopleSoftNr = tbPeopleSoftNr.Value 
    rst2!Dental = tbDental.Value 
rst2.Update 
End Sub 

這讓我寫數據到多個表。

+0

它看起來像你正在使用人名將數據鏈接在一起?當你得到兩個同名的人會發生什麼? –

+0

我使用PeopleSoftNr將人員鏈接到課程(牙科)PeopleSoftNr是一個唯一的編號。所以我認爲擁有相同的名字並不重要。但我可能是錯的。將需要做一些測試。 –

+0

不,那很好....只要你與唯一的號碼鏈接的名稱將無所謂。 :) –

0

在我看來,您所描述的最佳做法是爲個人數據創建一個表單,幷包含一個用於分配人員課程的子表單。

有關課程的詳細信息應該以自己的形式編輯爲課程。

相關問題