我正在创建销售配置数据库。我正在使用表单来完成配置过程中的销售人员。某些产品将确定配置路径。当销售人员点击表单时,我有一个临时表(tblConfigTemp)填充了他们的选择。该表在配置结束时或用户按下“主页”按钮时清除。
我遇到有关如何在临时表上查找值的问题。我希望能够查看我的临时表,搜索ProductID,然后根据以前的条目插入其他ProductID。以下是迄今为止的内容:
Private Sub btnRTKGO_Click()
Dim locProductID As Integer
locProductID = [Tables]![ConfigTemp]![ProductID]
If locProductID = 1 Then
sSQL = "INSERT INTO ConfigTemp( [ProductID] ) SELECT '10' "
ElseIf locProductID = 2 Then
sSQL = "INSERT INTO ConfigTemp( [ProductID] ) SELECT '11' "
ElseIf locProductID = 3 Then
sSQL = "INSERT INTO ConfigTemp( [ProductID] ) SELECT '12' "
ElseIf locProductID = 4 Then
sSQL = "INSERT INTO ConfigTemp( [ProductID] ) SELECT '13' "
Else
Call MsgBox("This is a pop-up message", 0, "A Message")
End If
End Sub
因为我做了任何编程,试图回到马鞍上已经有一段时间了。提前谢谢。
答案 0 :(得分:1)
域函数 DLookUp()
,DCount()
等通常是在Access中进行简单查找的最直接方式。例如,要查看[ProductID]编号1是否存在,您可以执行类似
Dim n As Integer
n = DCount("*", "ConfigTemp", "ProductID=1")
If n = 0 Then
MsgBox "ProductID number 1 was not found."
Else
MsgBox "ProductID number 1 was found."
End If
有关其他信息,请参阅Microsoft知识库文章here。
要向表中添加另一行,您可以使用与示例代码中的语法类似的内容...
Dim cdb As DAO.Database
Set cdb = CurrentDb
cdb.Execute "INSERT INTO ConfigTemp (ProductID) VALUES (10)", dbFailOnError
...或者您可以使用Recordset对象
Dim cdb As DAO.Database, rst As DAO.Recordset
Set cdb = CurrentDb
Set rst = cdb.OpenRecordset("ConfigTemp", dbOpenTable)
rst.AddNew
rst!ProductID = 10
rst.Update
rst.Close