Private Sub Command4_Click() '删除钮
Dim DelRecord As Integer
Dim i As Integer
Dim tmp As Integer
Dim sql As StringDelRecord = MsgBox("确定要删除这批数据吗?", vbQuestion + vbYesNo, "删除记录")
If DelRecord = vbYes Then
If Row_Top > Row_Down Then
tmp = Row_Top
Row_Top = Row_Down
Row_Down = tmp
End If cn.BeginTrans
For i = Row_Top To Row_Down
If grid(i, GridCol_0) <> "" Then
Read_Io_Detail i
If rs2![RecCount] > 0 Then
MsgBox "目前出货单尚有第" & i & "列的产品数据,因此该列数据暂不接受删除的动作", vbOKOnly + vbCritical, "删除警告信息"
Else
sql = "delete from product where prd_no= & grid(i, GridCol_0) "
cn.Execute sql
End If
End If
Next
cn.CommitTrans
rs1.Requery
If rs1.RecordCount > 0 Then
rs1.MoveFirst
End If
DisplayRecord
Initial_Button
rs2.Close
Set rs2 = Nothing
End If
End SubPublic Sub Read_Io_Detail(ByVal r As Integer)
Dim sql As String
'MsgBox grid(r, GridCol_0)
sql = "select count(io_del_detail.csh_no) as RecCount"
sql = sql & " from (io_del_detail inner join io_del on io_del_detail.csh_no=io_del.csh_no) inner join product on product.prd_no=io_del_detail.prd_no"
sql = sql & " where io_del_detail.prd_no=" & grid(r, GridCol_0)Set rs2 = New Recordset
rs2.CursorLocation = adUseClient
rs2.Open sql, cn, adOpenStatic, adLockOptimistic, adCmdTextMsgBox rs2.RecordCountEnd Sub
其中:grid(i, GridCol_0)是指msflexgrid控件的第i行第0列的值(GridCol_0=0)我是在一本书上看到的该行代码,其中删除记录这部分不同(就是选定了要删除的列后,按“删除”钮,msflexgrid的数据并没有删除)。看了半天,也找不到原因。请教请教!
Dim DelRecord As Integer
Dim i As Integer
Dim tmp As Integer
Dim sql As StringDelRecord = MsgBox("确定要删除这批数据吗?", vbQuestion + vbYesNo, "删除记录")
If DelRecord = vbYes Then
If Row_Top > Row_Down Then
tmp = Row_Top
Row_Top = Row_Down
Row_Down = tmp
End If cn.BeginTrans
For i = Row_Top To Row_Down
If grid(i, GridCol_0) <> "" Then
Read_Io_Detail i
If rs2![RecCount] > 0 Then
MsgBox "目前出货单尚有第" & i & "列的产品数据,因此该列数据暂不接受删除的动作", vbOKOnly + vbCritical, "删除警告信息"
Else
sql = "delete from product where prd_no= & grid(i, GridCol_0) "
cn.Execute sql
End If
End If
Next
cn.CommitTrans
rs1.Requery
If rs1.RecordCount > 0 Then
rs1.MoveFirst
End If
DisplayRecord
Initial_Button
rs2.Close
Set rs2 = Nothing
End If
End SubPublic Sub Read_Io_Detail(ByVal r As Integer)
Dim sql As String
'MsgBox grid(r, GridCol_0)
sql = "select count(io_del_detail.csh_no) as RecCount"
sql = sql & " from (io_del_detail inner join io_del on io_del_detail.csh_no=io_del.csh_no) inner join product on product.prd_no=io_del_detail.prd_no"
sql = sql & " where io_del_detail.prd_no=" & grid(r, GridCol_0)Set rs2 = New Recordset
rs2.CursorLocation = adUseClient
rs2.Open sql, cn, adOpenStatic, adLockOptimistic, adCmdTextMsgBox rs2.RecordCountEnd Sub
其中:grid(i, GridCol_0)是指msflexgrid控件的第i行第0列的值(GridCol_0=0)我是在一本书上看到的该行代码,其中删除记录这部分不同(就是选定了要删除的列后,按“删除”钮,msflexgrid的数据并没有删除)。看了半天,也找不到原因。请教请教!
解决方案 »
- 跟vb时提示“用户‘sa’登录失败”
- 如何列出sql Server中建立的数据库列表
- [急] vb 如何代码设置excel自动筛选
- 关于数组的API函数的含义
- 请问:如何使axWebBrowser控件不下载多媒体内容?
- 运行网上下载的运用水晶报表的源代码出错,是什么原因啊?(还没有安装水晶报表)
- 用VB的来看一下吧…
- 谁能给我介绍一下WINSOCK具体用法?
- 请问模块和模块之间如何参数传递调用?太不好意思了,vb学的不好
- vb6.0中有没有函数可以获得一个*.jpg或*.gif图片像素的大小
- 请问如何在ADO中使用Acess2000带密码的数据库????????
- *~* 简单的动画,我实在调试不出来了,帮忙看看,多谢。。
i=msflexgrid.row
msflexgrid.removeitem i
删除第i行
msflexgrid.clear是清空所有内容
i=msflexgrid.row
msflexgrid.removeitem i
删除第i行循环
请教:如果是点击一行,上面的代码就可以了,但要是点击选中了多行,在删除了当前行后,怎么让下一行或者上一行是当前行?(这样才能循环哦)谢谢先!