50分!怎么点击指定DATAGRID中的一行,就可以删除掉!关键字段只有access自动产生的"流水号"

youhao 2003-03-21 11:34:03
Private Sub Command3_Click()
On Error Resume Next
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim path As String
Dim connstr As String
path = App.path & "\jxcun.mdb"
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Persist Security Info=False"
db.ConnectionString = connstr
db.Open
rs.CursorLocation = adUseClient
rs.Open "delete jin where 流水号='" & i & "'", db, adOpenStatic, adLockReadOnly 《〈〈这样删除不掉!
End Sub

Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X > 0 And Y > 0 Then
DataGrid1.Row = DataGrid1.RowContaining(Y)
Text1.Text = DataGrid1.Columns(1).Text
Text2.Text = DataGrid1.Columns(2).Text
Text3.Text = DataGrid1.Columns(3).Text
Text4.Text = DataGrid1.Columns(4).Text
Text5.Text = DataGrid1.Columns(5).Text
i = Val(DataGrid1.Columns(0).Text)
End If
End Sub


还有个问题就是点击DATAGRID最左端和最上端的字段名出现行号无效错误该如何解决!
谢谢!
...全文
445 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivt 2003-03-22
  • 打赏
  • 举报
回复
不用单引号那是因为你的流水号字段值为数字形式,而不是字符。

试试这个啦
回复人: northwolves(野性的呼唤) ( ) 信誉:100 2003-03-21 14:17:00 得分:0


呵呵,这样就可以了:

Private Sub DataGrid1_Click()
rs.Delete adAffectCurrent
End Sub



youhao 2003-03-22
  • 打赏
  • 举报
回复
在DATAGRID中,当鼠标按下是触动事件,是我能获得其中的关键字段值,我就可以点“删除按钮”删除,但删除以后,箭头自动下移,我该用什么事件,获得这个行的数据,不用在过去按一下鼠标选中下一行呢!
chenyu5188 2003-03-22
  • 打赏
  • 举报
回复
UP
youhao 2003-03-22
  • 打赏
  • 举报
回复
可以了,不用单引号就行了!
VbtoDelphi 2003-03-22
  • 打赏
  • 举报
回复
youhao (勇攀高峰)

注意你程序中的bug!
Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

'加入下面语句
if DataGrid1.RowContaining(Y)=-1 then exit sub
If X > 0 And Y > 0 Then'多余
DataGrid1.Row = DataGrid1.RowContaining(Y)
Text1.Text = DataGrid1.Columns(1).Text
Text2.Text = DataGrid1.Columns(2).Text
Text3.Text = DataGrid1.Columns(3).Text
Text4.Text = DataGrid1.Columns(4).Text
Text5.Text = DataGrid1.Columns(5).Text
i = Val(DataGrid1.Columns(0).Text)
End If'多余

End Sub

zhangbob 2003-03-21
  • 打赏
  • 举报
回复
点击DATAGRID,取得DATAGRID所在的row值,处理鼠标事件:
delte from jin where 流水号='" & i & "'"
78815 2003-03-21
  • 打赏
  • 举报
回复
delte from jin where 流水号='" & i & "'",
northwolves 2003-03-21
  • 打赏
  • 举报
回复
呵呵,这样就可以了:

Private Sub DataGrid1_Click()
rs.Delete adAffectCurrent
End Sub

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧