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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2013, 18:13   #1
Chikoy
Пользователь
 
Регистрация: 30.04.2012
Сообщений: 11
Вопрос Как програмно создать столбец (поле) в БД access

Помогите пожалуйста решить проблему с добавлением в готовую таблицу базы данных access новое поле (столбец). Написание пошло с того что нужны были три поля (ФИО, дата, филиалы), для этого было сделано вот так
Table2.Active:= true;
Table2.First;//переход на первую запись
Table2.Insert;
Table2.fieldbyname('ФИО').AsString: =TButton(Sender).Caption;
Table2.fieldbyname('Дата').Value:=R ound(Now);
table2.Post;
Но на данный момент нужно чтоб имя button заносилось не в столбец ФИО а чтоб создавалось новое поле с названием button. Как это сделать не знаю, поэтому обращаюсь за помощью, помогите кто может, пожалуйста. База данных Access, работа с таблицами ведется при помощи ADO TABLE.
Chikoy вне форума Ответить с цитированием
Старый 15.02.2013, 18:19   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Но на данный момент нужно чтоб имя button заносилось не в столбец ФИО а чтоб создавалось новое поле с названием button
Что, каждый раз новое поле с именем button?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.02.2013, 06:21   #3
Chikoy
Пользователь
 
Регистрация: 30.04.2012
Сообщений: 11
По умолчанию

Смысл всего заключается в том что, в form1 создаются динамически button под названием псевдонима сотрудника (кол-во не более 12), которые записаны в этой же базе, но в другой таблице, далее при выборе нужного сотрудника открывается form2 с кнопками под названием филиалов, которые также создаются динамически и названия берутся с другой таблицы. И существует Form3 для отображения(мониторинга) работы сотрудников в конкретных филиалах, на этой форме используется stringGrid в которой отображается вся информация с той таблицы о которой шла речь в первом сообщении. В виде этого
-----ФИО-----------Дата---------Филиалы
Имя сотрудника---16.02.13---03, 16, 101, 05, 120
................................... ................................
................................... ................................
Имя сотрудника----18.02.13---08, 128, 150, 182

Вот для этого и нужно создавать новое поле с именем сотрудника, а записи для этого поля будут номера филиалов, так ведь понятнее будет сколько данный сотрудник обслуживает филиалов. Так должна выглядеть таблица в БД.
Дата-------Имя Сотрудника 1 Имя сотрудника 2 Имя сотрудника 3 .....
16.02.13--------05-----------------16-------------------128
16.02.13--------150----------------138------------------101
18.02.13---------14-----------------25-------------------37
19.02.13---------0------------------16-------------------28

Потом можно и статистику вести.

Последний раз редактировалось Chikoy; 16.02.2013 в 06:30.
Chikoy вне форума Ответить с цитированием
Старый 16.02.2013, 08:56   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Типа того, что структуру таблицы привязаля к тому, что на экране будет отображаться? А если стотрудкиков 50 станет (ну вдруг) - тоды полный абзац. Для добавления поля AdoQuery и SQL-запрос вида (уточните в описании SQL-синтаксиса для ACCESS)
Код:
ALTER TABLE MyTableName ADD MyColumnName VARCHAR(50)
Да, если бы я был преподом, то курсовую с таким дурацким устройством базы данных у меня ни одни студент в жизни бы не сдал. И вообще необходимость программного добавления полей говорит лишь о том, что база кардинально не правильно устроена
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 16.02.2013 в 09:11.
Аватар вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из простого мемо записать в поле БД Access в поле тоже типа мемо с сохранением всех абзацев пробелов Speeker БД в Delphi 2 28.11.2011 16:22
как програмно создать событие??? gufon Общие вопросы Delphi 7 07.06.2011 16:31
Как создать столбец который не будет отображаться при сохранении в формате csv? m837 Microsoft Office Excel 1 24.05.2011 01:04
как програмно создать TSpeedButton Angel86rus Общие вопросы Delphi 2 14.02.2010 21:33
Как в TChart создать серию, каждый столбец которой бы состоял из нескольких частей? IvanNasyrov Компоненты Delphi 4 26.06.2009 16:21