教程是这么说的:首先在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)???
procedure TForm3.Table1FilterRecord(DataSet:TDataSet;var Accept:Boolean);
begin
Accept:=DataSet[’站名’]=edit1.Text;
end;
但为什么我双吉TABLE组件不能显示代码编辑器呢 就谈出一个TFORM.TABLE的对话框有四个播放按纽而且都不能按的 还有这个组件是不是BDE里的TABLE(DBTABLES)???
begin
这段我不解 双击TABLE又出不来代码编辑器 我怎么对TABLE编码??
1、将table的connection连接到adoconnection
2、如果你已经连接,没有设置table的tablename属性其次,你如果想对这个事件进行编码,并不是所有的组件都允许双击来转换到其相应的代码编辑器中。因为对于一个组件其相应的事件太多了,它一般会选择经常用的,而你的这个FilterRecord事件,是其一个event.你在object inspector中,选择events页面,然后找到onFilterRecord双击右边的空格便可以实现。如果要让这个能够使用,必须设置Filtered属性为True;
如果改成ADO,你关联好数据控件后,ADOQuery、ADOTable、ADODataset它们都有FilterRecord事件,操作不会变的。Accept:=DataSet[’站名’]=edit1.Text;添加就可以了。
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这个方法?
if ADOQuery1.Locate('站名',Edit1.text,[]) then
label2.Caption:=''
else
label2.Caption:='您输入的站点不存在,请重新输入';建议你查看一下帮助,或者去下载一个有关Delphi教学的,如Delphi入门,Delphi开发指南之类的先看一下。