2014-02-21 91 views
1

只是一個單純的頭,我是相對較新的關係數據庫,所以我的問題可能是一個簡單的修復。微軟訪問 - 編輯字段後使他們自動填充只編輯第一條記錄(表格)

目前,我有一個包含以下數據的表格。

ID(1,2,3,4,5)

地點(加拿大,美國,日本,澳大利亞,委內瑞拉)

計數(4,6,2,91,23)

我用一個組合框和兩個文本字段創建了一個表單。目標是我希望能夠點擊組合框,讓它顯示所有ID,當我點擊一個ID時,它會自動填充其他兩個文本字段以及相應的信息。 Google搜索了一下後,我發現了一個辦法。在組合框「更改」下的「事件」選項卡中,我編寫了這兩行代碼。

Me.txtLocation = Me.cboID.Column(1)

Me.txtCount = Me.cboID.Column(2)

不過,我也希望能夠編輯這個信息一旦已被自動填充。我遇到的問題是,當我更改兩個文本字段中的任何一個時,它總是編輯第一個記錄。

因此,例如,如果我點擊ID#4,並且更改了「計數」,它將更改ID#1的「計數」。任何想法我做錯了什麼?

P.S. (我有編程經驗,但沒有與VBA)

在此先感謝!

編輯:

私人小組txtCount_AfterUpdate()

昏暗STRSQL作爲字符串

STRSQL = 「UPDATE SET阿德計數=「」 & Me.Count & 「 '位置='」 & Me.txtLocation & 「」 WHERE ID =」 & Me.cboID & 「」

DoCmd.RunSQL(STRSQL)

結束子

私人小組txtLocation_AfterUpdate()

昏暗STRSQL作爲字符串

STRSQL = 「UPDATE SET阿德位置=「」 & Me.txtLocation & 「 '計數='」 & Me.txtCount &「'WHERE ID =」& Me.cboID &「」

DoCmd.RunSQL(st rSQL)

End Sub

回答

2

不要將表單綁定到表。將其Visible屬性設置爲False的文本框放在窗體上。在該文本框中,輸入您的主鍵字段的值(應爲自動編號字段)然後,當您更新記錄時,傳遞UPDATE SQL語句,根據主鍵的值更新您的表格

Dim STRSQL作爲字符串

STRSQL = 「UPDATE SET阿德位置= '」 & Me.txtLocation & 「 '計數='」 & Me.txtCount & 「' WHERE ID =」 & Me.cboID & 「」

DoCmd.RunSQL(strSQL)

+0

如何執行更新SQL語句部分?我對SQL極度缺乏經驗,我所知道的是如何做的是在查詢中選擇列。 – santaaimonce

+0

@santaai​​monce - 看我上面的編輯。您必須對代碼進行明顯更改才能符合您的特定字段和表名稱。在Me.txtMyField&「,MyField2 ='」之間的語法(缺少運算符) –

+0

? – santaaimonce