<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FAccess%2FTable_Column_Field</id>
		<title>VBA/Excel/Access/Word/Access/Table Column Field - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FAccess%2FTable_Column_Field"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Table_Column_Field&amp;action=history"/>
		<updated>2026-04-06T07:41:31Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Table_Column_Field&amp;diff=1292&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Table_Column_Field&amp;diff=1292&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Table_Column_Field&amp;diff=1293&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Table_Column_Field&amp;diff=1293&amp;oldid=prev"/>
				<updated>2010-05-26T12:46:46Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Adding a Field with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ADOAddField()&lt;br /&gt;
    Dim cnn As ADODB.Connection&lt;br /&gt;
    Dim cmd As ADODB.rumand&lt;br /&gt;
    MyConn = &amp;quot;C:\mydb.mdb&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
    Set cnn = New ADODB.Connection&lt;br /&gt;
    With cnn&lt;br /&gt;
        .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot;&lt;br /&gt;
        .Open MyConn&lt;br /&gt;
    End With&lt;br /&gt;
   Set cmd = New ADODB.rumand&lt;br /&gt;
   Set cmd.ActiveConnection = cnn&lt;br /&gt;
   cmd.rumandText = &amp;quot;ALTER TABLE tbl1 Add Column Grp Char(25)&amp;quot;&lt;br /&gt;
   cmd.Execute , , adCmdText&lt;br /&gt;
   Set cmd = Nothing&lt;br /&gt;
   Set cnn = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding a New Field to a Table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Add_NewFields()&lt;br /&gt;
   Dim cat As New ADOX.Catalog&lt;br /&gt;
   Dim myTable As New ADOX.Table&lt;br /&gt;
   Set cat = New ADOX.Catalog&lt;br /&gt;
   cat.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
   cat.Tables(&amp;quot;vbexTable&amp;quot;).Columns.Append _&lt;br /&gt;
       &amp;quot;MyNewField&amp;quot;, adWChar, 15&lt;br /&gt;
   Set cat = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding a New Money type Field to an Existing Table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub AddNewField()&lt;br /&gt;
    Dim conn As ADODB.Connection&lt;br /&gt;
    Dim strTable As String&lt;br /&gt;
    Dim strCol As String&lt;br /&gt;
    On Error GoTo ErrorHandler&lt;br /&gt;
    Set conn = CurrentProject.Connection&lt;br /&gt;
    strTable = &amp;quot;myTable&amp;quot;&lt;br /&gt;
    strCol = &amp;quot;newColumn&amp;quot;&lt;br /&gt;
    conn.Execute &amp;quot;ALTER TABLE &amp;quot; &amp;amp; strTable &amp;amp; &amp;quot; ADD COLUMN &amp;quot; &amp;amp; strCol &amp;amp; &amp;quot; MONEY;&amp;quot;&lt;br /&gt;
ExitHere:&lt;br /&gt;
    conn.Close&lt;br /&gt;
    Set conn = Nothing&lt;br /&gt;
    Exit Sub&lt;br /&gt;
ErrorHandler:&lt;br /&gt;
    Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description&lt;br /&gt;
    Resume ExitHere&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Append new columns to new table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CreateTable()&lt;br /&gt;
    &lt;br /&gt;
    Dim cat As New ADOX.Catalog&lt;br /&gt;
    Dim tbl As New ADOX.Table&lt;br /&gt;
    &lt;br /&gt;
    cat.ActiveConnection = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot; &amp;amp; _&lt;br /&gt;
       &amp;quot;Data Source=C:\mydb.mdb;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    &amp;quot; Assign table name and some columns&lt;br /&gt;
    With tbl&lt;br /&gt;
       .Name = &amp;quot;NewTable&amp;quot;&lt;br /&gt;
       .Columns.Append &amp;quot;Column1&amp;quot;, adVarWChar, 250&lt;br /&gt;
       .Columns.Append &amp;quot;Column2&amp;quot;, adInteger&lt;br /&gt;
       .Columns.Append &amp;quot;Column3&amp;quot;, adInteger&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    cat.Tables.Append tbl&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing the Field Data Type with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ChangeFieldType() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strTable As String &lt;br /&gt;
    Dim strCol As String &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    strTable = &amp;quot;myTable&amp;quot; &lt;br /&gt;
    strCol = &amp;quot;ID&amp;quot; &lt;br /&gt;
    conn.Execute &amp;quot;ALTER TABLE &amp;quot; &amp;amp; strTable &amp;amp; &amp;quot; ALTER COLUMN &amp;quot; &amp;amp; strCol &amp;amp; &amp;quot; CHAR(15);&amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    MsgBox Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
    Resume ExitHere &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing the Size of a Field with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ChangeFieldSize() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strTable As String &lt;br /&gt;
    Dim strCol As String &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    strTable = &amp;quot;myTable&amp;quot; &lt;br /&gt;
    strCol = &amp;quot;Name&amp;quot; &lt;br /&gt;
conn.Execute &amp;quot;ALTER TABLE &amp;quot; &amp;amp; strTable &amp;amp; &amp;quot; ALTER COLUMN &amp;quot; &amp;amp; strCol &amp;amp; &amp;quot; CHAR(40);&amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
    Resume ExitHere &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing the Start (Seed) Value of the AutoNumber Field with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ChangeAutoNumber() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strDb As String &lt;br /&gt;
    Dim strConnect As String &lt;br /&gt;
    Dim strTable As String &lt;br /&gt;
    Dim strCol As String &lt;br /&gt;
    Dim intSeed As Integer &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    strDb = CurrentProject.Path &amp;amp; &amp;quot;\&amp;quot; &amp;amp; &amp;quot;mydb.mdb&amp;quot; &lt;br /&gt;
    strConnect = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot; &amp;amp; &amp;quot;Data Source=&amp;quot; &amp;amp; strDb &lt;br /&gt;
    strTable = &amp;quot;myTable&amp;quot; &lt;br /&gt;
    strCol = &amp;quot;Id&amp;quot; &lt;br /&gt;
    intSeed = 1000 &lt;br /&gt;
    Set conn = New ADODB.Connection &lt;br /&gt;
    conn.Open strConnect &lt;br /&gt;
    conn.Execute &amp;quot;ALTER TABLE &amp;quot; &amp;amp; strTable &amp;amp; &amp;quot; ALTER COLUMN &amp;quot; &amp;amp; strCol &amp;amp; &amp;quot; COUNTER (&amp;quot; &amp;amp; intSeed &amp;amp; &amp;quot;);&amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    If Err.Number = -2147467259 Then &lt;br /&gt;
        Debug.Print &amp;quot;The database file cannot be located.&amp;quot;, _ &lt;br /&gt;
            vbCritical, strDb &lt;br /&gt;
        Exit Sub &lt;br /&gt;
    Else &lt;br /&gt;
        Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
        Resume ExitHere &lt;br /&gt;
    End If &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Checking for Existence of a Field==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Function ColumnExists(WhichColumn, WhichTable)&lt;br /&gt;
    Dim cnn As ADODB.Connection&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Dim WSOrig As Worksheet&lt;br /&gt;
    Dim WSTemp As Worksheet&lt;br /&gt;
    Dim fld As ADODB.Field&lt;br /&gt;
    ColumnExists = False&lt;br /&gt;
    MyConn = MyConn &amp;amp; &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
    Set cnn = New ADODB.Connection&lt;br /&gt;
    With cnn&lt;br /&gt;
        .Provider = &amp;quot;Microsoft.Jet.OLEDB.4.0&amp;quot;&lt;br /&gt;
        .Open MyConn&lt;br /&gt;
    End With&lt;br /&gt;
    Set rst = cnn.OpenSchema(adSchemaColumns)&lt;br /&gt;
    Do Until rst.EOF&lt;br /&gt;
        If LCase(rst!Column_Name) = LCase(WhichColumn) And _&lt;br /&gt;
           LCase(rst!Table_Name) = LCase(WhichTable) Then&lt;br /&gt;
            ColumnExists = True&lt;br /&gt;
            GoTo ExitMe&lt;br /&gt;
        End If&lt;br /&gt;
        rst.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
ExitMe:&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
    cnn.Close&lt;br /&gt;
End Function&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Delete a column==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ChangeColumn()&lt;br /&gt;
    Dim cat As New ADOX.Catalog&lt;br /&gt;
    Dim tbl As New ADOX.Table&lt;br /&gt;
    &lt;br /&gt;
    cat.ActiveConnection = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot; &amp;amp; _&lt;br /&gt;
       &amp;quot;Data Source=C:\mydb.mdb;&amp;quot;&lt;br /&gt;
    Set tbl = cat.Tables(&amp;quot;Newtable&amp;quot;)&lt;br /&gt;
    tbl.Columns(&amp;quot;Column2&amp;quot;).Name = &amp;quot;Column2X&amp;quot;&lt;br /&gt;
    tbl.Columns.Delete &amp;quot;Column3&amp;quot;&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deleting a Field from a Table with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub DeleteField() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strTable As String &lt;br /&gt;
    Dim strCol As String &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    strTable = &amp;quot;myTable&amp;quot; &lt;br /&gt;
    strCol = &amp;quot;myCol&amp;quot; &lt;br /&gt;
    conn.Execute &amp;quot;ALTER TABLE &amp;quot; &amp;amp; strTable &amp;amp; &amp;quot; DROP COLUMN &amp;quot; &amp;amp; strCol &amp;amp; &amp;quot;;&amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
    Resume ExitHere &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get field properties==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Sub DescribeARow()&lt;br /&gt;
  Const SQL As String = &amp;quot;SELECT * FROM Customers&amp;quot;&lt;br /&gt;
  Const ConnectionString As String = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydb.mdb;Persist Security Info=False&amp;quot;&lt;br /&gt;
  Dim Recordset As Recordset&lt;br /&gt;
  Set Recordset = New Recordset&lt;br /&gt;
  Call Recordset.Open(SQL, ConnectionString, adOpenDynamic)&lt;br /&gt;
  Recordset.MoveFirst&lt;br /&gt;
  Dim Field As Field&lt;br /&gt;
  For Each Field In Recordset.Fields&lt;br /&gt;
    Debug.Print &amp;quot;Name: &amp;quot; &amp;amp; Field.Name&lt;br /&gt;
    Debug.Print &amp;quot;Type: &amp;quot; &amp;amp; Field.Type&lt;br /&gt;
    Debug.Print &amp;quot;Size: &amp;quot; &amp;amp; Field.ActualSize&lt;br /&gt;
    Debug.Print &amp;quot;Value: &amp;quot; &amp;amp; Field.Value&lt;br /&gt;
  Next&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Listing Field Properties==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub List_FieldProperties()&lt;br /&gt;
   Dim cat As ADOX.Catalog&lt;br /&gt;
   Dim col As ADOX.Column&lt;br /&gt;
   Dim pr As ADOX.Property&lt;br /&gt;
   Set cat = New ADOX.Catalog&lt;br /&gt;
   Set cat.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
   Set col = New ADOX.Column&lt;br /&gt;
   Set col = cat.Tables(&amp;quot;vbexTable&amp;quot;).Columns(&amp;quot;Id&amp;quot;)&lt;br /&gt;
   MsgBox col.Properties.Count&lt;br /&gt;
   For Each pr In col.Properties&lt;br /&gt;
      Debug.Print pr.Name &amp;amp; &amp;quot;=&amp;quot;; pr.Value&lt;br /&gt;
   Next&lt;br /&gt;
   Set cat = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Listing Tables and Their Fields Using the OpenSchema Method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ListTblsAndFields()&lt;br /&gt;
   Dim conn As ADODB.Connection&lt;br /&gt;
   Dim rst As ADODB.Recordset&lt;br /&gt;
   Dim curTable As String&lt;br /&gt;
   Dim newTable As String&lt;br /&gt;
   Dim counter As Integer&lt;br /&gt;
   Set conn = New ADODB.Connection&lt;br /&gt;
   conn.Open &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&amp;quot; &amp;amp; CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
   Set rst = conn.OpenSchema(adSchemaColumns)&lt;br /&gt;
   curTable = &amp;quot;&amp;quot;&lt;br /&gt;
   newTable = &amp;quot;&amp;quot;&lt;br /&gt;
   counter = 1&lt;br /&gt;
   Do Until rst.EOF&lt;br /&gt;
      curTable = rst!table_Name&lt;br /&gt;
      If (curTable &amp;lt;&amp;gt; newTable) Then&lt;br /&gt;
         newTable = rst!table_Name&lt;br /&gt;
         Debug.Print &amp;quot;Table: &amp;quot; &amp;amp; rst!table_Name&lt;br /&gt;
         counter = 1&lt;br /&gt;
      End If&lt;br /&gt;
      Debug.Print &amp;quot;Field&amp;quot; &amp;amp; counter &amp;amp; &amp;quot;: &amp;quot; &amp;amp; rst!Column_Name&lt;br /&gt;
      counter = counter + 1&lt;br /&gt;
      rst.MoveNext&lt;br /&gt;
   Loop&lt;br /&gt;
   rst.Close&lt;br /&gt;
   conn.Close&lt;br /&gt;
   Set rst = Nothing&lt;br /&gt;
   Set conn = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Open a table and read data by column==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub LoopProjects()&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.Open &amp;quot;Employees&amp;quot;, CurrentProject.Connection&lt;br /&gt;
    Do Until rst.EOF&lt;br /&gt;
        Debug.Print rst!Title, rst!City&lt;br /&gt;
        If IsNull(rst!Region) Then&lt;br /&gt;
            Debug.Print &amp;quot;No Value!!&amp;quot;&lt;br /&gt;
        End If&lt;br /&gt;
        rst.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Read record in recordset by referening the field name with &amp;quot;!&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Sub Loops()&lt;br /&gt;
    Dim con As ADODB.Connection&lt;br /&gt;
    Dim rs As New ADODB.Recordset&lt;br /&gt;
    Set con = New ADODB.Connection&lt;br /&gt;
    &lt;br /&gt;
    con.Open &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\store.mdb;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    rs.CursorLocation = adUseServer&lt;br /&gt;
    rs.Open &amp;quot;SELECT * FROM Employees&amp;quot;, con, adOpenStatic, adLockOptimistic&lt;br /&gt;
    &lt;br /&gt;
    Do While Not rs.EOF&lt;br /&gt;
        Dim strName As String&lt;br /&gt;
        Debug.Print rs!txtCustFirstName &amp;amp; &amp;quot; &amp;quot; &amp;amp; rs!txtCustLastName&lt;br /&gt;
        rs.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    Debug.Print rs.RecordCount &amp;amp; &amp;quot; records: &amp;quot;&lt;br /&gt;
   &lt;br /&gt;
    Set rs = Nothing&lt;br /&gt;
    Set con = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Read specific columns from Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub MyFirstConnection()&lt;br /&gt;
    Dim myConnection As ADODB.Connection&lt;br /&gt;
    Dim myRecordset As ADODB.Recordset&lt;br /&gt;
    Dim strSQL As String&lt;br /&gt;
   &lt;br /&gt;
    strSQL = &amp;quot;SELECT FirstName, LastName FROM Employees&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    Set myConnection = CurrentProject.Connection&lt;br /&gt;
    &lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    myRecordset.Open strSQL, myConnection&lt;br /&gt;
    &lt;br /&gt;
    Do Until myRecordset.EOF&lt;br /&gt;
       Debug.Print myRecordset.Fields(&amp;quot;FirstName&amp;quot;) &amp;amp; &amp;quot; &amp;quot; &amp;amp; myRecordset.Fields(&amp;quot;LastName&amp;quot;)&lt;br /&gt;
       myRecordset.moveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    myRecordset.Close&lt;br /&gt;
    myConnection.Close&lt;br /&gt;
    Set myConnection = Nothing&lt;br /&gt;
    Set myRecordset = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Removing a Field from a Table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Delete_Field()&lt;br /&gt;
   Dim cat As New ADOX.Catalog&lt;br /&gt;
   Set cat = New ADOX.Catalog&lt;br /&gt;
   cat.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
   cat.Tables(&amp;quot;vbexTable&amp;quot;).Columns.Delete &amp;quot;Type&amp;quot;&lt;br /&gt;
   Set cat = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Set column properties by using ADOX.Table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
ADO Equivalents to Access Data Types&lt;br /&gt;
 &lt;br /&gt;
Microsoft Access Data Type     ADO Equivalent&lt;br /&gt;
Binary                         adBinary&lt;br /&gt;
Boolean                        adBoolean&lt;br /&gt;
Byte                           adUnsignedTinyInt&lt;br /&gt;
Currency                       adCurrency&lt;br /&gt;
Date                           adDate&lt;br /&gt;
Numeric                        adNumeric&lt;br /&gt;
Double                         adDouble&lt;br /&gt;
Small Integer                  adSmallInt&lt;br /&gt;
Integer                        adInteger&lt;br /&gt;
Long Binary                    adLongBinary&lt;br /&gt;
Memo                           adLongVarWChar&lt;br /&gt;
Single                         adSingle&lt;br /&gt;
Text                           adWChar&lt;br /&gt;
&lt;br /&gt;
Sub makeTable()&lt;br /&gt;
   Dim currCat As New ADOX.Catalog&lt;br /&gt;
   Dim newTable As New ADOX.Table&lt;br /&gt;
   Dim newKey As New ADOX.Key&lt;br /&gt;
   &lt;br /&gt;
   currCat.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
   &lt;br /&gt;
   With newTable&lt;br /&gt;
      .Name = &amp;quot;tblTestTable&amp;quot;&lt;br /&gt;
      .Columns.Append &amp;quot;custNumber&amp;quot;, adInteger&lt;br /&gt;
      .Columns(&amp;quot;custNumber&amp;quot;).ParentCatalog = currCat&lt;br /&gt;
      .Columns(&amp;quot;custNumber&amp;quot;).Properties(&amp;quot;AutoIncrement&amp;quot;) = True&lt;br /&gt;
      &lt;br /&gt;
      newKey.Name = &amp;quot;PrimaryKey&amp;quot;&lt;br /&gt;
      newKey.Columns.Append &amp;quot;custNumber&amp;quot;&lt;br /&gt;
      .Keys.Append newKey, adKeyPrimary&lt;br /&gt;
      &lt;br /&gt;
      .Columns.Append &amp;quot;custFirstName&amp;quot;, adWChar&lt;br /&gt;
      .Columns.Append &amp;quot;custLastName&amp;quot;, adWChar&lt;br /&gt;
     End With&lt;br /&gt;
     &lt;br /&gt;
     currCat.Tables.Append newTable&lt;br /&gt;
     &lt;br /&gt;
     Set currCat = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting a Default Value for a Field with SQL command==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub SetDefaultFieldValue() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strTable As String &lt;br /&gt;
    Dim strCol As String &lt;br /&gt;
    Dim strDefVal As String &lt;br /&gt;
    Dim strSQL As String &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    strTable = &amp;quot;myTable&amp;quot; &lt;br /&gt;
    strCol = &amp;quot;City&amp;quot; &lt;br /&gt;
    strDefVal = &amp;quot;Boston&amp;quot; &lt;br /&gt;
    strSQL = &amp;quot;ALTER TABLE &amp;quot; &amp;amp; strTable &amp;amp; _ &lt;br /&gt;
        &amp;quot; ALTER &amp;quot; &amp;amp; strCol &amp;amp; &amp;quot; SET DEFAULT &amp;quot; &amp;amp; strDefVal &lt;br /&gt;
    conn.Execute strSQL &lt;br /&gt;
ExitHere: &lt;br /&gt;
    conn.Close &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
    Resume ExitHere &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Show field name, type and value data type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub rec_fields()&lt;br /&gt;
  Dim conn As New Connection&lt;br /&gt;
  Dim rec As New Recordset&lt;br /&gt;
  Dim f As Field&lt;br /&gt;
  Dim ws As Worksheet&lt;br /&gt;
  Dim i&amp;amp;&lt;br /&gt;
  Set ws = ThisWorkbook.Worksheets(&amp;quot;fields&amp;quot;)&lt;br /&gt;
  conn.Open &amp;quot;Provider=microsoft.jet.oledb.4.0;&amp;quot; + _&lt;br /&gt;
    &amp;quot;Data Source=&amp;quot; + ThisWorkbook.Path + &amp;quot;\nwind.mdb;&amp;quot;&lt;br /&gt;
  rec.Open &amp;quot;employees&amp;quot;, conn&lt;br /&gt;
  For Each f In rec.Fields&lt;br /&gt;
    i = i + 1&lt;br /&gt;
    ws.[a1].Cells(i) = f.Name&lt;br /&gt;
    ws.[b1].Cells(i) = f.Type&lt;br /&gt;
    ws.[c1].Cells(i) = TypeName(f.Value)&lt;br /&gt;
  Next&lt;br /&gt;
  rec.Close: conn.Close&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>