Chinaunix首页 | 论坛 | 博客
  • 博客访问: 664233
  • 博文数量: 79
  • 博客积分: 2608
  • 博客等级: 少校
  • 技术积分: 889
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-19 23:57
个人简介

一家之计在于和,一生之计在于勤。

文章分类

全部博文(79)

文章存档

2022年(2)

2019年(1)

2017年(1)

2015年(2)

2014年(2)

2013年(2)

2012年(2)

2011年(6)

2010年(20)

2009年(13)

2008年(28)

分类:

2009-04-25 14:54:04

   本来我是很不喜欢用VB的,在编写软件或者是做网站的时候都会避开VB。但是这次毕业设计我们班有好多同学选了用VB做系统的课题,他们又要找我帮忙完成,所以我也就被迫去复习或者是学习些VB的东西了。
   今天就碰到一个问题了:要求实现的功能是当点击datagrid的行时要求将该行的信息显示到几个文本框中。本来这个似乎也不难,我先是用下面的方法实现:
Private Sub DGd_xmxx_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
   '将数据导入文本框中
    SQL = "select * from ydxmb order by xmbh"
    Set rs = SelectSQL(SQL, msg)
    Set DGd_ydyxx.DataSource = rs
    If Ado_xm.Recordset.EOF = False Then
        rs.MoveFirst
        i = DGd_xmxx.Row
        rs.Move i
        TxtItem(0).Text = rs.Fields(0)
        TxtItem(1).Text = rs.Fields(1)
        Cmb_xmlb.Text = rs.Fields(2)
    End If
End Sub
 
   但是问题出来了:如果是这个表中的记录不多,也就是datagrid没有滑动条的时候就不会出现读取信息错误,但是当表中记录很多,datagrid需要拖动滚动条的时候,显示的信息就会错乱了。
   于是换了个思路,既然用了adodc,那就用下面的方法岂不更简单嘛!
Private Sub DGd_xmxx_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
  '将数据导入文本框中
  If Ado_xm.Recordset.EOF = False Then
    TxtItem(0).Text = Ado_xm.Recordset.Fields(0)
    TxtItem(1).Text = Ado_xm.Recordset.Fields(1) 
    Cmb_xmlb.Text = Ado_xm.Recordset.Fields(2) 
  End If
End Sub
如此一来,上面提到的问题就不会在有了,正确解决了问题。
阅读(2034) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-05-14 16:44:08

你好,说真的我也很讨厌VB 但是我女友需要用VB做个系统,于是我也开始忙了… 我也正好做到这个过程,但是我发现多次点击后text并不更新 新点击的数据