我傳遞Openargs並嘗試將其用作表單的recordource過濾器。這可以在其他形式下使用相同的設置正常工作。不過出於某種原因,這不適用於這一項。訪問表單的記錄源
Private Sub Form_Load()
Dim sSQL As String
sSQL = "SELECT * " & _
"FROM tblUserList " & _
"WHERE NTID='" & OpenArgs & "';"
RecordSource = sSQL
If IsNull(Manager) Then
MsgBox "Returned 0 records", vbCritical, "Problem"
Exit Sub
End If
End Sub
如果我通過代碼時,Openargs在正確傳遞... SQL字符串正確地創建,我可以運行從查詢生成字符串,我得到一個返回的記錄......作爲我會期待的。
但是,當表單加載時,它返回0條記錄,顯然這是一個問題......我放入IF來捕捉它,然後它碰到我的代碼的其餘部分。
RecordSource = SQL。那樣工作?我一直認爲你必須指定Me.RecordSource。嘗試指定Me.RecordSource。另外,您不需要VBA字符串中的分號。 –
你不需要'我'。它只是使智能感知更簡單。雖然;不需要......它在查詢生成器中有效或無效地工作。我無法弄清楚這有什麼問題。 – Rdster
我能想到的其他事情是OpenArgs與前導/尾隨空格(Trim()會解決這個問題),或NTID是一個整數(在這種情況下,刪除圍繞OpenArgs的單引號)。除此之外,它看起來是對的。 –