Blog信息 |
blog名称:注册会计师(注会)练习软件 日志总数:398 评论数量:116 留言数量:27 访问次数:3265484 建立时间:2005年6月6日 |

| |
[delpih编程]having 的用法 软件技术
吕向阳 发表于 2009/9/19 22:59:07 |
QRYA.close; QRYA.sql.clear; QRYA.sql.add('select max(cls_ssy_qkqt_all.ssy) as ssy,max(ssy.name) as ssyname ,sum(cls_ssy_qkqt_all.qk) as qk ,sum(cls_ssy_qkqt_all.qt) as qt from cls_ssy_qkqt_all ,ssy'); QRYA.sql.add('where ssy.id=cls_ssy_qkqt_all.ssy'); QRYA.sql.add('group by cls_ssy_qkqt_all.ssy'); QRYA.sql.add('having sum(cls_ssy_qkqt_all.qk)>0 or sum(cls_ssy_qkqt_all.qt)>0');
======
原来用having qk时一直不通过,尽管上面qk表示sum(cls_ssy_qkqt_all.qk)的别名了,access 不承认。 |
|
[delpih编程]union 连接出现的例外情况 软件技术
吕向阳 发表于 2009/9/19 22:41:26 |
A库 AA,BB,CC ...等字段
B库 AA,BB,CC ...及其他字段 使用select语句进行联合:
select aa,bb,cc from a union select aa,bb,cc from b
经反复测试绝大部分时候正确,但如果表里面有AA,BB,CC均相同的记录有多条 时,只按一条处理。
搞得摸不到头脑,最后在查询中都加入了一个关键字段(不可重复值),问题解决
结论:select语句中,当使用union联合查询时,如果查询的所有字段值均相同的记录视为一条 处理。注意此处陷井。
|
|
[delpih编程]dbgrideh数字字段不显示零值 软件技术
吕向阳 发表于 2009/9/17 18:26:16 |
procedure Tfmssyreturn.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); begin
if Column.FieldName = 'pay1' then if Column.Field.AsInteger = 0 then TDBGrid(Sender).Canvas.FillRect(Rect);
if Column.FieldName = 'pay2' then if Column.Field.AsInteger = 0 then TDBGrid(Sender).Canvas.FillRect(Rect);
if Column.FieldName = 'sl' then if Column.Field.AsInteger = 0 then TDBGrid(Sender).Canva |
|
[delpih编程]DOTable排序 【转】 软件技术
吕向阳 发表于 2009/9/17 12:09:00 |
众所周知,用adoquery实现排序很简单,用ADOTable排序如何实现呢?其实也很简单,用sort来做。具体用法如下: 1、ADOTable.sort:=’apptime’;
2、如果想要控制正序反序 ADOTable元件使用Sort属性进行排序,Sort属性语法如下,预设值是升幂ASC,值得注意的是,ASC与DESC一律都必须大写才行 例子:ADOTable1.Sort:=’FieldName Desc’ 或ASC
delphi安装目录下有一个adotest的例子就有这个功能,看看dbgrid的TitleClick事件就知道了,如下:
以下是引用片段:
procedure TADODBTest.GridTitleClick(Column: TColumn); var DataSet: TDataSet; begin if not FMovingColumn then b |
|
[delpih编程]adotable的更新问题 软件技术
吕向阳 发表于 2009/9/17 11:40:18 |
经常会用到insert update对表进行了更新插入操作,如果用adotable对该表进行联接,你会发现刚才插入修改操作对adotable没有生效。
有人建议,此时
adoquery1.close;
adoquery1.open;进行刷新
====此时我建议
adoquery1.requery
对数据 表的操作不建议使用append ,edit ,post这样操作效率低,且会发生共享出错,虽然它可动态反映到界面上。
adoquery1.requery可解决不能刷 新的问题
|
|
[delpih编程]保存的各函数 收藏 【转】 软件技术
吕向阳 发表于 2009/9/17 11:05:22 |
保存的各函数 收藏 unit MySys;
interface
uses Windows, shlObj, Variants, StdCtrls, ComObj, Classes, SysUtils, Controls, Printers, Messages, mmSystem, ComCtrls, UrlMon, winsock, TLhelp32, Registry, Forms, Graphics, IniFiles, ADODB, StrUtils, ExtCtrls, jpeg, ShellAPI, Math, MSHTML,IdStack,OleCtrls, SHDocVw,ActiveX,WinInet;
type MyCharList = array[0..MAX_PATH] of Char; PRGBTripleArray = ^TRGBTripleArray; TRGBTripleArray = array[Byte] of TRGBTriple;
|
|
|