Delphi里动态创建Access的交叉表视图


本文整理自网络,侵删。

 
const
  dbUseJet = $00000002;
var
  connection: OleVariant;
  DBEngine : OleVariant;
  DataBase : OleVariant;
  QueryDef : OleVariant;
  accessfile: string;
  sql: string;
begin
  accessfile := 'C:/db1.mdb';

  connection := CreateOleObject('Access.Application');
  DBEngine := connection.DBEngine;
  DBEngine.DefaultType := DBUseJet;
  DataBase := DBEngine.OpenDatabase(accessfile);
  sql := ' TRANSFORM first(FieldValue) '
      + ' SELECT ContactID FROM [SELECT a.FieldName, b.ContactID, b.FieldID, '
      + ' b.FieldValue FROM CustomField AS a, ContactFieldValue AS b WHERE '
      + ' a.RecordID = b.FieldID]. AS TmpTable GROUP BY ContactID PIVOT FieldName';
  QueryDef := Database.CreateQueryDef('V_CustomValue',sql);    
  connection.Close();
end;

相关阅读 >>

Delphi 将richedit的内容输出到一个image图像中

Delphi 键盘钩子的简单应用

Delphi 获取随机汉字的函数

Delphi 动画窗体

Delphi开发平台 raw socket

Delphi idhttp访问datasnap有密码验证的中间件

Delphi通过spcomm com口发短信包括pud编码解码

Delphi firedac获取自增长字段值

Delphi 制作资源文件并释放运行

Delphi版 随机窗口类名

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...