|
|
|
| КАК ПРАВИЛЬНО НАПИСАТЬ КОМАНДУ НА ПРОГРАММНОЕ СОЗДАНИЕ ЛОГИЧЕСКОГО ПОЛЯ?
Set Дел = CurrentDb()
Дел.Execute "ALTER TABLE кодСтатьи ADD COLUMN АдмНакДо Yes/No" -НЕ ВЕРНО | |
|
| |
|
|
|
|
'-- http://allenbrowne.com/func-DAO.html
Public Function addLinkedColumn(tbn$, cnam$, ctyp$, defValue, Optional withDrop% = 0)
Dim db1 As DAO.Database, isFieldYes%
On Error GoTo err123
isFieldYes = 0
Set db1 = OpenDatabase(Split(CurrentDb.TableDefs(tbn).Connect, "=")(1))
On Error Resume Next
If db1.TableDefs(tbn).Fields(cnam).Name = cnam Then
If Err = 0 Then isFieldYes = 1
If withDrop <> 0 And Err = 0 Then
Err = 0
db1.Execute "ALTER TABLE [" & tbn & "] DROP COLUMN [" & cnam & "] ", dbFailOnError
If Err = 0 Then
isFieldYes = 0
Else
MsgBox "Не удалось выполнить изменения" & vbCrLf & Error & vbCrLf & iDevelop, , "addLinkedColumn:dropcolumn"
End If
End If
End If
On Error GoTo err123
If isFieldYes = 0 Then
db1.Execute "ALTER TABLE [" & tbn & "] ADD COLUMN [" & cnam & "] " & ctyp, dbFailOnError
Select Case LCase(ctyp)
Case "yesno"
db1.TableDefs(tbn).Fields(cnam).DefaultValue = Nz(defValue, 0)
Call SetPropertyDAO(db1.TableDefs(tbn).Fields(cnam), "DisplayControl", dbInteger, CInt(acCheckBox))
End Select
End If
CurrentDb.TableDefs(tbn).RefreshLink
Exit Function
err123:
MsgBox "Не удалось выполнить изменения" & vbCrLf & Error & vbCrLf & iDevelop, , "addLinkedColumn"
Exit Function
End Function
|
Call addLinkedColumn("tt_args_list", "inList", "YESNO", True) | |
|
| |
|
|
|
| большое спасибочки, все получилось | |
|
| |