表单中有一Text1,一按钮modify,一数据表格MSFlexGrid,和一Data1控件!
想实现功能是选择MSFlexGrid中一行(本人的数据库User_manage.mdb中表User中只有一列即User_Info),则Text1中显示该行内容,即User_Info中内容!!单击按钮modify则可修改当前选中的行的内容!! 当然原数据库也要自动更新了.....本人设置:
data1.dataname="User_manage.mdb"
data1.recordsource="User"
MSFlexGrid.datasource=data1
text1.dataField=User_Info
在modify单击事件中:
If Text1.text = "01j2lyy0013079" Then
   MsgBox "你不能修改你自己即系统管理员的信息!如果要修改请与系统设计师联系!", vbOKOnly, "警告"
End If
If Text1.text = "" Then
   MsgBox "用户信息不能为空!!请重新输入!!", vbOKOnly, "提示信息"
Else
   Data1.Recordset.AddNew
   Data1.Recordset.Fields(0).Value = Text1.text
   Data1.Recordset.Update
   Data1.Refresh
   MSFlexGrid.Refresh
End If!!!!!!!!!!但有错误呀!!!!!!!1.首先是单击MSFlexGrid中的某行,Text1.text都是0,改动Text1.text等于,例:aaa,再单击modify,又提示User.User_Info不能是零长度的字符串!!出错定位在Data1.recordset.update处....请教高手,到底还有哪要改善??我做的头都大了...
请教了....
2.另限制MSFlexGrid中列的宽度代码是????

解决方案 »

  1.   

    单步调试,看看到这一行
    Data1.Recordset.Fields(0).Value = Text1.text
    时,text1.text里面究竟是什么东东。
      

  2.   

    问题:首先是单击MSFlexGrid中的某行,Text1.text都是0我想应该是你没有正确的在单击msflexgrid的时候记录activerow和activecol问题:User.User_Info不能是零长度的字符串那应该是你的赋值不正确,如楼上Data1.Recordset.Fields(0).Value = Text1.text
    时,text1.text里面究竟是什么东东问题:另限制MSFlexGrid中列的宽度代码是with msflexgrid
        .colwhith(0)=800  '你需要的长度
      

  3.   

    你的Text1文本框是不是各表绑定的,如果是,那就是这样了,因为你在修改前AddNew了,文本框会被清空的
      

  4.   

    是啊,是绑定的!那我只绑定,把上面所有代码取消,当我单击MSFlexGrid时,Text1中内容总是显示表中的第一条记录,不会下移呀...连0都不显示...另我的modify按钮的单击事件的代码该怎样来写呢??
      

  5.   

    在你点击后,把记录移动到你选中的那条,
    事件里就不用ADDNEW
      

  6.   

    楼上的兄弟,能不能你做个这样的表单实验一下.
    如果再把事件中的Addnew就会报错的....
    俺有E-mail的:[email protected]本人最近在做VB大作业,做的头都大了!都快不会思考了,所以上网来
    想让高手帮助解决难题了...
      

  7.   

    AddNew是新增一条记录,你放着有什么用呢,你不是要修改嘛,你就不能用Edit吗
      

  8.   

    我给你一个思路吧,
    在点击表格事件里,做上一个定位到当前记录,
    然后修改后
       Data1.Recordset.Edit
       Data1.Recordset.Fields(0).Value = Text1.text
       Data1.Recordset.Update
       Data1.Refresh
    就OK啦