标题: 求助:输入物品名称和采购单价相同时自动合并的例子 [打印本页] 作者: sunwrsun 时间: 2016-4-4 17:09 标题: 求助:输入物品名称和采购单价相同时自动合并的例子 附件中有两个实例:一个是流水编码字段为数字型,操作没有问题。另外一个是把流水编码字段为修改为文本型后操作报错,提示“标准表达式中数据类型不匹配”,代码如下:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim rs As New ADODB.Recordset
Dim strSql As String
strSql = "select * from 物品管理_采购单临时表 where 流水编码=" & Me.流水编码 & " and 采购临时ID<" & Me.采购临时ID & ""
rs.Open strSql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Do While Not rs.EOF
If Me.物品编码 = rs!物品编码 Then
If Me.采购单价 = rs!采购单价 Then
Me.采购数量 = Me.采购数量 + rs!采购数量
rs.Delete
Exit Do
End If
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
报错代码行为
rs.Open strSql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
请问如何解决,谢谢。作者: sunwrsun 时间: 2016-4-4 17:11
附件作者: roych 时间: 2016-4-4 23:37
文本类型时,应该加上单引号【如下】,否则就是数据类型不匹配了:
"select * from 物品管理_采购单临时表 where 流水编码='" & Me.流水编码 & "' and 采购临时ID<" & Me.采购临时ID
如果需要变更数据类型的话,建议创建一个查询来转换,例如:
select clng([流水编码]) as 流水编号1,字段1,字段2……字段N from 物品管理_采购临时表
然后再用rs.open 上述查询。作者: sunwrsun 时间: 2016-4-5 01:22
谢谢版主,按照您的方法问题解决了。谢谢!