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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2013, 03:32   #1
Awesome96
Пользователь
 
Регистрация: 31.05.2012
Сообщений: 10
По умолчанию Создание полей (столбцов) в Access

Здравствуйте. Возникла такая проблема:
Использую Access через ADO. Создаю новое поле (столбец) в бд:
Код:
CurDate:=DateToStr(Now);
for i := 1 to Length(CurDate) do
  if CurDate[i]='.' then
    CurDate[i]:='-';
ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('ALTER TABLE Таблица ADD '+CurDate+' STRING NOT NULL UNIQUE');
ADOQuery.ExecSQL;
Выскакивает ошибка: ошибка синтаксиса при определении поля. Что делать?
Awesome96 вне форума Ответить с цитированием
Старый 09.02.2013, 10:09   #2
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

про FormatDateTime не слышали?
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 09.02.2013, 11:52   #3
Awesome96
Пользователь
 
Регистрация: 31.05.2012
Сообщений: 10
По умолчанию

Slym, нет, а можно по подробнее?
Awesome96 вне форума Ответить с цитированием
Старый 09.02.2013, 12:01   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

FormatDateTime и F1 решит все проблемы.

Вопрос - какой смысл создавать поле с таким именем. Предположил, что по каждой очередной текущей дате новое поле будет создаваться. Угадал? Если так, то это какой-то новый писк в подходах к работе с таблицами из базы данных
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.02.2013, 12:13   #5
Awesome96
Пользователь
 
Регистрация: 31.05.2012
Сообщений: 10
По умолчанию

Аватар, попробовал так:
Код:
CurDate:=FormatDateTime('dd-mm-yyyy', now)
но ошибка все равно осталась. Да, так. Нужно, что бы когда юзер откроет бд, пойдет проверка на наличие столбца с названием в виде текущей даты, и если его нет, то он создается.
Awesome96 вне форума Ответить с цитированием
Старый 09.02.2013, 12:20   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Поле с таким именем нужно в квадратные скобки брать - [25-07-2012]
И повторяюсь - это дурдом. Делай дочернюю таблицу и заноси туда записи с новыми датами. Первый раз вижу, что новые поля для таких целей создают
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.02.2013, 12:28   #7
Awesome96
Пользователь
 
Регистрация: 31.05.2012
Сообщений: 10
По умолчанию

Аватар, Сделал так:
Код:
ADOQuery.SQL.Add('ALTER TABLE Таблица ADD ['+CurDate+'] VARCHAR(50) NOT NULL UNIQUE');
появилась ошибка: "Не удается найти таблицу или индекс". Или я не там поставил скобки?
Цитата:
Сообщение от Аватар
Делай дочернюю таблицу и заноси туда записи с новыми датами.
Не могу. Нужно, что бы все записи были на одной таблице.
Awesome96 вне форума Ответить с цитированием
Старый 09.02.2013, 13:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Нужно, что бы все записи были на одной таблице.
По какой причине?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.02.2013, 13:32   #9
Awesome96
Пользователь
 
Регистрация: 31.05.2012
Сообщений: 10
По умолчанию

Stilet, Аватар, извините за тупой вопрос, но что такое дочерние таблицы? Как их создавать и где они будут находиться после создания?
Awesome96 вне форума Ответить с цитированием
Старый 09.02.2013, 14:20   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
что такое дочерние таблицы
Обычная таблица, у которой есть внешняя ссылка на другую таблицу. А лучше почитать доки по базам данных, подходы и способы организации связей между таблицами
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access проблема с виводом полей crowin Помощь студентам 1 13.07.2012 22:57
Объединение текстовых значений из полей таблицы (Access 2010) Mjaso Microsoft Office Access 7 28.04.2012 21:18
Отображение полей таблиц измерений Microsoft Access в сводной талице ECXEL andreyslad Microsoft Office Excel 6 15.02.2012 17:51
создание полей в ADOTable Spraty БД в Delphi 1 01.04.2011 18:30
выбор столбцов в access kuzmich БД в Delphi 1 13.01.2011 20:52