| 查看: 3804 | 回复: 0 | ||
[求助]
在对应所需名称或序数的集合中,未找到项目,请问我的代码哪里有错误?
|
|
Private HXZT As String Option Explicit Dim i As String Dim Index As Integer Private Sub Form_Load() Dim rst As ADODB.Recordset '初始化查询条件ComboBox CboQuery.AddItem ("销售单号" ![]() CboQuery.AddItem ("客户编号" ![]() CboQuery.ListIndex = 0 '默认查询条件为销售单号 '初始化客户编号ComboBox Call LinkdataBase rs1.Open " Select * from 客户资料表", conn, 1, 1 If rs1.RecordCount = 0 Then MsgBox "没有客户编号,请先建立客户资料!" Exit Sub Else Do While Not rs1.BOF And Not rs1.EOF '添加到ComboBox列表 Me.CboKHID.AddItem (rs1.Fields("客户编号" & rs1.Fields("客户名称" )rs1.MoveNext '指向下一条记录 Loop CboKHID.ListIndex = 0 '默认ComboBox rs1.Close End If Call LoadData '装载数据 Call ShowData '显示数据 End Sub Private Sub LoadData() '装载数据 Dim colName As String '保存所选择的查询条件 Dim colValue As String '保存所要查询具体的值 Dim strWhere As String colName = CboQuery.Text '取出条件的值 colValue = txtQuery.Text '取出所要查询的值 '构建条件 HXZT = "未核销" 'strWhere = " where " & colName & " like '%" & colValue & "%' and 是否核销='" & Trim(HXZT) & "'" ' Set rs = Nothing Call LinkdataBase '查询销售单” rs.Open "select * from 销售单表 where 销售单号='" & Trim(txtQuery.Text) & "'and 是否核销='" & Trim(HXZT) & "'", conn, 1, 1 Set Me.DataGrid1.DataSource = rs DataGrid1.Refresh If rs.RecordCount = 0 Then '如果不存在记录 '编辑控件可用性 CmdSave.Enabled = False '移动控件不可用 For Index = 0 To 3 CmdMove(Index).Enabled = False Next Index Else '编辑控件可用性 CmdSave.Enabled = True For Index = 0 To 3 CmdMove(Index).Enabled = True Next Index End If '设置控件Enable值 Call ControlEnable(False) End Sub Private Sub ControlEnable(flag As Boolean) '设置控件的Enable值 CboKHID.Enabled = False DTPicker1.Enabled = False For Index = 0 To 6 txt(Index).Enabled = False Next Index End Sub Private Sub ShowData() '在控件中显示数据 If rs.RecordCount <> 0 Then '如果存在记录 '为控件赋值 txt(0).Text = rs.Fields("销售单号" ![]() '保证记录中的客户编号与ComboBox中的值相一致 For Index = 0 To CboKHID.ListCount - 1 If Left(Trim(CboKHID.List(Index)), 4) = rs.Fields("客户编号" ThenCboKHID.ListIndex = Index Exit For End If Next Index DTPicker1.Value = rs.Fields("销售日期" ![]() For Index = 1 To 6 txt(Index).Text = rs.Fields(Index + 2) Next Index End If End Sub Private Sub CmdMove_Click(Index As Integer) '移动记录操作 Select Case Index Case Is = 0 '移到第一条记录 If Not rs.BOF Then rs.MoveFirst Case Is = 1 '移到上一条记录 If rs.RecordCount <> 0 Then If rs.BOF = False Then rs.MovePrevious If rs.BOF = True Then rs.MoveFirst End If Case Is = 2 '移到下一条记录 If rs.RecordCount <> 0 Then If rs.EOF = False Then rs.MoveNext If rs.EOF = True Then rs.MoveLast End If Case Is = 3 '移到最后一条记录 If rs.RecordCount <> 0 Then If Not rs.EOF = True Then rs.MoveLast End If End Select Call ShowData End Sub Private Sub CmdSave_Click() '出库操作 On Error GoTo ErrMsg '错误处理 i = MsgBox("您确实要把当前销售单出库吗?", vbYesNo) If i = vbYes Then Call setData '设置数据 Else Exit Sub End If rs.Update '更新数据 CmdSave.Enabled = False MsgBox ("成功出库!" ![]() Call LoadData '重新装载数据 Call ShowData '重新显示数据 Exit Sub ErrMsg: '报告出错信息 MsgBox Err.Description, vbExclamation, "出错" End Sub Private Sub setData() '为字段设置数据 Call LinkdataBase '将商品库存数量减去销售单明细中的销售数量 rs1.Open " select * from 销售单明细表 where 销售单号='" & txt(0).Text & "'", conn, 1, 1 Do Until rs1.EOF rs2.Open "select * from 商品库存表 where 商品编号='" & rs1.Fields("商品编号" & "'", conn, 1, 1rs2.Fields("库存数量" = Val(rs2.Fields("库存数量" ) - Val(rs1.Fields("销售数量" )rs2.Fields("库存总金额" = Val(rs2.Fields("库存总金额" ) - Val(rs1.Fields("销售数量" ) * Val(rs2.Fields("成本价" )rs2.Update '更新数据 rs1.MoveNext Loop '销售单的"是否核销"标志变成"已核销" rs.Fields("是否核销" = "已核销"rs2.Close rs1.Close End Sub Private Sub CmdQuery_Click() '查询操作 Call LoadData '装载数据 Call ShowData '显示数据 End Sub |
» 猜你喜欢
不自信的我
已经有11人回复
北核录用
已经有3人回复
要不要辞职读博?
已经有6人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复













回复此楼