
下面是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 展开
'删除记录事件
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 展开
展开全部
不建议绑定,如果要绑定的话建议使用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
下面这个代码是非绑定的代码,仅供参考
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
追问
能不能给一段绑定后的代码?还有,绑定和不绑定有什么区别(代码上),非常感谢~~~
展开全部
今天在空间消息中看到你的请求!
MSHFlexGrid1 控件中并不能真的删除一行,它只是将行隐藏了. 在重新输入一行前时需要判断行是否隐藏,高度为0.
删除指定的行,在单击时,会记录MSHFlexGrid 控件的当前行号 但时记录集的行却跟控件是不一样的.所以这样删除数据时会容易出错,不建议这样操作数据.
建议你
1:将数据库连接做一个全局连接函数.
2:记录集查询做一个全局函数.返回一个记录集对象
3:数据赋值到MSHFlexGrid 控件中做一个全局函数.采用一维数组加循环方式参数为;MSHFlexGrid1,一维数组. 两个参数.
4:删除数据做一个函数.获取关键词来删除数据.
希望对你以后写代码有帮助.其它的楼上以回答.
MSHFlexGrid1 控件中并不能真的删除一行,它只是将行隐藏了. 在重新输入一行前时需要判断行是否隐藏,高度为0.
删除指定的行,在单击时,会记录MSHFlexGrid 控件的当前行号 但时记录集的行却跟控件是不一样的.所以这样删除数据时会容易出错,不建议这样操作数据.
建议你
1:将数据库连接做一个全局连接函数.
2:记录集查询做一个全局函数.返回一个记录集对象
3:数据赋值到MSHFlexGrid 控件中做一个全局函数.采用一维数组加循环方式参数为;MSHFlexGrid1,一维数组. 两个参数.
4:删除数据做一个函数.获取关键词来删除数据.
希望对你以后写代码有帮助.其它的楼上以回答.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加上下面这段代码:
Private Sub MSHFlexGrid1_Click()
If MSHFlexGrid1.MouseRow = 0 Then exit sub
Rs.Move MSHFlexGrid1.Row - 1, 1
End Sub
Private Sub MSHFlexGrid1_Click()
If MSHFlexGrid1.MouseRow = 0 Then exit sub
Rs.Move MSHFlexGrid1.Row - 1, 1
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs。movenext
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询