Function CreateFieldDDL2()
'Purpose: Add a field to a table in another database using DDL.
Dim strSql As String
Dim db As DAO.Database
Set db = CurrentDb()
strSql = "ALTER TABLE Table IN 'C:\Data\junk.mdb' ADD COLUMN MyNewField TEXT (5);"
db.Execute strSql, dbFailOnError
Set db = Nothing
Debug.Print "MyNewField added"
End Function
Sub ModifyFieldDDL()
'Purpose: Change the type or size of a field using DDL.
Dim strSql As String
strSql = "ALTER TABLE MyTable ALTER COLUMN MyText2Change TEXT(100);"
DBEngine(0)(0).Execute strSql, dbFailOnError
End Sub
Public Sub RenameField(ptblName As String, _
pfldName As String, _
pnewfldname As String)
'**************************************************
'Purpose: Rename a field programatically
'Coded by: raskew
'Parameters: ptblName = Name of table to modify
' pfldname = Name of field to rename
' pnewfldname = New field name
'(From Debug Window:)
'Inputs: RenameField("tblColors", "hue", "color")
'Output: Field 'hue' has been renamed 'color'
'**************************************************
Dim db As Database
Dim td As TableDef
Dim fld As Field
Set db = CurrentDb
Set td = db.TableDefs(ptblName)
For Each fld In td.Fields
If fld.Name = pfldName Then
fld.Name = pnewfldname
'quit the loop if successful
Exit For
End If
Next fld
db.TableDefs.Refresh
'avoid memory leaks
Set td = Nothing
Set db = Nothing
End Sub
Public Sub RenameField(ptblName As String, _
pfldName As String, _
pnewfldname As String)
'**************************************************
'Purpose: Rename a field programatically
'Coded by: raskew
'Parameters: ptblName = Name of table to modify
' pfldname = Name of field to rename
' pnewfldname = New field name
'(From Debug Window:)
'Inputs: RenameField("tblColors", "hue", "color")
'Output: Field 'hue' has been renamed 'color'
'**************************************************
Dim db As Database
Dim td As TableDef
Dim fld As Field
Set db = CurrentDb
Set td = db.TableDefs([COLOR=Red]tblSugg[/COLOR])
For Each fld In td.Fields
If fld.Name = CombinedComments Then
fld.Name = Comments
'quit the loop if successful
Exit For
End If
Next fld
db.TableDefs.Refresh
'avoid memory leaks
Set td = Nothing
Set db = Nothing
End Sub
Set td = db.TableDefs(ptblName)
call RenameField("tblSugg","yourOldFieldname","YourNewFieldname")
Public Function RenameField(ptblName As String, _
pfldName As String, _
pnewfldname As String)
'**************************************************
'Purpose: Rename a field programatically
'Coded by: raskew
'Parameters: ptblName = Name of table to modify
' pfldname = Name of field to rename
' pnewfldname = New field name
'(From Debug Window:)
'Inputs: RenameField("tblColors", "hue", "color")
'Output: Field 'hue' has been renamed 'color'
'**************************************************
Dim db As Database
Dim td As TableDef
Dim fld As Field
Set db = CurrentDb
Set td = db.TableDefs(ptblName)
For Each fld In td.Fields
If fld.Name = pfldName Then
fld.Name = pnewfldname
'quit the loop if successful
Exit For
End If
Next fld
db.TableDefs.Refresh
'avoid memory leaks
Set td = Nothing
Set db = Nothing
End Function
Sorry Bob, it's complex but the reasons are valid
UPDATE tblTypes2 SET tblTypes2.Type = [category]
WHERE
(((tblTypes2.Type) Is Null));