还是sql语句问题(50分)

  • 主题发起人 主题发起人 细数落花
  • 开始时间 开始时间

细数落花

Unregistered / Unconfirmed
GUEST, unregistred user!
使用adoquery对一个access表查询,表:table 字段: A、B、C
原来使用语句:select * from table where 条件
要求查询结果集里有一个字段能显示每条记录的recno
序号 A B C
1
2
3
要增加这个字段如何改写sql语句?
 
recno是什么啊
 
用临时表,建一个自增加字段,按照该字段排序输出
 
recno是每条记录的当前记录号
 
to dey-999:
我用的是ACCESS,建临时表使用完肯定要清空的,自增字段内容删除后,临时表里再添新记录,起始的自增值就不能是1了,我希望每次的查询,自增字段都从1开始,怎么办呢
[:(]
 
因为Access好久没有使用了,所以只好建议你的临时表是每次都重新建立,用完就删除
 
http://www.cnblogs.com/SGSoft/archive/2004/11/11/62591.html
 
select count(*), a1.A,a1.B,a1.C
from [yourtable] a1 inner join [yourtable] a2
on a1.A>= a2.A
group by a1.A,a1.B,a1.C
order by count(*)
在access中可以执行
如果数据量大的话这种方法会比较慢
 
双击AdoQuery控件把你需要的字段都AddField进来后,在NewField中加一个Integer类型的字段AUTOID,然后在AUTOID字段的事件中找到OnGetText事件写如下代码就OK了,然后设置界面上的序号字段的绑定为AUTOID
if AdoQuery.State in [dsInsert] then
Text:=IntToStr(AdoQuery.RecordCount+1)
else
Text:=IntToStr(AdoQuery.RecNo);
 
同意 Regedit418,
也可使用使用计算字段
 
to Regedit418:
按照你说的方法可以在dbgrid里显示序号,但打印的时候调用别的字段正常,调用这个字段就为空,这种添加的字段不能直接用来打印吗?
 

Similar threads

S
回复
0
查看
859
SUNSTONE的Delphi笔记
S
S
回复
0
查看
785
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部