| 查看: 3835 | 回复: 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 |
» 猜你喜欢
299求调剂
已经有8人回复
一志愿北京理工大学本科211材料工程294求调剂
已经有6人回复
300求调剂,材料科学英一数二
已经有8人回复
招收生物学/细胞生物学调剂
已经有5人回复
070305高分子化学与物理 304分求调剂
已经有7人回复
289求调剂
已经有13人回复
一志愿哈尔滨工业大学材料与化工方向336分
已经有9人回复
081200-11408-276学硕求调剂
已经有6人回复
调剂求院校招收
已经有5人回复
调剂310
已经有8人回复















回复此楼
6