Private Sub btnMissingModels_Click()
' Define variables
Dim IDToUpdate As String
Dim m_strSQL As String
' Grab ID
IDToUpdate = Me.FINLDATA_ID.Value
' INSERT ID and missing model - only works once (for T300 - 0000300) and doesn't ignore 'Removed' models
m_strSQL = "INSERT INTO [FINLDATA MODELS] (FINLDATA_ID, MODEL)" & _
"SELECT '" & IDToUpdate & "', MODEL FROM T_MODELS_LIST WHERE NOT EXISTS (SELECT MODEL FROM [FINLDATA MODELS] WHERE [FINLDATA MODELS].MODEL = T_MODELS_LIST.MODEL)"
RunSQL m_strSQL
' Refresh the form display
Me.F_EDIT_ENTRIES_MODEL_SUB.Form.Requery
End Sub
按钮效果很好,但只能使用一次。例如,我单击它,它会添加FINLDATA_ID和FINLDATA MODELS中不存在的第一个MODEL,但如果我再次单击它,则不会添加下一个缺失的MODEL。
此外,我想添加第二个WHERE条件,但似乎无法使用'AND'使其工作我尝试了一系列语法,但似乎没有工作。我认为它可以在WHERE(条件1)和(条件2)下工作。第二个条件是:
WHERE(((T_MODELS_LIST.REMOVED)=否))。
这会过滤掉所有被取代的模型。我在之前的查询中使用了这个条件并且运行良好。
提前感谢您的帮助!
答案 0 :(得分:0)
这可能无法解决您的问题,但应指定正在使用的库。由于看起来您使用的是本机访问库,因此这将是DAO库,因此请更改RunSQL中的Dim语句,如下所示:
Dim dbs as DAO.Recordset
Dim qdfSQL as DAO.QueryDef
有时不指定库可能会导致问题,如果发生任何变化,请告诉我。