Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Дядя Федор

Public Function f_NewField()
Dim fld As Field
Dim Tbl As TableDef
Dim dbs As Database
Dim rez As Recordset

Set dbs = CurrentDb

Set rez = dbs.OpenRecordset("SELECT * FROM TblJobAddField WHERE IsDone = False;")

Do While Not rez.EOF
    
    Set Tbl = dbs.TableDefs([rez]![TabName])
    Set fld = Tbl.CreateField([rez]![FieldName])
    'Определение свойств поля
    fld.Type = ([rez]![FieldType])
    If [rez]![FieldSize] & "" <> "" Then fld.Size = ([rez]![FieldSize])
    fld.DefaultValue = Nz([rez]![FieldDefaultValue], "")
    
    'Добавление
    Tbl.Fields.Append fld
    'Заполнение комментария
    
    SetAccessProperty Tbl.Fields([rez]![FieldName]), "Description", dbMemo, [rez]![FieldMemo]
    
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("UPDATE TblJobAddField SET IsDone = True, DateAddDone = Now() WHERE IdJobAddField = " & [rez]![IdJobAddField] & ";")
    DoCmd.SetWarnings True
    rez.MoveNext
Loop

End Function



Структура таблицы TblJobAddField понятна из текста функции.
Необходимость возникает при работающей базе, когда открыть серверную часть для изменения в рабочее время затруднительно, т.к. таблица занята.
Помещаем функцию в ночной запуск и ок!


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.