If SN.Text = "" Or Batch.Text = "" Then
MsgBox "请输入查询条件!"
Exit Sub
End IfAdodc1.ConnectionString = DataConnectString
Adodc2.ConnectionString = DataConnectString
Adodc1.RecordSource = "select 子零件,描述,ABCJ类,数量*" & CInt(Batch.Text) & " as 短缺数量 from BOM where 父零件='" + Trim(SN.Text) + "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Do While Not Adodc1.Recordset.EOF
TmpNum = Adodc1.Recordset.Fields("短缺数量")
TmpSN = Adodc1.Recordset.Fields("子零件")
Adodc2.RecordSource = "select 库存数量 from 库存状况 where 物料编码='" + TmpSN + "'"
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
TmpStoreNum = Adodc2.Recordset.Fields(0)
Else
TmpStoreNum = 0
End If
LackNum = TmpStoreNum - TmpNum
Adodc1.Recordset.Fields("短缺数量") = LackNum Adodc1.Recordset.MoveNext
Loop
Set DataGrid1.DataSource = Adodc1
Else
MsgBox "系统中没有此物料编码的BOM!", vbInformation
End If
大家帮忙看看,执行到红色部分的时候就会报错,提示多步操作错误!
MsgBox "请输入查询条件!"
Exit Sub
End IfAdodc1.ConnectionString = DataConnectString
Adodc2.ConnectionString = DataConnectString
Adodc1.RecordSource = "select 子零件,描述,ABCJ类,数量*" & CInt(Batch.Text) & " as 短缺数量 from BOM where 父零件='" + Trim(SN.Text) + "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Do While Not Adodc1.Recordset.EOF
TmpNum = Adodc1.Recordset.Fields("短缺数量")
TmpSN = Adodc1.Recordset.Fields("子零件")
Adodc2.RecordSource = "select 库存数量 from 库存状况 where 物料编码='" + TmpSN + "'"
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
TmpStoreNum = Adodc2.Recordset.Fields(0)
Else
TmpStoreNum = 0
End If
LackNum = TmpStoreNum - TmpNum
Adodc1.Recordset.Fields("短缺数量") = LackNum Adodc1.Recordset.MoveNext
Loop
Set DataGrid1.DataSource = Adodc1
Else
MsgBox "系统中没有此物料编码的BOM!", vbInformation
End If
大家帮忙看看,执行到红色部分的时候就会报错,提示多步操作错误!
adodc1.recordset.fields("短缺数量")本来是有值,我是想动态给它赋值。
当然要报错了。"短缺数量" 并非表中实际存在的字段。解决的方法:
你使用 MSHFlexGrid 控件来绑定,然后直接对单元格的内容进行改动。