Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Создание таблицы access


Автор: Hellen 15.1.2009, 22:05
Использую  ADODataSet1,  ADOConnection1,  DataSours.
База Аксес.
 Необходимо чтоб пользователь смог создать таблицу.
Вообще у меня идея такая:
Пользователь вводит всякую разную информацию в едиты и в мемо,
А потом он нажимает кнопку сохранить, появляется окно с предложением ввести имя.
 (насамом деле это имя будущей таблицы)
Жмёт кнопку сохранить и данные из эдитов прыгают в поля созданой таблицы и POST.
 Пдскажите пжлста.

Подобные темы, честно просмотрела штук десять.........ни одна не подошла.....

Автор: Rodman 15.1.2009, 23:23
Код

ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('CREATE TABLE example (id INT, data VARCHAR(100));');
ADOQuery.ExecSQL;
вот пример создания таблицы

Автор: Hellen 15.1.2009, 23:38
Спасибо, а почему мы сначало закрываем?
Потомучто по умолчанию она.............?

Добавлено через 1 минуту и 56 секунд
data  -  это имя поля?

Автор: Rodman 15.1.2009, 23:40
закрываем на всякий пожарный... в программе мона юзать одну TADOQuery для всего, а это значит шо она в любой момент работы может быть открыта.. чтобы не помещать работе - лучше закрыть...

Автор: Hellen 15.1.2009, 23:43
А где имя базы???

Автор: Данкинг 15.1.2009, 23:44
Цитата(Hellen @  15.1.2009,  22:05 Найти цитируемый пост)
  DataSours

Гы. smile 

А таблицу создавать точно таким же запросом, как и в самом Access.  smile  smile 

Цитата(Hellen @  15.1.2009,  23:38 Найти цитируемый пост)
data  -  это имя поля? 

Угу, а VarChar - это тип поля. smile

Добавлено @ 23:45
Цитата(Hellen @  15.1.2009,  23:43 Найти цитируемый пост)
А где имя базы??? 

Базы? Она у тебя уже должна быть подключена к AdoConnection. Кстати, ADOQuery не забудь кинуть на форму. smile 

Автор: Rodman 15.1.2009, 23:49
Hellen, http://forum.vingrad.ru/index.php?show_type=forum&showtopic=174138&kw=%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9%D1%88%D0%B8%D0%B5-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B1%D0%B0%D0%B7%D0%BE%D0%B9

Автор: Hellen 15.1.2009, 23:54
Цитата

Гы


Data Source

Цитата

ADOQuery не забудь кинуть на форму.

Ну это я сообразила.

Всё получилось......... спасибо всем. smile 

Автор: Hellen 16.1.2009, 00:18
Цитата

почитай 


Спасибо, очень важные сведения для меня.
У меня по ходу родился ещё вопрос, таблицы то пользователь наштампует, а если их будет 500штук например?
чем это чревато?
Конечно он будет их удалять периодически, кто захочет  в этом муравейнике рыться.
И ещё: как я смогу организовать список (вывести название всех таблиц) для выбора и загрузки куда либо? 

Автор: Rodman 16.1.2009, 00:25
Код

t:Tstringlist; 
... 
ADOConnection.GetTableNames(t, false);
ShowMessage(t.text);

Автор: Данкинг 16.1.2009, 00:47
Цитата(Hellen @  16.1.2009,  00:18 Найти цитируемый пост)
таблицы то пользователь наштампует, а если их будет 500штук например?
чем это чревато?

С какой целью он их штамповать-то будет? Впрочем, ничем не чревато кроме размера файла БД.

Автор: Hellen 16.1.2009, 01:05
Цитата

С какой целью он их штамповать-то будет? Впрочем, ничем не чревато кроме размера файла БД

Пользователь вводит всякую разную информацию в едиты и в мемо,
А потом он нажимает кнопку сохранить, появляется окно с предложением ввести имя.
 (насамом деле это имя будущей таблицы)
Жмёт кнопку сохранить и данные из эдитов прыгают в поля созданой таблицы и POST.

как вам вообще идея?
или сохранять в файл будет проще?


Автор: Данкинг 16.1.2009, 02:20
Цитата(Hellen @  16.1.2009,  01:05 Найти цитируемый пост)
А потом он нажимает кнопку сохранить, появляется окно с предложением ввести имя.
 (насамом деле это имя будущей таблицы)

И зачем для каждого этого сохранения делать новую таблицу-то?? Что мешает сделать две таблицы: в одной - список пользователей с уникальным ID для каждого, а в другой - вся та инфа, которую пользователи вводят?  smile 

Цитата(Hellen @  16.1.2009,  01:05 Найти цитируемый пост)
как вам вообще идея?

Хм... smile Не хочу материться, я же культурный!!. smile 

Цитата(Hellen @  16.1.2009,  01:05 Найти цитируемый пост)
или сохранять в файл будет проще?

В какой файл - текстовый? Если информации много, то сохранение в текстовом файле отразится на скорости доступа. БД - самый оптимальный вариант.

Добавлено через 1 минуту и 50 секунд
Да, ещё вот это:
Цитата(Hellen @  16.1.2009,  01:05 Найти цитируемый пост)
 (насамом деле это имя будущей таблицы)

 - а если пользователь введёт нечто вроде "@#%%:%??????*())", тогда как?  smile 

Автор: Hellen 19.1.2009, 22:34
Цитата

И зачем для каждого этого сохранения делать новую таблицу-то?? 

Я это уже поняла, буду заносить данные в таблицу. (мне достаточно одной таблицы)


Цитата

БД - самый оптимальный вариант

Учтём

Цитата

а если пользователь введёт нечто вроде "@#%%:%??????*())"

Неднаю... ..наверно надо ему сказать что он не прав.

Добавлено через 4 минуты и 52 секунды
А у кого есть код вставить запись в существующую таблицу?
Запись будет храниться  в числовых переменных.

И как мне в ФастРепорт сделать отчет данных из переменных.?

Автор: Данкинг 19.1.2009, 23:07
Цитата(Hellen @  19.1.2009,  22:34 Найти цитируемый пост)
Неднаю... ..наверно надо ему сказать что он не прав.

Код

showmessage ('Юзер, ты не прав!');

 smile 

Цитата(Hellen @  19.1.2009,  22:34 Найти цитируемый пост)
А у кого есть код вставить запись в существующую таблицу?

У поиска по форуму есть. smile В общем случае так:
Код

AdoTable.Append;
AdoTable.FieldValues['pole']:='ЫЫЫЫ';
AdoTable.Post;


Цитата(Hellen @  19.1.2009,  22:34 Найти цитируемый пост)
И как мне в ФастРепорт сделать отчет данных из переменных.? 

А это уже совсем другая история... smile Т.е. тема. smile 

Автор: Hellen 19.1.2009, 23:14
Append - это что?
Я  думала будет  Select

Автор: Данкинг 19.1.2009, 23:17
Цитата(Hellen @  19.1.2009,  23:14 Найти цитируемый пост)
Append - это что?

Добавление новой записи в конец таблицы.

Цитата(Hellen @  19.1.2009,  23:14 Найти цитируемый пост)
Я  думала будет  Select 

 smile  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)