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 程序退出时删除自身

获取 ip138 ip 地址

Delphi shellexecute openurl 的跨平台实现

Delphi为你的窗体有效地提供剪贴板的相关操作

Delphi 将strings合并成一个逗号分隔的字符串,用于sql

Delphi创建桌面快捷方式及锁定任务栏等功能

Delphi d10.x 在安卓app开发中使用jar包的注意事项

Delphi 24位真彩色图形转化为ico文件

Delphi-xe5-开发 android uri简介

Delphi 62 进制的简单实现

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



打赏

取消

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

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

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

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

评论

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