下面是VB用Adodc控件在MAFlexgrid中显示数据库中的数据的程序,我要让程序在删除的时候删除鼠标所指定的行

下面这个只能删除首行,要怎么改改程序呢?'删除记录事件PrivateSubCommand3_Click()DimRsAsADODB.RecordsetDimConnAsN... 下面这个只能删除首行,要怎么改改程序呢?
'删除记录事件
Private Sub Command3_Click()
Dim Rs As ADODB.Recordset
Dim Conn As New ADODB.Connection
Dim strSQL As String
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\材料采购系统.mdb;Persist Security Info=False"
Set Rs = New ADODB.Recordset
strSQL = "Select * from 材料采购表 "
Rs.Open strSQL, Conn, 1, 3
rs1.Open SQL, Conn, 1, 3
Rs.Delete
Rs.Close
MSHFlexGrid1.Refresh
Conn.Close
Set Rs = Nothing
Set cnn = Nothing
End Sub
展开
 我来答
zx001z7d53
2012-02-10 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:6077万
展开全部
不建议绑定,如果要绑定的话建议使用DATAGRID
下面这个代码是非绑定的代码,仅供参考
Dim HaveSelected As Boolean '声明一个布尔型变量,用来判断是否做了选择
Private Sub Command1_Click()
If HaveSelected = True Then MSHFlexGrid1.RemoveItem MSHFlexGrid1.RowSel '删除选中的行
End Sub

Private Sub Form_Load() '窗体加载的时候做的准备,一方面添加些数据,另一方面做些初始必须的设置与赋值,这就是初始化
MSHFlexGrid1.Cols = 10 '设置MSHFlexGrid1为十列
MSHFlexGrid1.Rows = 10 '设置MSHFlexGrid1为十行
MSHFlexGrid1.FixedCols = 0 '无固定列
MSHFlexGrid1.FixedRows = 0 '无固定行
For i = 0 To MSHFlexGrid1.Rows - 1 '从第一行到最后一行遍历循环,就跟数数一样
For j = 0 To MSHFlexGrid1.Cols - 1 '从第一列到最后一列遍历循环,就跟数数一样
MSHFlexGrid1.TextMatrix(i, j) = i & ", " & j '单元格的数值等于坐标值
Next j
Next i
MSHFlexGrid1.SelectionMode = flexSelectionByRow '设置MSHFlexGrid1的选择方式是按行选择
HaveSelected = False '设置标志,防止没选择就删除
End Sub

Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
HaveSelected = True '设置标志允许删除
End Sub
追问
能不能给一段绑定后的代码?还有,绑定和不绑定有什么区别(代码上),非常感谢~~~
wu_kang_lin
2012-02-11 · TA获得超过170个赞
知道小有建树答主
回答量:490
采纳率:50%
帮助的人:324万
展开全部
今天在空间消息中看到你的请求!
MSHFlexGrid1 控件中并不能真的删除一行,它只是将行隐藏了. 在重新输入一行前时需要判断行是否隐藏,高度为0.

删除指定的行,在单击时,会记录MSHFlexGrid 控件的当前行号 但时记录集的行却跟控件是不一样的.所以这样删除数据时会容易出错,不建议这样操作数据.

建议你
1:将数据库连接做一个全局连接函数.
2:记录集查询做一个全局函数.返回一个记录集对象
3:数据赋值到MSHFlexGrid 控件中做一个全局函数.采用一维数组加循环方式参数为;MSHFlexGrid1,一维数组. 两个参数.
4:删除数据做一个函数.获取关键词来删除数据.

希望对你以后写代码有帮助.其它的楼上以回答.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚心部落
2012-02-10 · TA获得超过302个赞
知道小有建树答主
回答量:534
采纳率:0%
帮助的人:573万
展开全部
加上下面这段代码:

Private Sub MSHFlexGrid1_Click()
If MSHFlexGrid1.MouseRow = 0 Then exit sub
Rs.Move MSHFlexGrid1.Row - 1, 1
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ching_He
2012-02-10 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:87.3万
展开全部
rs。movenext
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式