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

импортирую свободную, внешнюю таблицу .mdb в свою базу данных. Потом надо программно добавить в нее новый столбец. Как это сделать?
...
Рейтинг: 0 / 0
25.08.2003, 09:06
    #32245731
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как добавить программно новый столбец в таблицу?
проще всего через SQL
Код: plaintext
CurrentDb.Execute  "ALTER TABLE meTable ADD COLUMN myField TEXT(120 );"
...
Рейтинг: 0 / 0
25.08.2003, 11:16
    #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
25.08.2003, 11:25
    #32245911
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как добавить программно новый столбец в таблицу?
Вы же формируете строку c использованием переменной
Код: plaintext
1.
2.
myTable =  "История услуг АПП"  
myField =  "who"  
CurrentDb.Execute  "ALTER TABLE "  & myTable &  " ADD COLUMN "  & myField &  " TEXT(15 );"
...
Рейтинг: 0 / 0
25.08.2003, 11:39
    #32245939
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как добавить программно новый столбец в таблицу?
Еще и имя таблицы с пробелами. Извиняюсь, тогда так
myTable = "История услуг АПП"
myField = "who"
CurrentDb.Execute "ALTER TABLE [" & myTable & "] ADD COLUMN " & myField & " TEXT(15);"
...
Рейтинг: 0 / 0
25.08.2003, 11:43
    #32245944
nataSid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как добавить программно новый столбец в таблицу?
Ну да.....
Так все равно не работает.... Пишет, что ошибка синтаксиса в инструкции Alter Table....
Что еще не так?
Может таблицу не так открываю или еще что?
Подскажите. :) Ну новичок я в Аксесе...... и спросить не у кого.. :(
...
Рейтинг: 0 / 0
25.08.2003, 11:54
    #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
25.08.2003, 11:57
    #32245976
nataSid
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как добавить программно новый столбец в таблицу?
Спасибо )))))))
...
Рейтинг: 0 / 0
25.08.2003, 12:00
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как добавить программно новый столбец в таблицу? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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