![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Неверное число записей в Access [D7]
Algol © (2004-07-15 13:48:00)В процедуре происходит присоединение к Access через COM.
При чтении таблицы все замечательно, НО Table.RecordCount выдает количество записей на единицу меньше, чем фактическое число записей. В чем может быть проблема?
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, Buttons, Menus, ExtCtrls ,ComObj, AccessXP, OleServer;
...
Acc:=CoAccessApplication.Create;
Acc.OpenCurrentDatabase(FileName,Empty,Empty);
Table:=Acc.CurrentDb.OpenTable(DefTableName,Empty);
i:=Table.RecordCount;//здесь i на единицу меньше, чем нужно
Algol (2004-07-16 11:43:00) [1]В общем, побороть не удалось. Баг какой-то ... Толи в COM, то ли в Эксесе.
Пришлось писать функцию:
function GetRecCount:Integer;
begin
result:=0;
Table.MoveFirst;
While not Table.eof do
begin
inc(result);
Table.MoveNext;
end;
end;
Тупо, но работает :))
Digitman (2004-07-16 08:55:00) [2]
> Algol
попробуй доступ к объектам базы не через Access.Application, а непосредственно через DAO.DBEngine
Algol (2004-07-15 17:10:00) [3]Тот же эффект ...
bushmen (2004-07-15 13:54:00) [4]А если сначала встать на последнюю запись в таблице, а уже потом вывести количество записей?