2017-02-12 54 views
0

我在這裏找到了幾個答案,但沒有任何接縫可以適應。將新記錄添加到VBA中的子表格

問題:具有兩列ID和名稱的數據庫表; 我在窗體上有一個文本框(我們稱之爲TextBox1)和一個子窗體(SubForm1),並且我想將ID寫入文本框(或使用條形碼讀取器),查詢表格On Change並將找到的記錄添加到子窗體。我有一個查詢,它的工作原理,我不能做的是保持先前發現的記錄被覆蓋。我尋找解決方案,沒有接縫適合。我是VBA的新手,任何幫助將非常感謝。謝謝。

我到目前爲止有:

Dim SQL As String 

Dim rs As Recordset 

SQL = "SELECT * FROM MyTable WHERE MyTable.ID =" & Chr$(34) & Me.TextBoxID.Text & Chr$(34) 

Set rs = CurrentDb.OpenRecordset(SQL) 

和查詢wokrs,但我不知道該怎麼做類似

Me.SubForm1.AddRecordMe.SubForm1.AddItem,使此前的紀錄仍然存在,新的一個是添加?

可以這樣做嗎?如果子窗體無法完成,可以使用listbox完成嗎?

+0

顯示「工作」代碼將是非常有用的,並增加獲得有用答覆的機會。 –

+0

就是這樣,我不知道採取什麼方法,什麼是正確的方式來「添加記錄」的形式。我試過了: –

回答

1

我用列表框做了它,但它很醜,如果有人有子窗體的解決方案,請張貼它。代碼:

Private Sub TexBox1_Change() 

    Dim SQL As String 

    Dim rs As Recordset 

    SQL = "SELECT * FROM MyTable WHERE MyTable.ID =" & Chr$(34) & Me.TextBox1.Text & Chr$(34) 

    Set rs = CurrentDb.OpenRecordset(SQL) 

Me.ListBox1.AddItem(rs.fields(0) & ";" & rs.fields(1)) 

End Sub 

'的列表框標頭中的Form_Load設定,加入第一個項目是首部,就沒有辦法,如果列表框行源類型被設置爲從記錄設置‘值’,並且它必須是所以可以添加項目...

相關問題