2012-02-09 48 views
0

我已經通過組合框中選擇的特定用戶名創建了請求歷史記錄表單。它與以下代碼一起工作。按特定用戶的請求歷史記錄表編輯記錄

UserName Ticket#Req#start_date是我的列文件,我放在我的表單的詳細信息部分下。 (也包括命令按鈕的細節,所以我得到命令按鈕顯示爲我的每個記錄與搜索disaplys)

票#是我的主鍵。

現在,這是問題,我不知道從這裏開始vba邏輯。我的命令按鈕如何讀取當前記錄源Ticket#以便我可以調用「fndEdit」窗體。

例如: 我對「userA」的搜索在歷史記錄中顯示了10條記錄,如何編輯記錄從當前表單的第5條以調用特定記錄的編輯表單「frmedit」。

Option Compare Database 
Option Explicit 

'Set default record source of form 
Const strsql = "SELECT Temp.userName,Temp.Recordcreated,Temp.[req#],Temp.[Ticket#],Temp.[start_date] FROM Temp" 


Private Sub cbouser_Change() 
Dim strFilterSQL As String 
strFilterSQL = strsql & " Where [UserName] = '" & Me.cbouser & "' ORDER BY [Recordcreated] DESC;" 

Me.RecordSource = strFilterSQL 
'DoCmd.RunSQL strFilterSQL 

End Sub 
+0

爲什麼有這麼多的SQL字符串?爲什麼不使用鏈接主設置爲用戶組合的子窗體並將子組鏈接到用戶標識?你爲什麼要使用變化事件,通常要避免? – Fionnuala 2012-02-09 23:15:43

回答

0

上面的代碼應該在組合框中的Click事件,你可能需要一個

Me.Requery 

更改記錄源後。

將窗體的默認視圖屬性設置爲連續窗體。在詳細信息部分中的命令按鈕,在按鈕的點擊事件「編輯本記錄」

標題

DoCmd.OpenForm "EditForm", acNormal, , "RecordId=" & Me.RecordId 
+0

真棒克里斯。完美的答案,它的工作原理:-) – Krish212124 2012-02-10 06:23:35