powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как добавить программно новый столбец в таблицу?
9 сообщений из 9, страница 1 из 1
как добавить программно новый столбец в таблицу?
    #32245714
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет. Подсунули программу на Access, а я новичок в этом.

импортирую свободную, внешнюю таблицу .mdb в свою базу данных. Потом надо программно добавить в нее новый столбец. Как это сделать?
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245731
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проще всего через SQL
Код: plaintext
CurrentDb.Execute  "ALTER TABLE meTable ADD COLUMN myField TEXT(120 );"
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245893
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim dbs As Database
Dim T1 As Recordset, T2 As Recordset, T3 As Recordset
Dim ok As Variant

Set dbs = DBEngine.Workspaces(0).Databases(0)
Set T1 = dbs.OpenRecordset("История услуг АПП", dbOpenDynaset)
Set T2 = dbs.OpenRecordset("Городские", dbOpenDynaset)

If yn = 7 Then
Exit Function
End If

myTable = "История услуг АПП"
myField = "who"
CurrentDb.Execute "ALTER TABLE myTable ADD COLUMN myField TEXT(15);"

У меня ошибку выдает, что не может найти таблицу или индекс.
Что делаю не так?
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245911
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы же формируете строку c использованием переменной
Код: plaintext
1.
2.
myTable =  "История услуг АПП"  
myField =  "who"  
CurrentDb.Execute  "ALTER TABLE "  & myTable &  " ADD COLUMN "  & myField &  " TEXT(15 );"
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245939
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще и имя таблицы с пробелами. Извиняюсь, тогда так
myTable = "История услуг АПП"
myField = "who"
CurrentDb.Execute "ALTER TABLE [" & myTable & "] ADD COLUMN " & myField & " TEXT(15);"
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245944
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да.....
Так все равно не работает.... Пишет, что ошибка синтаксиса в инструкции Alter Table....
Что еще не так?
Может таблицу не так открываю или еще что?
Подскажите. :) Ну новичок я в Аксесе...... и спросить не у кого.. :(
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245971
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim td As TableDef
Set td = CurrentDb.TableDefs![История услуг АПП]

Dim fld As Field
Set fld = td.CreateField( "who" , dbText,  15 )

td.Fields.Append fld
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245976
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо )))))))
...
Рейтинг: 0 / 0
как добавить программно новый столбец в таблицу?
    #32245981
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае
Dim sSQL AS String
sSQL = "Нечто вычисляемое в зависимости от"
CurrentDb.Execute sSQL

при ошибке: в отладчике спрашиваем:
?sSQL

, если ошибок в строке глазом не видим - тащим в окно запроса и там доводим до ума. Затем решаем обратную задачу (составление правленной строки SQL в VBA коде).

В вашем случае просто имеет смысл сделать все подстановки самому (они у Вас не меняются):

Const sSQL = "ALTER TABLE [История услуг АПП] ADD COLUMN who TEXT(15);"

туда подставляете "отлаженную" строку из конструктора запросов (вид "SQL").
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как добавить программно новый столбец в таблицу?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]