powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поле в таблице
4 сообщений из 4, страница 1 из 1
Поле в таблице
    #32862260
Mitja_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне надо добавить поле в таблицу ( Alter Table ..... )
Но перед добавлением я хочу проверить, есть ли в таблице поле с именем, которое я хочу добавить.
Как проверить есть ли поле (по имени) в таблице ?
...
Рейтинг: 0 / 0
Поле в таблице
    #32862267
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цель какая? если поле есть не добавлять?
К примеру
CurrentDb.Execute "alter table tbl add column b text(5)", dbfailonerror
если поле b уже есть, просто даст ошибку 3380, что поле с таким именем есть и не добавит его
Можно ее обработать, но зачем?

написать
On Error Resume Next
CurrentDb.Execute "alter table................
On Error GoTo 0
и ничего не проверять
...
Рейтинг: 0 / 0
Поле в таблице
    #32864156
Mitja_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Именно так! Если есть, не добавлять.
Хочется сделать максимально корректно, а не провоцировать ошибки.
...
Рейтинг: 0 / 0
Поле в таблице
    #32864173
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам шашечки или ехать?
Работа с генерацией или игнорированием ошибок вполне нормальный стиль програмирования.
ну если уж так хочется:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Public Function fnCheckFields(strTblName As String, strFldName As String) As Boolean
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Set dbs = CurrentDb()
Set tdf = dbs.TableDefs(strTblName)
For Each fld In tdf.Fields
    If fld.Name = strFldName Then
    fnCheckFields = True
    Set tdf = Nothing
    Set dbs = Nothing
    Exit Function
    End If
Next fld
fnCheckFields = False
Set tdf = Nothing
Set dbs = Nothing
End Function
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поле в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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