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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2013, 20:49   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Изменить порядок колонок в таблице

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как с помощью SQL запроса поменять порядок столбцов в таблице access (Таблица_новая) ?

Следующий код ниже 1) копирует поля "поле1" и "поле2" из таблицы с именем "Таблица" и создает новую таблицу с этими полями с именем "Таблица_новая".
Затем 2) в таблицу "Таблица_новая" добавляется столбец с именем "Код" типа 'счетчик'.
' 1)
cmd = New OleDb.OleDbCommand("SELECT поле1, поле2 INTO Таблица_новая FROM Таблица ORDER BY поле1 ASC")
' 2)
cmd = New OleDb.OleDbCommand("ALTER TABLE Таблица_новая ADD Код counter")

Проблема в том, что столбец "Код" добавляется третим.
Подскажите пожалуйста, как сделать чтобы порядок столбцов в таблице "Таблица_новая" был: Код,поле1,поле2? Заранее спасибо.
ольгаг вне форума Ответить с цитированием
Старый 20.02.2013, 21:55   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А какя разница где поле? Но если очень хочется, то сначала создайте таблицу нужной структуры с помощью CREATE TABLE, а потом с помощью INSERT ... SELECT вcтавляйте записи
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.02.2013, 22:35   #3
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А какя разница где поле? Но если очень хочется, то сначала создайте таблицу нужной структуры с помощью CREATE TABLE, а потом с помощью INSERT ... SELECT вcтавляйте записи
Спасибо! По Вашему совету получилось. Но возник еще вопрос:
После создания таблицы:
cmd = New OleDb.OleDbCommand("CREATE TABLE Таблица_новая (Код counter, поле1 Int, поле2 Char(50))")
и добавления записей, получается что в "поле2" если символов меньше чем 50, то появляются пробелы. Подскажите пожалуйста, как это исправить в коде? Спасибо.
ольгаг вне форума Ответить с цитированием
Старый 20.02.2013, 23:06   #4
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Цитата:
Сообщение от ольгаг Посмотреть сообщение
Спасибо! По Вашему совету получилось. Но возник еще вопрос:
После создания таблицы:
cmd = New OleDb.OleDbCommand("CREATE TABLE Таблица_новая (Код counter, поле1 Int, поле2 Char(50))")
и добавления записей, получается что в "поле2" если символов меньше чем 50, то появляются пробелы. Подскажите пожалуйста, как это исправить в коде? Спасибо.
Большое спасибо. На последний вопрос нашла ответ.
ольгаг вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить порядок загрузки форм Lidiya585 Windows Forms 0 30.11.2012 17:15
Алфавитный порядок в таблице данных Vavrenyuk Общие вопросы Delphi 2 15.11.2012 00:13
Изменить порядок записей в ADOTable game_Racer БД в Delphi 10 01.04.2012 17:18
Перемещение колонок в таблице по условию Brine Microsoft Office Excel 7 13.12.2011 10:49
Изменить порядок слов в документе на обратный arthur_92 Microsoft Office Word 1 07.06.2011 00:14