vb怎样删除MSHFlexGrid1指定的行

求助,为什么点删除按钮,总是删除的是第一行记录,而不是选中的那一行记录,是哪个地方错了PrivateSubMSHFlexGrid1_Click()mm=MSHFlexGr... 求助,为什么点删除按钮,总是删除的是第一行记录,而不是选中的那一行记录,是哪个地方错了
Private Sub MSHFlexGrid1_Click()
mm= MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1)
End Sub

Private Sub cmd_del_Click()
If Adodc1.Recordset.RecordCount > 0 Then
Dim aa As String
aa = MsgBox("确认删除吗", vbQuestion + vbYesNo, "提示")
If aa = vbYes Then
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\money.MDB;Persist Security Info=False"
Adodc1.RecordSource = "select * from 收入项目 where 项目='" & mm & "' "
Adodc1.Recordset.Delete
Adodc1.Recordset.Requery
Set MSHFlexGrid1.DataSource = Adodc1
End If
Else
MsgBox "没有可删除信息"
End If
End Sub
展开
 我来答
忠成静0O
推荐于2016-05-13 · TA获得超过1049个赞
知道小有建树答主
回答量:1114
采纳率:100%
帮助的人:895万
展开全部
删除MSHFlexGrid1指定的行的语句应该是:

MSHFlexGrid1.RemoveItem 1 '删除第1行
MSHFlexGrid1.RemoveItem 2 '删除第2行

你上面的语句如果是要在数据库中删除再重写MSHFlexGrid1那么函数mm应该设置为公共变量,否则在Private Sub cmd_del_Click() 过程中 mm值应该是为空。
或直接把
Adodc1.RecordSource = "select * from 收入项目 where 项目='" & mm & "' "
改为:
Adodc1.RecordSource = "select * from 收入项目 where 项目='" & MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1) & "' "

请参考采纳!谢谢!
用户未被屏蔽
2013-09-25 · TA获得超过131个赞
知道答主
回答量:180
采纳率:0%
帮助的人:174万
展开全部
Adodc1.RecordSource = "select * from 收入项目 where 项目='" & mm & "' "
后面是不是也要Adodc1.Recordset.Requery下再做删除动作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式