-
Morgan128 (20.02.11 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? -
> Как такое возможно сразу после открытия и команды First?
когда таблица пустая -
Morgan128 (20.02.11 21:02) [2]в таблице 4 записи, не пустые. в комбобокс добавляются все 4 нормально, и видно их все.
-
Anatoly Podgoretsky © (20.02.11 21:06) [3]> Morgan128 (20.02.2011 20:49:00) [0]
Другой запрос, другой компонент. -
Morgan128 (20.02.11 21:09) [4]
> Другой запрос, другой компонент.
Полезный, вдумчивый ответ. -
> Table2
???
как вы уже достали... фильтр небось стоит...
сначала игнорируют все возможные советы/правила/доку/хелп, после "съедают весь мозг". -
> выполняю поиск по этой же таблице:
> ...
> While not Table2.EOF do
поиск так не делается. -
Morgan128 (20.02.11 21:19) [7]чем не поиск перебором записей таблицы?
Только не надо про SQL. -
Morgan128 (20.02.11 21:20) [8]Первая описанная процедура работает. Почему вторая нет?
-
Morgan128 (20.02.11 21:21) [9]
> sniknik © (20.02.11 21:11) [5]
>
> > Table2
> ???
> как вы уже достали... фильтр небось стоит...
>
> сначала игнорируют все возможные советы/правила/доку/хелп,
> после "съедают весь мозг".
ответ не специалиста а ленивого троля :)
Фильтров на этой таблице нет вообще, иначе бы указал. -
> 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. -
> чем не поиск перебором записей таблицы?
> Только не надо про SQL.
А еще можно ходить вверх ногами, на руках. Но далеко так не уйти... -
Morgan128 (20.02.11 21:26) [12]2 И. Павел
1. спс, попробую
2. что делать, привычка. Для маленькой БД можно и так обойтись. -
Anatoly Podgoretsky © (20.02.11 21:29) [13]
> Только не надо про SQL.
Так ты еще и SQL использовать не хочешь.