在做进销存管理系统的时候在销售那一块,遇见这么一个问题,就是我要实现一个业务员Combo1(1)在仓库Combo1(4)里提取商品,结果当我选好业务员Combo1(1)和要提取商品的仓库Combo1(4)的时候,选择商品名称Combo1(2),却不能显示商品代码txtItem(3),有效期限txtItem(11),销售单价txtItem(5).
我怀疑是SQL查询语句出了错误,但是不大清楚怎么改,因为商品代码txtItem(3),有效期限txtItem(11),和销售单价txtItem(5)不是同一张表,所以请高手帮忙看一下究竟是什么问题,急,谢谢了先
具体代码如下:Private Sub Combo1_Click(Index As Integer)
Dim mrcc As ADODB.Recordset
Dim mrcd As ADODB.Recordset
Dim MsgText As String
If Index = 1 Then
txtSQL = "select dm,mb_reb from dm_kh where mc = '" & Trim(Combo1(1)) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If Not mrcc.EOF Then
txtItem(2) = mrcc.Fields(0)
txtItem(6) = mrcc.Fields(1)
End If
mrcc.Close ElseIf Index = 2 Then
txtSQL = "select kucun.wzdm,kucun.cxend,dm_wz.lsj from kucun inner join dm_wz on kucun.wzdm = dm_wz.dm where kucun.wzdm = '" & Trim(Combo1(2).ItemData(Combo1(2).ListIndex)) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If Not mrcc.EOF Then
txtItem(3) = mrcc.Fields(0)
txtItem(11) = mrcc.Fields(1)
txtItem(5) = mrcc.Fields(2)
End If
mrcc.Close
ElseIf Index = 4 Then
txtItem(10) = Combo1(4).ItemData(Combo1(4).ListIndex)
Combo1(2).Clear
txtSQL = "select dm_wz.dm,dm_wz.mc from kucun inner join dm_wz on kucun.wzdm = dm_wz.dm where kucun.ckdm = '" & Trim(txtItem(10)) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If Not mrcc.EOF Then
Do While Not mrcc.EOF
Combo1(2).AddItem mrcc.Fields(1)
Combo1(2).ItemData(Combo1(2).NewIndex) = mrcc.Fields(0)
mrcc.MoveNext
Loop
mrcc.Close
End If
ElseIf Index = 5 Then
If Combo1(5).ListIndex = 0 Or Combo1(5).ListIndex = 1 Then
txtItem(8).Visible = False
Label2(13).Visible = False
Else
txtItem(8).Visible = True
Label2(13).Visible = True End If
End IfEnd Sub
我怀疑是SQL查询语句出了错误,但是不大清楚怎么改,因为商品代码txtItem(3),有效期限txtItem(11),和销售单价txtItem(5)不是同一张表,所以请高手帮忙看一下究竟是什么问题,急,谢谢了先
具体代码如下:Private Sub Combo1_Click(Index As Integer)
Dim mrcc As ADODB.Recordset
Dim mrcd As ADODB.Recordset
Dim MsgText As String
If Index = 1 Then
txtSQL = "select dm,mb_reb from dm_kh where mc = '" & Trim(Combo1(1)) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If Not mrcc.EOF Then
txtItem(2) = mrcc.Fields(0)
txtItem(6) = mrcc.Fields(1)
End If
mrcc.Close ElseIf Index = 2 Then
txtSQL = "select kucun.wzdm,kucun.cxend,dm_wz.lsj from kucun inner join dm_wz on kucun.wzdm = dm_wz.dm where kucun.wzdm = '" & Trim(Combo1(2).ItemData(Combo1(2).ListIndex)) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If Not mrcc.EOF Then
txtItem(3) = mrcc.Fields(0)
txtItem(11) = mrcc.Fields(1)
txtItem(5) = mrcc.Fields(2)
End If
mrcc.Close
ElseIf Index = 4 Then
txtItem(10) = Combo1(4).ItemData(Combo1(4).ListIndex)
Combo1(2).Clear
txtSQL = "select dm_wz.dm,dm_wz.mc from kucun inner join dm_wz on kucun.wzdm = dm_wz.dm where kucun.ckdm = '" & Trim(txtItem(10)) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If Not mrcc.EOF Then
Do While Not mrcc.EOF
Combo1(2).AddItem mrcc.Fields(1)
Combo1(2).ItemData(Combo1(2).NewIndex) = mrcc.Fields(0)
mrcc.MoveNext
Loop
mrcc.Close
End If
ElseIf Index = 5 Then
If Combo1(5).ListIndex = 0 Or Combo1(5).ListIndex = 1 Then
txtItem(8).Visible = False
Label2(13).Visible = False
Else
txtItem(8).Visible = True
Label2(13).Visible = True End If
End IfEnd Sub
txtSQL = "select kucun.wzdm,kucun.cxend,dm_wz.lsj from kucun inner join dm_wz on kucun.wzdm = dm_wz.dm where kucun.wzdm = '" & Trim(Combo1(2).ItemData(Combo1(2).ListIndex)) & "'"因为不知道你的具体数据,所以只能猜测可能原因:
1、Combo1(2).ItemData(Combo1(2).ListIndex 可能你的kucun.wzdm 不是varchar而是char,那么你就不应该用Trim。
2、inner join 关联错误造成记录集返回eof.
是不是inner join错误啊?我觉得这里有问题,但是不知道该怎么解决~知道的麻烦进来指点,谢了