| 
| 
 | Вопрос # 5 104/ вопрос решён / | 
 |  Здравствуйте, уважаемые эксперты!Подскажите  как связать DBCombobox c  базой Access, чтобы в нем отображался список таблиц из базы, а после выбора таблицы содержимое появлялось в DBGrid????ПОМОГИТЕ ПЛИЗ!!!! 
|  |   Вопрос задал: Анучин (статус: Посетитель)Вопрос отправлен: 19 марта 2011, 14:23
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Чернышев Здравствуйте, Анучин!для примера у вас на форме находятся:
 - ADOConnection
 - AdoQuery (подключенный к ADOConnection)
 - DataSourse (подключенный к ADOQuery)
 - DBGrid (подключенный к DataSourse)
 - ComboBox
 
 Здесь 2 процедурыЖ
 - GetNames (заполняет ComboBox именами таблиц из базы данных)
 - процедура на событие OnChange ComboBox-а
 Приложение:Переключить в обычный режим procedure TForm1.GetNames();var x: TStrings; i: integer;begin x:=TstringList.Create; ADOConnection.GetTableNames(x,false); for i := 0 to x.Count - 1 do begin   ComboBox.Items.Add(x.Strings[i]); end; ComboBox.ItemIndex:=-1; x.Free;end; procedure TForm1.ComboBoxChange(Sender: TObject);var str: string;begin  ADOQuery.Close;  ADOQuery.SQL.Clear;  str:='select * from '+ComboBox1.Items[ComboBox1.ItemIndex];  ADOQuery.SQL.Add(str);  ADOQuery.Open;end;  
|  | Ответ отправил: Чернышев (статус: 1-ый класс)Время отправки: 19 марта 2011, 15:48
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 10; последнее сообщение — 19 марта 2011, 21:38; участников в обсуждении: 2. 19 марта 2011, 16:24: Вопрос перемещён из тематического раздела Delphi » Прочее в раздел Delphi » Программирование баз данных (БД) модератором Ерёмин А.А. 
|   | Анучин (статус: Посетитель), 19 марта 2011, 19:25 [#1]:Чернышев: Незнаю, вроде ввел все так вы написали, но в combobox ничего не появляется((((((( |  
|   | Анучин (статус: Посетитель), 19 марта 2011, 20:54 [#2]:Народ помогите кто чем может!!!!! |  
|   | Чернышев (статус: 1-ый класс), 19 марта 2011, 21:01 [#3]:напиши еще на событие формы OnShow 
 
 procedure TForm1.FormShow(Sender: TObject);
begin
  GetNames;
end; |  
|   | Анучин (статус: Посетитель), 19 марта 2011, 21:19 [#4]:то же не помогает пишет ошибка синтексиса приложении FROM |  
|   | Анучин (статус: Посетитель), 19 марта 2011, 21:22 [#5]:* в предложении FROM* |  
|   | Чернышев (статус: 1-ый класс), 19 марта 2011, 21:27 [#6]:пробел после from не забыл поставить? |  
|   | Анучин (статус: Посетитель), 19 марта 2011, 21:30 [#7]:нет не забыл |  
|   | Чернышев (статус: 1-ый класс), 19 марта 2011, 21:31 [#8]:у меня в это строчке ошибка 
 str:='select * from '+ComboBox1.Items[ComboBox1.ItemIndex];
 
 не ComboBox1, а ComboBox
 и проверь чтоб имена твоих элементов совпадали с теми к которым обращаешься в коде
 |  
|   | Анучин (статус: Посетитель), 19 марта 2011, 21:32 [#9]:прога теперь отображает в Combobox названия таблиц, но не показывает их содержимое в DBGrid и выдает эту ошибку: ошибка синтексиса в предложении FROM |  
|   | Чернышев (статус: 1-ый класс), 19 марта 2011, 21:38 [#10]:я понял ошибка происходит вот в этом куске:
 
 str:='select * from '+ComboBox.Items[ComboBox.ItemIndex];
 
 поставь останов на эту строку кода и посмотри чему у тебя равна переменная str
 |  19 марта 2011, 22:08: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |