Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Неверное число записей в Access   Найти похожие ветки 

 
Algol   (2004-07-15 13:48) [0]

В процедуре происходит присоединение к 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 на единицу меньше, чем нужно


 
bushmen ©   (2004-07-15 13:54) [1]

А если сначала встать на последнюю запись в таблице, а уже потом вывести количество записей?


 
Algol   (2004-07-15 17:10) [2]

Тот же эффект ...


 
Digitman ©   (2004-07-16 08:55) [3]


> Algol


попробуй доступ к объектам базы не через Access.Application, а непосредственно через DAO.DBEngine


 
Algol   (2004-07-16 11:43) [4]

В общем, побороть не удалось. Баг какой-то ... Толи в COM, то ли в Эксесе.

Пришлось писать функцию:

   function GetRecCount:Integer;
   begin
   result:=0;
   Table.MoveFirst;
   While not Table.eof do
     begin
     inc(result);
     Table.MoveNext;
     end;
   end;


Тупо, но работает :))



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
14-1090245547
Ega23
2004-07-19 17:59
2004.08.08
Коллеги, подскажите форум.


14-1090274734
Piter
2004-07-20 02:05
2004.08.08
Отладка


14-1090360772
matt
2004-07-21 01:59
2004.08.08
Зеленый чай


6-1086534680
lena19
2004-06-06 19:11
2004.08.08
на что открыт доступ на текущем компе (где прога запущена)


14-1090761541
KaLLeKa
2004-07-25 17:19
2004.08.08
Как вычислить промежуток времени имея начальное время ?