procedure TForm1.Button1Click(Sender: TObject);
begin
//edit1.text:='(qydm>=01) and (qydm<=01ZZ)'
ADOTable1.Filtered:=true;
ADOTable1.Filter:=edit1.text;
end;
begin
//edit1.text:='(qydm>=01) and (qydm<=01ZZ)'
ADOTable1.Filtered:=true;
ADOTable1.Filter:=edit1.text;
end;
解决方案 »
- 求DLL封裝CHILD FORM的實例,有的朋友發份給我,謝了,DELPHI的實例
- dbgrid 小问题
- 关于opendialog的问题.
- 如何计算图像中闭合曲线所围区域的面积?
- 想买个移动硬盘,大家给个建议啊!
- 数据量大时,clientdataset设为open时程序出现死掉现象?
- 求救,FORM+DLL的高级疑难问题,请高手指教
- 问2个DB数据库的问题?高分请教!
- delphi 编写软件出现漰溃的时候,像QQ一样可以出现重启界面!如何实现?
- [高手请进,SQL服务器数据备份方案(程序中)]
- 哪位高手能把mdi窗体中菜单项最上面的一行的颜色变掉?
- 關於時間運算:Time 加上一分鐘怎麼寫呢?Time+60,好象不對。
ADOTable1.Filter:=' (qydm >= ''01'') and (qydm <= ''01ZZ'') '试试吧!
begin
//edit1.text:='(qydm>=01) and (qydm<=01ZZ)'
ADOTable1.Filtered:=False;
ADOTable1.Filter:=edit1.text;
ADOTable1.Filtered:=true;
end;
应该是数据类型问题
Edit .Text ='(qydm=01 or qydm>01) and (qydm<01ZZ or qydm=01ZZ) '
你说的没错,但是我要过滤的条件必须由程序返回的,不能直接写成你那样。
//edit1.text:='qydm>=''01'' and qydm<=''01ZZ'''
‘01’开头的纪录?
如果是的话,试一下:
//edit1.text:='qydm=''01*'''
var
Str1, Str2, Str: String; Str1:= '01';
Str2:= '01ZZ';
Edit1.Text:= 'qydm >= ''' + Str1 +'''' + ' and qydm <= ''' + Str2 + '''';这只是处于程序代码上的考虑,不过我认为最好在数据库的表中针对QYDM增加一个簇索引,这样可能会好一些;
if currnode<>treeview1.items.item[0] then
begin
s:=strleft(currnode.Text,#32);
gltree:='('+'dqdm>='+''''+s+''''+')'+' '+' and '+' '+'('+'dqdm<='+''''+s+'ZZZZ'+''''+')';
if combobox1.ItemIndex=0 then glcombobox:=''
else glcombobox:=' '+' and '+' '+'('+'hymc='+''''+ combobox1.Items[combobox1.Itemindex]+''''+')'; if ADOTable2.Active=false then ADOTable2.Active:=true;
ADOTable2.Filter:=gltree+glcombobox;
showmessage(ADOTable2.Filter);
ADOTable2.filtered:=true;
atreenode:=currnode;
//atreenode:=treeview1.selected;
end;
end;
你过滤的是字符串,当然不能这么写了
ADOTable1.Filter:=' (qydm >= ''01'') and (qydm <= ''01ZZ'') '
_______ __________
s1 s2
试试吧!
以上代码是可以通过,但是
我在程序中得到s1和s2,上面的代码什么去改?
ADOTable1.Filter:='(qydm >=''''+edit1.text+'''') and (qydm <= ''''+edit2.text+'''')
其中分别在edit1,edit2中写入过滤条件的上下边界
ADOTable1.Filter:='(qydm >='''+edit1.text+''') and (qydm <= '''+edit2.text+''')
手边没有delphi,抱歉
你要保证拼接完成的字符串中比较的字段用引号包含,即:'S1';
在DELPHI中 用连续两个单引号拼在字符串中形成一个单引号,你多试试吧