一个access数据库,包括num,name,age等字段,用ado连.
treeview显示全部name
要做的是:比如有个记录num=999,name=sa,那在输入999点查询后,treeview下的sa节点自动selected这是代码
Form1.ADOTable1.Active:=true;
if Form1.adotable1.Locate('num',edit1.text,[])=true then
   begin
     for i:=0 to Form1.treeview1.Items.Item[0].Count-1 do
        if  Form1.treeview1.Items.Item[0].Item[i].Text=form1.ADOTable1.FieldValues['name'] then
          Form1.treeview1.Items.Item[0].Item[i].Selected:=true;
       end
    else
     begin
      showmessage('没有找到相应学号');
      exit;
     end;
Form1.ADOtable1.Active:=false ;这样查询会报错说 域name不存在
这是什么原因啊?

解决方案 »

  1.   

    Form1.treeview1.Items.Item[0].Count-1楼主这个语句是否写错了?
      
     treeview1.Items.Count - 1
      

  2.   

    //将这句修改
    form1.ADOTable1.FieldValues['name']
    //为
    form1.ADOTable1.FieldByName['name'].asstring
      

  3.   

    你的语句没有错啊,可能出错的就是表里没有Name这个字段,还有Name是系统关键字,使用的时候要用[Name]
      

  4.   

    我觉得fengron(丰臣) 说的应该是对的
    access认为name 是系统的关键字 需要加[]
      

  5.   

    namepassword
    都是不行的!@