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

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/TableDefs&amp;diff=1308&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/TableDefs&amp;diff=1308&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/TableDefs&amp;diff=1309&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/TableDefs&amp;diff=1309&amp;oldid=prev"/>
				<updated>2010-05-26T12:46:47Z</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;==Add new property to TableDef==&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 exaUserDefinedProperty()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim tbl As TableDef&lt;br /&gt;
    Dim prp As Property&lt;br /&gt;
     &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    Set tbl = db!BOOKS&lt;br /&gt;
     &lt;br /&gt;
    Set prp = tbl.CreateProperty(&amp;quot;UserProperty&amp;quot;, dbText, &amp;quot;Programming DAO is fun.&amp;quot;)&lt;br /&gt;
    tbl.Properties.Append prp&lt;br /&gt;
    For Each prp In tbl.Properties&lt;br /&gt;
       Debug.Print prp.Name&lt;br /&gt;
       Debug.Print prp.Value&lt;br /&gt;
       Debug.Print prp.Type&lt;br /&gt;
       Debug.Print prp.Inherited&lt;br /&gt;
    Next prp&lt;br /&gt;
     &lt;br /&gt;
    Debug.Print tbl.Properties.Count&lt;br /&gt;
     &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 an index==&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 exaCreateIndex()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim tdf As TableDef&lt;br /&gt;
    Dim idx As Index&lt;br /&gt;
    Dim fld As Field&lt;br /&gt;
     &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    Set tdf = db.TableDefs!BOOKS&lt;br /&gt;
    Set idx = tdf.CreateIndex(&amp;quot;PriceTitle&amp;quot;)&lt;br /&gt;
    Set fld = idx.CreateField(&amp;quot;Price&amp;quot;)&lt;br /&gt;
    idx.Fields.Append fld&lt;br /&gt;
    Set fld = idx.CreateField(&amp;quot;Title&amp;quot;)&lt;br /&gt;
    idx.Fields.Append fld&lt;br /&gt;
    tdf.Indexes.Append idx&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 relation==&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 exaRelations()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim rel As Relation&lt;br /&gt;
    Dim fld As Field&lt;br /&gt;
     &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    Set rel = db.CreateRelation(&amp;quot;PublisherRegions&amp;quot;, &amp;quot;PUBLISHERS&amp;quot;, &amp;quot;SALESREGIONS&amp;quot;)&lt;br /&gt;
    rel.Attributes = dbRelationUpdateCascade&lt;br /&gt;
    Set fld = rel.CreateField(&amp;quot;PubID&amp;quot;)&lt;br /&gt;
    fld.ForeignName = &amp;quot;PubID&amp;quot;&lt;br /&gt;
    rel.Fields.Append fld&lt;br /&gt;
    db.Relations.Append rel&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 new field 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;MyTable&amp;quot;)&lt;br /&gt;
    Set fld = tblNew.CreateField(&amp;quot;MyField&amp;quot;, dbText, 100)&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;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;
==Database relations==&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 ShowRelations()&lt;br /&gt;
    Dim db        As Database      &lt;br /&gt;
    Dim relR        As Relation    &lt;br /&gt;
    Set db = CurrentDb()&lt;br /&gt;
    For Each relR In db.Relations&lt;br /&gt;
        Debug.Print relR.Table &amp;amp; &amp;quot; is related to &amp;quot; &amp;amp; relR.ForeignTable&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;
==List table 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 exaProperties()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim tbl As TableDef&lt;br /&gt;
    Dim prp As Property&lt;br /&gt;
     &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    Set tbl = db!Employees&lt;br /&gt;
    For Each prp In tbl.Properties&lt;br /&gt;
       Debug.Print prp.Name&lt;br /&gt;
       Debug.Print prp.Value&lt;br /&gt;
       Debug.Print prp.Type&lt;br /&gt;
       Debug.Print prp.Inherited&lt;br /&gt;
     &lt;br /&gt;
    Next prp&lt;br /&gt;
    Debug.Print tbl.Properties.Count &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;
==Reference column name from TableDefs==&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 exaCurrentDb2()&lt;br /&gt;
    Dim dbOne, dbTwo As Database&lt;br /&gt;
    Dim fldNew As Field&lt;br /&gt;
    Dim str As String&lt;br /&gt;
    &lt;br /&gt;
    Set dbOne = CurrentDb&lt;br /&gt;
    Set dbTwo = CurrentDb&lt;br /&gt;
    For Each fldNew In dbOne.TableDefs!BOOKS.Fields&lt;br /&gt;
        Debug.Print fldNew.Name&lt;br /&gt;
    Next&lt;br /&gt;
    &lt;br /&gt;
    Set fldNew = dbOne.TableDefs!BOOKS.CreateField(&amp;quot;NewField1&amp;quot;, dbInteger)&lt;br /&gt;
    dbOne.TableDefs!BOOKS.Fields.Append fldNew&lt;br /&gt;
    &lt;br /&gt;
    Set fldNew = dbTwo.TableDefs!BOOKS.CreateField(&amp;quot;NewField2&amp;quot;, dbInteger)&lt;br /&gt;
    dbTwo.TableDefs!BOOKS.Fields.Append fldNew&lt;br /&gt;
    &lt;br /&gt;
    dbOne.TableDefs!BOOKS.Fields.Refresh&lt;br /&gt;
    &lt;br /&gt;
    For Each fldNew In dbOne.TableDefs!BOOKS.Fields&lt;br /&gt;
        Debug.Print fldNew.Name &lt;br /&gt;
    Next&lt;br /&gt;
    For Each fldNew In dbTwo.TableDefs!BOOKS.Fields&lt;br /&gt;
        Debug.Print fldNew.Name&lt;br /&gt;
    Next&lt;br /&gt;
    dbOne.Close&lt;br /&gt;
    dbTwo.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>