我有一個Access數據庫。讓我們假裝它是爲了一家寵物商店。爲什麼Microsoft Access表單會爲一個查詢創建記錄,而不是另一個?
有一張動物的桌子。
Animals (animal_id, birth_date, price)
然後我們銷售的不同類型的動物的具體表。
Dogs (animal_id, bark_volume)
Cats (animal_id, collar_size, shedding_rate)
Fish (animal_id)
魚沒有意思,所以他們沒有任何特殊的領域。魚桌只是存在,所以你知道動物表中的哪些記錄是魚。
現在,我有一個通用的形式爲寵物店添加動物。在你獲得表格之前,你首先必須說出你要添加什麼樣的動物。基於此,表單顯示/隱藏字段,更改其記錄源,並將字段綁定到適當的數據列。表單從查詢DogInfo,CatInfo和FishInfo中提取數據。
現在,當你進入一隻狗或一隻貓,一切都很好。記錄被添加到動物和狗或貓。
但是,當你輸入一個魚,你得到的只是一個動物,沒有魚。
這可能是什麼原因造成的?這是否由於魚桌上缺少其他列造成的? (讓我們拋開一個事實,即使用select查詢更新表格根本沒有意義,我沒有指望Access讓我在第一時間做到這一點,但是Access的格言似乎是「讓不好的事情容易做到,做對的事情尷尬。「數據庫相對簡單並且很少使用,而且至少比我開始研究之前好過100倍,所以我並不太擔心關於這個問題,只要我能使它工作。)
這個表設置有很多錯誤。我希望這只是一個沒有經過精心設計的例子。 – Fionnuala 2009-04-14 12:56:41
基本的設計是基於此:http://stackoverflow.com/questions/554522/something-like-inheritance-in-database-design/554681#554681 – 2009-04-14 13:06:35
這有很多錯誤,搜索谷歌'訪問表結構體'。 – zuk1 2009-04-23 12:37:35