Scalabium Software

SMReport Autogenerated

Knowledge for your independence'.
Home Delphi and C++Builder tips


#168: How can I process the records from query in MS Access?

Today I want to show how you may execute the stored query in MS Access database (mdb-file) and process the records in query (view).

In the sample code below you may see how do it in Delphi:

var
  access, db, td, queryDef, curField, Value: Variant;
  str: string;
  i: Integer;
begin
  { load a DAO in memory }
  access := CreateOleObject('DAO.DBEngine.36');

  {open a database}
  db := access.OpenDatabase(yourMDBFileName);

  {find the query by name}
  queryDef := NULL;
  td := db.QueryDefs;
  for i := 0 to td.Count-1 do
    if (td.Item[i].Name = TableName) then
    begin
      queryDef := td.Item[i];
      td := UnAssigned;
      break
    end;

  if not VarIsNull(queryDef) and not VarIsEmpty(queryDef) then
  begin
    recordset := queryDef.OpenRecordset;

    {navigate thru records in query}
    while not recordset.Eof do
    begin
      for i := 0 to recordset.Fields.Count-1 do
      begin
        curField := recordset.Fields.Item[i];
        str := curField.Name; // field name
        Value := curField.Value; // field value

        <do something with value>
      end;

      recordset.MoveNext;
    end;

    {close recordset instance}
    recordset.Close;
    recordset := NULL;
  end;

  {close database and DAO}
  db.Close;
  db := NULL;
  access := UnAssigned;
end;


Published: November 21, 2005

See also
 
Paradox to MS Access converter
SMImport suite
ABA Document Convert
Metafile Convert
SMReport
ExcelFile Viewer
Excel Reader (dll)
ABA Picture Convert
DBISAM Viewer
Clarion Viewer
 
 
Contact to webmaster

 

Borland Software Code Gear Scalabium Delphi tips

Copyright© 1998-2013, Scalabium Software. All rights reserved.
webmaster@scalabium.com

SMReport Autogenerated