2012-11-09 23 views
1

我剛剛開始使用Microsoft Access,並且已將Excel電子表格導入到單獨的表中。該表的內容是類似於以下(我將把列名在上面,會有如下表附加條目,所以更多的名字,等等)如何在Microsoft Access中進行此查詢

ID | name | age | and so on 
1 | ajw5293 | 22 | 

,然後一個額外的表,我有沿着線的東西:

ID | location | time | grade | and so on 
1 | 02364 | 10:50 | A | 

如果我想做一個查詢在那裏我可以搜索一個名字,然後讓所有的相關信息顯示,基於ID(即名稱,以便所有的ID爲1的行中的信息將被檢索),您認爲最好的方法是什麼?我一直在尋找一些關於如何這樣做的指導方針,但不幸的是還沒有能夠把解決方案放在一起。任何幫助會雖然不勝感激,謝謝

回答

4

你需要一個連接。

SELECT NameTable.ID,[Name],Age,location,[time],[grade],NameTable.[and so on] 
FROM NameTable 
INNER JOIN AdditonalTable 
ON NameTable.ID=AdditionalTable.ID 
WHERE [Name] = [Enter name:] 

您可以輕鬆地將兩個表,然後從一個表拖動ID字段旁邊的創建加入建在查詢設計窗口此查詢。然後,只需將所需的任何字段拖動到設計網格中即可。您可以在條件行上添加條件。 [Enter name:]將提示輸入名稱,並且

WHERE [Name] = "Joe" 

將返回人稱爲喬。

請注意,名稱和時間是保留字,不應使用。

我已經說過NameTable.ID,只是age,這是因爲ID出現在兩個表中,因此是必要的命名錶,而age只發生在一個表中,這將是最好的命名錶在這種情況下,但你不必這樣做。

更多信息:http://msdn.microsoft.com/en-us/library/office/bb208894(v=office.12).aspx

+0

你好,感謝您的幫助!使用查詢設計窗口方法,這是否是正確的方式去做事? http://i.imgur.com/QKDwB.png有不同的列名(用戶名,而不是名稱等)。剩下的表(詳細信息)包含用戶名/名稱,右側的表(1)包含其餘的信息。雖然當我做了這個設置,列名被返回,但數據本身沒有顯示。不知道我是否只是犯了一個愚蠢的錯誤或類似的東西 – lacrosse1991

+0

總是最好添加字段而不是星號(*)。不要放在'WHERE UserID ='中,如果你正在編寫自己的sql,只需要輸入'[Enter user id:]'或者你喜歡的東西。 – Fionnuala

+0

完美工作,謝謝! – lacrosse1991

1

您可以簡單地運行一個SELECT查詢,它看起來像

SELECT * FROM Table_Name WHERE NAME='SEARCHED_NAME';