| 
| 
 | Вопрос # 839/ вопрос открыт / | 
 |  Здравствуйте, эксперты!Пара вопросов связанных с компонентами, относящихся к БД:
 1)Какое свойство компонента TTable обеспечивает установку на первую запись?
 2)Какое свойство определяет конец таблицы?
 
 И третий вопрос, он побольше:на форме присутствуют следующие компоненты: DBGrid1, DBNavigator1, DbComboBox1, Table1, DataSource1 и Button1, все они связаны между собой(кстати, программа создана для просмотра уже готовой базы данных, Table1.TableName - country.db; Table1.DatabaseName - DBDEMOS; DBComboBox1.DataField - Name{название страны}), при таком раскладе: щёлкаем по любому полю в DBGrid\'e1 и в DBComboBox\'е1 отображается название страны, например: Argentina, Cuba;
 Нужно создать событие от нажатия кнопки Button1, чтобы в DBComboBox1 поместить отсортированный по алфавиту список стран, которые имеются в данный момент в БД.
 
|  |   Вопрос задал: Полушин Сергей Анатольевич (статус: Посетитель)Вопрос отправлен: 8 августа 2007, 16:58
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Градов Ю.М. Здравствуйте, Полушин Сергей Анатольевич!По первым двум вопросам:
 Table1.First; - первая запись
 Table1.Last; - последняя запись
 
|  | Ответ отправил: Градов Ю.М. (статус: 8-ой класс)Время отправки: 8 августа 2007, 21:48
 
 |  
 Мини-форум вопросаВсего сообщений: 16; последнее сообщение — 8 августа 2007, 17:48; участников в обсуждении: 2. 
|   | Вадим К (статус: Академик), 8 августа 2007, 17:08 [#1]:по первому вопросу Table1.first
 Узнать конец таблицы
 Table1.eof
 третий вопрос. Я бы поставил Query и написал запрос вида select distinct CountryField from country.db order by CountryField
 
 distinct - заставит выбирать неповторяющиеся записи.
 order by CountryField - отсортировать.
 CountryField - это имя поля, для которого производиться данная операция
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:08 [#2]:помоему нужно из DBGrid1 доставать простые строки простым цыклом и добавлять эти строка в DBComboBox1, а как их туда добавить-то |  
|   | Вадим К (статус: Академик), 8 августа 2007, 17:14 [#4]:нельзя так. в DBComboBox1 просто так записи не добавляются Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Вадим К (статус: Академик), 8 августа 2007, 17:16 [#5]:к тому же, вам нужно будет отфильтровать записи, что бы небыло одинаковых, и отсортировать. а в моём случае, даже кода не надо Не помню я эту таблицу, но названия стран могут и не повторятся
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:17 [#6]:вот вот условие такое, именно DBComboBox, стоял бы DBLookupComboBox1, я б ща тут не сидел |  
|   | Вадим К (статус: Академик), 8 августа 2007, 17:21 [#9]:используйте TQuery и не партесь. Или нужно в подробностях расписывать как это сделать? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Вадим К (статус: Академик), 8 августа 2007, 17:22 [#10]: Цитата: Query я не в праве ставить
 
 Религия? автомат у спины?
 Тут уже я не помогу.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:25 [#11]:Query я знаю и знаю как им пользоваться, просто условие задачи такое 
 P.S. я в заочной школе учусь, мы с вами уже что-то обсуждали, пару каких-то глупых вопросов
 |  
|   | Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:37 [#12]:У DBComboBox есть свойство Sorted(Boolean), оно типа по алфавиту все сведения сортирует, а как сделать-то чтобы там целый список в развёртке был |  
|   | Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:39 [#14]:В задании присутствует такой вопрос: Как вы можете выбрать из таблицы любое строковое поле?
 |  
|   | Вадим К (статус: Академик), 8 августа 2007, 17:46 [#15]:Порылся у себя в исходниках если просто хочеться иметь список, то можно.
 где то так
 procedure TForm1.Button1Click(Sender: TObject);
 var sl:TStringList;
 begin
 sl:=TStringList.Create;
 sl.Sorted:=true;
 sl.Duplicates:=dupIgnore;
 Table1.First;
 while not Table1.Eof do
 begin
 sl.Add(Table1.Fields[1].AsString);
 Table1.Next;
 end;
 DBComboBox1.Items.Assign(sl);
 sl.Free;
 end;
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Вадим К (статус: Академик), 8 августа 2007, 17:48 [#16]: Цитата: Как вы можете выбрать из таблицы любое строковое поле?
 
 Два варианта.
 1) вначале перейти на нужную запись, а потом выбрать нужное поле
 2) сиквел запросом выбрать нужную строку, а потом оттудова вытягивать поле
 Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |