Главная страница
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.013 c
2-1297944223
Ghost del vonte
2011-02-17 15:03
2011.05.29
Указатель на последниий компонент потока


1-1255951017
kyn66
2009-10-19 15:16
2011.05.29
Поле Date в SQl запросе


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


15-1297379189
Кто б сомневался
2011-02-11 02:06
2011.05.29
Возможно ли технически поймать вирус без браузера


2-1298126730
Jumbo
2011-02-19 17:45
2011.05.29
Мультиязычное приложение