Article ID: 107363
Article Last Modified on 1/8/2003
Sub Form_Load ()
Const DB_LANG_GENERAL = ";LANGID=0x0809;CP=1252;COUNTRY=0"
Dim db As database
If Dir$("c:\t.mdb") <> "" Then Kill "c:\t.mdb"
Set db = CreateDatabase("c:\t.mdb", DB_LANG_GENERAL)
Dim f1 As New field
Dim f2 As New field
f1.Name = "field1"
f1.Type = 3 ' integer
f2.Name = "field2"
f2.Type = 3 ' integer
Dim td As New TableDef
td.Name = "table1"
td.Fields.Append f1
td.Fields.Append f2
Dim ix As New Index
ix.Name = "index1"
ix.Fields = "field1;field2"
td.Indexes.Append ix
' create the table
db.TableDefs.Append td
' add records to the table
Dim tb As table
Set tb = db.OpenTable("table1")
tb.AddNew
tb.Fields("field1").Value = 1
tb.Fields("field2").Value = 2
tb.Update
tb.AddNew
tb.Fields("field1").Value = 4
tb.Fields("field2").Value = 5
tb.Update
tb.AddNew
tb.Fields("field1").Value = 7
tb.Fields("field2").Value = 8
tb.Update
tb.Index = "index1"
tb.Seek "=", 4, 5
Print tb.NoMatch
Print tb.Fields("field1").Value
' Delete the index:
Dim td2 As TableDef
Set td2 = db.TableDefs("table1")
' The following line causes "ODBC-call failed" error message:
td2.Indexes.Delete db.TableDefs("table1").Indexes("Index1").Name
' The workaround is to move this statement to after the table Close
tb.Close
' Workaround: move the statement from above to here:
' td2.Indexes.Delete db.TableDefs("table1").Indexes("Index1").Name
db.Close
End Sub
Additional query words: buglist3.00 3.00 erase remove how-to create fixlist4.00
Keywords: kbbug kbfix KB107363