教程是这么说的:首先在FORM3中建立组件EDIT1,在其中输入起始站点,随后建立组件Table1,DateSource1,DBGrid1,对Table1中车次进行过滤,代码如下:
procedure TForm3.Table1FilterRecord(DataSet:TDataSet;var Accept:Boolean);
begin
Accept:=DataSet[’站名’]=edit1.Text;
end;
但为什么我双吉TABLE组件不能显示代码编辑器呢  就谈出一个TFORM.TABLE的对话框有四个播放按纽而且都不能按的 还有这个组件是不是BDE里的TABLE(DBTABLES)???

解决方案 »

  1.   

    还有就是如何设置他的属性 我的层次列表里TABLE是一问号  我现在做的是城市公交查询系统 现在这个部分具体功能是:输入起始站点 点查询按钮 下面的DBGRID就会显示经过这个站点的所有线路 我的DBGRID已经和ACCESS连接上了并且总表数据已经显示出来
      

  2.   

    procedure TForm3.Table1FilterRecord(DataSet:TDataSet;var Accept:Boolean);
    begin
    这段我不解 双击TABLE又出不来代码编辑器  我怎么对TABLE编码??
      

  3.   

    首先,你的object treeview上面的table是一问号,有两种原因:
    1、将table的connection连接到adoconnection
    2、如果你已经连接,没有设置table的tablename属性其次,你如果想对这个事件进行编码,并不是所有的组件都允许双击来转换到其相应的代码编辑器中。因为对于一个组件其相应的事件太多了,它一般会选择经常用的,而你的这个FilterRecord事件,是其一个event.你在object inspector中,选择events页面,然后找到onFilterRecord双击右边的空格便可以实现。如果要让这个能够使用,必须设置Filtered属性为True;
      

  4.   

    If ADOTable1.findKey([Edit1.text])  他还是提示我这段有错误 编译过程中
      

  5.   

    你用的是BDE的TABLE组件。而ADOTABLE根本就没有这个方法,当然报错了。除非你自己再写一个
      

  6.   

    BDE是通过数据源进行连接的,你先要设置好数据源,然后设置TABLE的初始源及TABLE名称,然后就可以进行相应的操作了。
      

  7.   

    那应该用什么连接数据库呢 ADO??
      

  8.   

    设置好数据源   就是TABLE的DATABASENAME?那里应该设置什么 我看基础教程是DBDEMOS 但我用的是ACCESS 应该填那个MS ACCESS BAES?
      

  9.   

    如果你的BDE是安装完整的,当你在DATABASENAME中选择DBDEMOS后,再在TABLENAME中可以选择表的名称,会有一个下拉式列框的。基础教程中的DBDEMOS已经存在于DELPHI的安装目录中,如果你自己想另外的添加,可以去控制面板中添加数据源,然后再选择。
      

  10.   

    在Object Inspector的Events里,找到OnFilterRecord,双击进入,编码
      

  11.   

    如何添加我自己的数据源??我找到了DBDEMOS的目录 难道只要把我的ACCESS数据库放到那个目录里还是..... 你说的控制面版是指什么 XP里的控制面版还是DELPHI里的 我刚刚学这个 问的问题可能比较弱 希望谅解
      

  12.   

    还有就是找到ONFILTERRECORD双击 弹出错误 说是代码不能添加这个事件 说是程序中 没有"END"或者是INITIALIZATION
      

  13.   

    在Object Inspector的Events里,找到OnFilterRecord,双击进入,编码
      

  14.   

    如果我用ADO连接数据库 那前面的过滤应该怎么改啊 对什么组件的FilterRecord进行编码??
      

  15.   

    还有就是找到ONFILTERRECORD双击 弹出错误 说是代码不能添加这个事件 说是程序中 没有"END"或者是INITIALIZATION上面这个情况是说你的代码中结果end.有问题,那个主要是自动添加代码的时候,将某个函数分开造成的。BDE建立数据源,你在控制面板-->管理工具-->数据源 的用户DSN或者系统DSN添加就可以了,那个添加的向导很简单,你用一下就可以了。
    如果改成ADO,你关联好数据控件后,ADOQuery、ADOTable、ADODataset它们都有FilterRecord事件,操作不会变的。Accept:=DataSet[’站名’]=edit1.Text;添加就可以了。
      

  16.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Table1.IndexFieldNames:='站名';
    If Table1.findKey([Edit1.text])
    then label2.Caption:=''
    else label2.Caption:='您输入的站点不存在,请重新输入';
    end;
    那我这段代码 换成ADOQuery这个就出错 主要报ADOQuery1.IndexFieldNames:='站名';
    If ADOQuery1.findKey([Edit1.text]) 这里面有错  好象ADOQuery1 没有FINDKEY这个方法?
      

  17.   

    ADOQuery1.IndexName := '站名'
    if ADOQuery1.Locate('站名',Edit1.text,[]) then
      label2.Caption:=''
    else
      label2.Caption:='您输入的站点不存在,请重新输入';建议你查看一下帮助,或者去下载一个有关Delphi教学的,如Delphi入门,Delphi开发指南之类的先看一下。