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
 
Database Information Manager
Paradox ActiveX
Paradox Viewer
Excel Reader (dll)
ExcelFile Viewer
Paradox Password Recovery
Mail parser (ActiveX)
SMDBGrid
Protected Storage Viewer
Paradox to Text converter
 
 


Contact to webmaster

 

Borland Software Code Gear Scalabium Delphi tips

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

SMExport advertising