|
我在单据录入界面上的出库单查询时,查询结果出现个怪现象:出库数字不显示,改成个文本型数值才能显示,其他诸如部门、名称、备注等所有表体表头项目都能正常显示,出库单查询时没有此种现象,太郁闷了。麻烦老师看如下代码,问题出在那里。
Sub chaxun()
Dim hm, cel As Range
If Range("j3").Value = "" Then MsgBox "请输入需要查询的单据号码": Exit Sub
Application.EnableEvents = False
hm = Range("j3").Value
ActiveSheet.Unprotect
Range("d3,f3,d19,f19,j19").Value = ""
For Each cel In Sheet19.Range("p2:p" & Sheet19.[b65536].End(xlUp).Row)
If cel.Value = hm Then
If cel.Offset(0, 5).Value = "入库单" Then
Range("b2") = "物 资 入 库 单"
Range("L3") = 1
入库设置
Else
Range("b2") = "物 资 出 库 单"
Range("L3") = 2
出库设置
End If
Range("f3") = cel.Offset(0, -15).Value
Range("d19") = cel.Offset(0, 1).Value
Range("j19") = cel.Offset(0, 4).Value
If Range("b2") = "物 资 入 库 单" Then
Range("e19") = "采购员"
Range("f19") = cel.Offset(0, 2).Value
Else
Range("e19") = "领用人"
Range("f19") = cel.Offset(0, 3).Value
End If
End If
Next
Set x = CreateObject("adodb.connection")
x.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
If Range("b2") = "物 资 入 库 单" Then
Range("c6:g16").Value = ""
Range("i6:j16").Value = ""
Range("c6").CopyFromRecordset x.Execute("select 名称,组别,说明,入库数,单位 from [记录$] WHERE 单据号码 ='" & hm & "'")
Else
Range("c6:h16").Value = ""
Range("j6:j16").Value = ""
Range("c6").CopyFromRecordset x.Execute("select 名称,组别,说明,出库数,单位 from [记录$] WHERE 单据号码 ='" & hm & "'")
End If
Range("j6").CopyFromRecordset x.Execute("select 厂别 from [记录$] WHERE 单据号码 ='" & hm & "'")
ActiveSheet.Protect
x.Close
Set x = Nothing
If Range("C6") = "" Then MsgBox "没有该单据号的记录!"
Application.EnableEvents = True
End Sub |
|