Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2012, 17:09   #1
pirat2k
Пользователь
 
Регистрация: 28.11.2012
Сообщений: 34
По умолчанию Как программно открыть БД Acces через делфи

я хочу чтобы из комбобокса название таблицы передавались в adotable.tablename А как это сделать я не знаю. Вот код:
if OpenDialog1.Execute then
With AdoConnection1 do
begin
Connected :=false;//закрываем сущ. соединение
ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0 ;'+
'Data Source=' +OpenDialog1.FileName+
';Persist Security Info=false'; //формируем новую строку подключения
Connected :=true;
end;
ADOConnection1.GetTableNames(ComboB ox1.Items,false);
Вложения
Тип файла: rar бд.rar (2.10 Мб, 14 просмотров)

Последний раз редактировалось pirat2k; 28.11.2012 в 22:47. Причина: Добавление исходника
pirat2k вне форума Ответить с цитированием
Старый 28.11.2012, 23:29   #2
pirat2k
Пользователь
 
Регистрация: 28.11.2012
Сообщений: 34
По умолчанию

проблема разрешилась

procedure TForm1.Button1Click(Sender: TObject);
var
i:OleVariant;
begin
if OpenDialog1.Execute then
With AdoConnection1 do
begin
Connected :=false;//закрываем сущ. соединение
ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0 ;'+
'Data Source=' +OpenDialog1.FileName+
';Persist Security Info=false'; //формируем новую строку подключения
Connected :=true;
end;
ADOConnection1.GetTableNames(ComboB ox1.Items,false);
ADOTable1.TableName:=ComboBox1.Item s[i];;



AdoTable1.Active :=true; // отображаем таблицу
pirat2k вне форума Ответить с цитированием
Старый 28.11.2012, 23:40   #3
pirat2k
Пользователь
 
Регистрация: 28.11.2012
Сообщений: 34
По умолчанию

теперь когда более 2 таблиц отображается только 1, помогите как быть?
pirat2k вне форума Ответить с цитированием
Старый 29.11.2012, 08:32   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Цитата:
Сообщение от pirat2k Посмотреть сообщение
Код:
  ADOTable1.TableName:=ComboBox1.Items[i];;
Это что за ерунда ? Мало того что 2 т/з, так ещё и индекс по I: olevariant идёт.

Тем более если предполагается смена отображаемых таблиц, то надо выносить код выбора таблицы отдельно.
Примерно так: дать комбобоксу событие смены ( а ещё лучше сделать кнопку типа "открыть таблицу", которую пользователь жмет после выбора из списка) и в обработчике написать
Код:
procedure TForm1.BopenClick(Sender: TObject);
begin
  ADOTable1.Active := False;
  if combobox1.Text = '' then
    exit;
  ADOTable1.TableName := combobox1.Text;
  ADOTable1.Active := True;
end;
Комбобокс лучше сразу сделать со style = csDropdownList чтобы не позволять вписывать имя таблицы, а выбирать.
На будущее - оформляйте код по правилам - при редактировании кнопочка # или тег Code
phomm вне форума Ответить с цитированием
Старый 29.11.2012, 17:49   #5
pirat2k
Пользователь
 
Регистрация: 28.11.2012
Сообщений: 34
По умолчанию

спасибо помогло
pirat2k вне форума Ответить с цитированием
Старый 03.05.2017, 14:43   #6
TreyTanya
 
Регистрация: 03.05.2017
Сообщений: 4
По умолчанию

Помогите пожалуйста у меня вообще не выводит список таблиц
TreyTanya вне форума Ответить с цитированием
Старый 03.05.2017, 14:51   #7
TreyTanya
 
Регистрация: 03.05.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Это что за ерунда ? Мало того что 2 т/з, так ещё и индекс по I: olevariant идёт.

Тем более если предполагается смена отображаемых таблиц, то надо выносить код выбора таблицы отдельно.
Примерно так: дать комбобоксу событие смены ( а ещё лучше сделать кнопку типа "открыть таблицу", которую пользователь жмет после выбора из списка) и в обработчике написать
Код:
procedure TForm1.BopenClick(Sender: TObject);
begin
  ADOTable1.Active := False;
  if combobox1.Text = '' then
    exit;
  ADOTable1.TableName := combobox1.Text;
  ADOTable1.Active := True;
end;
Комбобокс лучше сразу сделать со style = csDropdownList чтобы не позволять вписывать имя таблицы, а выбирать.
На будущее - оформляйте код по правилам - при редактировании кнопочка # или тег Code
Помогите пожалуйста у меня вообще не выводит список таблиц
TreyTanya вне форума Ответить с цитированием
Старый 03.05.2017, 15:02   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от TreyTanya Посмотреть сообщение
Помогите пожалуйста у меня вообще не выводит список таблиц
исходники проекта выложите (запакуйте в архив, архив прикрепите к сообщению на форуме (см. Управление вложениями).
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] как открыть *.png программно? Ax_32 Помощь студентам 2 26.11.2010 21:35
как программно открыть порт? sum42 Общие вопросы по Java, Java SE, Kotlin 7 23.01.2010 16:09
Как программно открыть dvd rom в delphi 2005 нью Помощь студентам 13 17.11.2009 23:43
Как открыть свойства обозревателя программно? Denisko Общие вопросы Delphi 9 28.04.2009 18:52
Как мне программно открыть окно свойств како-го нить файла? Altera Компоненты Delphi 2 13.04.2008 16:07