ADOTable1.Filtered := false;
ADOTable1.Filter := 'LIST_USER_ID =''+ID+'' and (Format(LIST_DATE,''yyyy-mm'') =''+Format(now,''yyyy-mm'')+'' ;
ADOTable1.Filtered := True;
ADOTable1.Filter := 'LIST_USER_ID =''+ID+'' and (Format(LIST_DATE,''yyyy-mm'') =''+Format(now,''yyyy-mm'')+'' ;
ADOTable1.Filtered := True;
解决方案 »
- 要过年了,给D版忙了一年的兄弟们发点响 :)
- 没有用Tform 自己建立窗体 怎么处理消息?
- 急:自绘制图形的打印 UP 有分 《200分相送》
- 急!!!怎样改变DBGrid的每列宽度.在线等
- SPCOMM接收数据后的显示问题
- 救急啊,谢谢
- 有用过webbrowser直接显示memorystream流的大虾吗??
- 急!急!急!急!亲爱的大虾们,只有你们能救我了,恳请您的帮助,三层数据库系统,关于图片数据提交时的错误:
- 怎样解决 date changed by another users
- XLSReadWrite 写的时候为什么会有上次的残留内容呢?这些残留该怎么清理?
- 小弟第一次用 reportmachine,遇到2个小问题?弟兄们帮忙哦。。
- 杭州的Delphi程序员工资可以达到多少?
[Error] Unit7.pas(81): Unterminated string
[Error] Unit7.pas(82): Missing operator or semicolon
[Fatal Error] Project1.dpr(19): Could not compile used unit 'Unit7.pas'
ADOTable1.Filter := 'LIST_USER_ID = ' + quotedstr(ID) + ' and (Format(LIST_DATE,''yyyy-mm'') = ' + quotedstr(Format(now,''yyyy-mm''));
如果LIST_USER_ID是数字型(ID是变量)
ADOTable1.Filter := 'LIST_USER_ID = ' + ID + ' and (Format(LIST_DATE,''yyyy-mm'') = ' + quotedstr(Format(now,''yyyy-mm''));ADOTable1.Filtered := True;
1.SQLServer:
ADOTable1.Filter := 'LIST_USER_ID ='+ID+' and Convert(Char(7), LIST_DATE, 20)='+QuotedStr(FormatDateTime('yyyy-mm', Date());
2.Access:
ADOTable1.Filter := 'LIST_USER_ID ='+ID+' and Format(LIST_DATE,''yyyy-mm'')='+FormatDateTime('#yyyy-mm#', Date());
我用你的方法2试了一下提示如下:
Project Project1.exe raised exception class EOleException with message '变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。'. Process stopped. Use Step or Run to continue.
ADOTable1.Filtered := false;
ADOTable1.Filter := 'LIST_USER_ID ='+ID+' and (Format(LIST_DATE,''yyyy-mm'') ='''+FormatDateTime('yyyy-mm',now)+'''' ;
ADOTable1.Filtered := True;编译通过
在我这不编译是通过了,可是打开功能时提示如下,这是为什么是什么因原啊
Project Project1.exe raised exception class EOleException with message '项目在所需的名称或序数中未被发现。'. Process stopped. Use Step or Run to continue.
表结构是什么样的??
LIST_USER_ID 文本
LIST_DATE 日期/时间
uses DateUtils;
...
'LIST_USER_ID ='+ID+' and LIST_DATE>=#'+ FormatDateTime('yyyy-mm-', Date())+'01'+'#'+ 'and LIST_DATE<=#'+ FormatDateTime('yyyy-mm-', Date())+IntToStr(DaysInMonth(Date())) +'#';
weizi2000(秋风啊) 我没用过你说的这种方法,不太知道你是什么意思,你给你的段代码,按你的方法,应是放在什么地方啊,请明示
你用ADOQuery吧
str:='select * from a where LIST_USER_ID ='''+ID+''' and Format(LIST_DATE,''yyyy-mm'') ='''+FormatDateTime('yyyy-mm',now)+'''' ;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(str);
ADOQuery1.Open;
var
ID,monstr:string;
begin
ID:='2';
monstr:=DateToStr(LastDayOfMonth(Date));
ADOTable1.Filtered := false;
ADOTable1.Filter := 'LIST_USER_ID ='''+ID+''' and LIST_DATE>= '''+Copy(monstr,1,length(monstr)-2)+'1'' and LIST_DATE<= '''+monstr+'''';
ADOTable1.Filtered := True;
ADOTable1.Active:=true;end;
uses DateUtils;
...
ADOTable1.Filtered := false;
ADOTable1.Filter := 'LIST_USER_ID ='+QuotedStr(ID)+' and LIST_DATE>=#'+ FormatDateTime('yyyy-mm-', Date())+'01'+'# and LIST_DATE<=#'+ FormatDateTime('yyyy-mm-', Date())+IntToStr(DaysInMonth(Date())) +'#';
ADOTable1.Filtered := true;
LIST_USER_ID ='2' and LIST_DATE>= '04-5-1' and LIST_DATE<= '04-5-31'
看能不能通过
因为数据已经全部得到,
只是filter一下罢了
正确的方法应该用sql语句来得到