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

Вниз

Таблица и EOF   Найти похожие ветки 

 
Morgan128   (2011-02-20 20:49) [0]

Народ, помогите, съел уже весь мозг.
Есть в Аксесе таблица, в ней 4 поля.
При открытии программы делаю:
procedure TForm1.FormCreate(Sender: TObject);
begin
Table2.Open;
Table2.First;
While NOT Table2.Eof do
 begin
   CBox1.Items.Add(Table2["name"]);
   Table2.Next;
 end;
Table2.Close;
end;

Отрабатывает на ура.
Но потом, в другой процедуре выполняю поиск по этой же таблице:
Table2.Open;
     Table2.First;
     While not Table2.EOF do ...

И сразу вылетаю из цикла, так как Table2.EOF = True. Как такое возможно сразу после открытия и команды First?


 
clickmaker ©   (2011-02-20 20:53) [1]

> Как такое возможно сразу после открытия и команды First?

когда таблица пустая


 
Morgan128   (2011-02-20 21:02) [2]

в таблице 4 записи, не пустые. в комбобокс добавляются все 4 нормально, и видно их все.


 
Anatoly Podgoretsky ©   (2011-02-20 21:06) [3]

> Morgan128  (20.02.2011 20:49:00)  [0]

Другой запрос, другой компонент.


 
Morgan128   (2011-02-20 21:09) [4]


> Другой запрос, другой компонент.

Полезный, вдумчивый ответ.


 
sniknik ©   (2011-02-20 21:11) [5]

> Table2
???
как вы уже достали... фильтр небось стоит...

сначала игнорируют все возможные советы/правила/доку/хелп,  после "съедают весь мозг".


 
sniknik ©   (2011-02-20 21:13) [6]

> выполняю поиск по этой же таблице:
> ...
> While not Table2.EOF do
поиск так не делается.


 
Morgan128   (2011-02-20 21:19) [7]

чем не поиск перебором записей таблицы?
Только не надо про SQL.


 
Morgan128   (2011-02-20 21:20) [8]

Первая описанная процедура работает. Почему вторая нет?


 
Morgan128   (2011-02-20 21:21) [9]


> sniknik ©   (20.02.11 21:11) [5]
>
> > Table2
> ???
> как вы уже достали... фильтр небось стоит...
>
> сначала игнорируют все возможные советы/правила/доку/хелп,
>   после "съедают весь мозг".

ответ не специалиста а ленивого троля :)
Фильтров на этой таблице нет вообще, иначе бы указал.


 
И. Павел ©   (2011-02-20 21:22) [10]


> Morgan128   (20.02.11 20:49)

Просто выведите таблицу в какой-нибудь DataSet, поставьте abort после второго open и посмотрите, отображается ли что-нибудь в DataSet.


> While NOT Table2.Eof do
>  begin
>    CBox1.Items.Add(Table2["name"]);
>    Table2.Next;
>  end;

Велосипед. Так делать полезно только в редких случаях, а в общем случае для этого есть LoockupListBox). А для поиска  есть Locate.


 
И. Павел ©   (2011-02-20 21:23) [11]


> чем не поиск перебором записей таблицы?
> Только не надо про SQL.

А еще можно ходить вверх ногами, на руках. Но далеко так не уйти...


 
Morgan128   (2011-02-20 21:26) [12]

2 И. Павел
1. спс, попробую
2. что делать, привычка. Для маленькой БД можно и так обойтись.


 
Anatoly Podgoretsky ©   (2011-02-20 21:29) [13]


> Только не надо про SQL.

Так ты еще и SQL использовать не хочешь.



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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1297097095
***
2011-02-07 19:44
2011.05.29
Промо ролик демонстраций по физике НИЯУ МИФИ


15-1297258085
Tonick2001
2011-02-09 16:28
2011.05.29
Отключение рекции на событие


9-1189415446
Help me!
2007-09-10 13:10
2011.05.29
Есть какая-нибудь разница в способе создания MIPMAP?


15-1297716299
Mark
2011-02-14 23:44
2011.05.29
Слонение топонимов для украинского языка


10-1174567553
Indigoo
2007-03-22 15:45
2011.05.29
"Range check error" в ActiveX