<?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_Create</id>
		<title>VBA/Excel/Access/Word/Access/Table Create - История изменений</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_Create"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Table_Create&amp;action=history"/>
		<updated>2026-04-06T13:01:06Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Table_Create&amp;diff=1264&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_Create&amp;diff=1264&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_Create&amp;diff=1265&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_Create&amp;diff=1265&amp;oldid=prev"/>
				<updated>2010-05-26T12:46:42Z</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 Single-Field Index to an Existing 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 SingleField_Index2() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strTable 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;
    conn.Execute &amp;quot;CREATE INDEX idxCity ON &amp;quot; &amp;amp; strTable &amp;amp; &amp;quot;(SCity) ;&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;
==Create a table with validation rule==&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 exaCreateTable()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim tblNew As TableDef&lt;br /&gt;
    Dim fld As Field&lt;br /&gt;
    &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    &lt;br /&gt;
    Set tblNew = db.CreateTableDef(&amp;quot;NewTable&amp;quot;)&lt;br /&gt;
    Set fld = tblNew.CreateField(&amp;quot;NewField&amp;quot;, dbText, 100)&lt;br /&gt;
    &lt;br /&gt;
    fld.AllowZeroLength = True&lt;br /&gt;
    fld.DefaultValue = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
    fld.Required = True&lt;br /&gt;
    fld.ValidationRule = &amp;quot;Instr$(Like &amp;quot;A*&amp;quot; or Like &amp;quot;Unknown&amp;quot;&amp;quot;&lt;br /&gt;
    fld.ValidationText = &amp;quot;Known value must begin with A&amp;quot;&lt;br /&gt;
    tblNew.Fields.Append fld&lt;br /&gt;
    db.TableDefs.Append tblNew&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;
==Creating an Index Based on Two Fields 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 MultiField_Index() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strTable 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;
    conn.Execute &amp;quot;CREATE TABLE &amp;quot; &amp;amp; strTable _ &lt;br /&gt;
        &amp;amp; &amp;quot;(SId INTEGER, &amp;quot; _ &lt;br /&gt;
        &amp;amp; &amp;quot;SName CHAR (30), &amp;quot; _ &lt;br /&gt;
        &amp;amp; &amp;quot;SCity CHAR (19), &amp;quot; _ &lt;br /&gt;
        &amp;amp; &amp;quot;CONSTRAINT idxSupplierNameCity UNIQUE &amp;quot; _ &lt;br /&gt;
        &amp;amp; &amp;quot;(SName, SCity));&amp;quot; &lt;br /&gt;
    Application.RefreshDatabaseWindow &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;
==Creating a Table (ADOX data types vs. Microsoft Access data types)==&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;
 &lt;br /&gt;
ADOX Data Type             Corresponding Data Type in Access&lt;br /&gt;
adBoolean                  Yes/No&lt;br /&gt;
adUnsignedTinyInt          Number (FieldSize = Byte)&lt;br /&gt;
adSmalIInt                 Number (FieldSize = Integer)&lt;br /&gt;
adSingle                   Number (FieldSize = Single)&lt;br /&gt;
adDouble                   Number (FieldSize = Double)&lt;br /&gt;
adDecimal                  Number (FieldSize = Decimal)&lt;br /&gt;
adInteger                  Number (FieldSize = LongInteger)&lt;br /&gt;
AutoNumber&lt;br /&gt;
adCurrency                 Currency&lt;br /&gt;
adVarWChar                 Text&lt;br /&gt;
adDate                     Date/Time&lt;br /&gt;
adLongVarBinary            OLE Object&lt;br /&gt;
dbMemo                     Memo&lt;br /&gt;
adLongVarWChar             Hyperlink &lt;br /&gt;
&amp;quot; make sure to set up a reference to&lt;br /&gt;
&amp;quot; the Microsoft ADO Ext. 2.5 for DDL and Security&lt;br /&gt;
&amp;quot; Object Library&lt;br /&gt;
Sub Create_Table()&lt;br /&gt;
   Dim cat As ADOX.Catalog&lt;br /&gt;
   Dim myTable As ADOX.Table&lt;br /&gt;
   On Error GoTo ErrorHandler&lt;br /&gt;
   Set cat = New Catalog&lt;br /&gt;
   cat.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
   Set myTable = New Table&lt;br /&gt;
   With myTable&lt;br /&gt;
      .Name = &amp;quot;vbexTable&amp;quot;&lt;br /&gt;
      With .Columns&lt;br /&gt;
         .Append &amp;quot;Id&amp;quot;, adVarWChar, 10&lt;br /&gt;
         .Append &amp;quot;Description&amp;quot;, adVarWChar, 255&lt;br /&gt;
         .Append &amp;quot;Type&amp;quot;, adInteger&lt;br /&gt;
      End With&lt;br /&gt;
   End With&lt;br /&gt;
   cat.Tables.Append myTable&lt;br /&gt;
   Set cat = Nothing&lt;br /&gt;
   MsgBox &amp;quot;The new table &amp;quot;vbexTable&amp;quot; was created.&amp;quot;&lt;br /&gt;
   Exit Sub&lt;br /&gt;
ErrorHandler:&lt;br /&gt;
   If Err.Number = -2147217857 Then&lt;br /&gt;
      cat.Tables.Delete &amp;quot;vbexTable&amp;quot;&lt;br /&gt;
      Resume&lt;br /&gt;
   End If&lt;br /&gt;
   MsgBox Err.Number &amp;amp; &amp;quot;: &amp;quot; &amp;amp; Err.Description&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;
==Creating a Table in a New Database with AUTOINCREMENT 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 CreateTableInNewDb()&lt;br /&gt;
    Dim cat As ADOX.Catalog&lt;br /&gt;
    Dim conn As ADODB.Connection&lt;br /&gt;
    Dim strDb As String&lt;br /&gt;
    Dim strTable As String&lt;br /&gt;
    Dim strConnect As String&lt;br /&gt;
    &lt;br /&gt;
    On Error GoTo ErrorHandler&lt;br /&gt;
    &lt;br /&gt;
    Set cat = New ADOX.Catalog&lt;br /&gt;
    strDb = CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
    strConnect = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&amp;quot; &amp;amp; strDb&lt;br /&gt;
    &lt;br /&gt;
    cat.Create strConnect&lt;br /&gt;
    &lt;br /&gt;
    Set conn = cat.ActiveConnection&lt;br /&gt;
    &lt;br /&gt;
    conn.Execute &amp;quot;CREATE TABLE myTable(SchoolId AUTOINCREMENT(100, 5),&amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;SchoolName CHAR,City Char (25), District Char (35),YearEstablished Date);&amp;quot;&lt;br /&gt;
ExitHere:&lt;br /&gt;
    Set cat = Nothing&lt;br /&gt;
    Set conn = Nothing&lt;br /&gt;
    Exit Sub&lt;br /&gt;
ErrorHandler:&lt;br /&gt;
    If Err.Number = -2147217897 Then&lt;br /&gt;
        Kill strDb&lt;br /&gt;
        Resume 0&lt;br /&gt;
    Else&lt;br /&gt;
        Debug.Print Err.Number &amp;amp; &amp;quot;: &amp;quot; &amp;amp; Err.Description&lt;br /&gt;
        GoTo 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;
==Creating a Table in the Current Database with SQL statement==&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;
    Dim conn As ADODB.Connection&lt;br /&gt;
    Dim strTable As String&lt;br /&gt;
    On Error GoTo ErrorHandler&lt;br /&gt;
    Set conn = CurrentProject.Connection&lt;br /&gt;
    strTable = &amp;quot;Employees&amp;quot;&lt;br /&gt;
    conn.Execute &amp;quot;CREATE TABLE &amp;quot; &amp;amp; strTable &amp;amp; _&lt;br /&gt;
       &amp;quot;(Id AUTOINCREMENT(100, 5),&amp;quot; &amp;amp; _&lt;br /&gt;
       &amp;quot;lName CHAR,&amp;quot; &amp;amp; _&lt;br /&gt;
       &amp;quot;City Char (25), District Char (35),&amp;quot; &amp;amp; _&lt;br /&gt;
       &amp;quot;YearEstablished Date);&amp;quot;&lt;br /&gt;
    Application.RefreshDatabaseWindow&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;
==Creating a Table with a Single-Field Index 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 SingleField_Index()&lt;br /&gt;
    Dim conn As ADODB.Connection&lt;br /&gt;
    Dim strTable 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;
    conn.Execute &amp;quot;CREATE TABLE &amp;quot; &amp;amp; strTable _&lt;br /&gt;
        &amp;amp; &amp;quot;(Id INTEGER, &amp;quot; _&lt;br /&gt;
        &amp;amp; &amp;quot;SName CHAR (30), &amp;quot; _&lt;br /&gt;
        &amp;amp; &amp;quot;CONSTRAINT idxSupplierName UNIQUE &amp;quot; _&lt;br /&gt;
        &amp;amp; &amp;quot;(SName));&amp;quot;&lt;br /&gt;
    Application.RefreshDatabaseWindow&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;
==Creating Check Constraints:add business rules for 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 CreateCheckConstraint()&lt;br /&gt;
    Dim cmd As ADODB.rumand&lt;br /&gt;
    Set cmd = New ADODB.rumand&lt;br /&gt;
    cmd.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    cmd.rumandText = &amp;quot;CREATE TABLE Customers1 &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;(CustomerID LONG CONSTRAINT CustomerID PRIMARY KEY, &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;CompanyName TEXT (50), IntroDate DATETIME, &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;CONSTRAINT IntroDateCheck CHECK (IntroDate &amp;lt;= Date()), &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;CreditLimit CURRENCY DEFAULT 5000)&amp;quot;&lt;br /&gt;
    cmd.Execute&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;
==Default Column value==&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 CreateDefault()&lt;br /&gt;
    Dim cmd As ADODB.rumand&lt;br /&gt;
    Set cmd = New ADODB.rumand&lt;br /&gt;
    cmd.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    cmd.rumandText = &amp;quot;CREATE TABLE Customers &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;(CustomerID LONG CONSTRAINT CustomerID PRIMARY KEY, &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;CompanyName TEXT (50), IntroDate DATETIME, &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;CreditLimit CURRENCY DEFAULT 5000)&amp;quot;&lt;br /&gt;
    cmd.Execute&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>