Can't find installable ISAM

Posted on 2004-08-30
Medium Priority
Last Modified: 2013-12-25
Here's my code:

Option Explicit
Dim ws As Workspace
Dim dbCurrent As Database
Dim rsCurrent As Recordset

Private Sub Command1_Click()
    Dim tmpTable As TableDef
    Dim Fld As Field
    Dim i As Integer

    Set dbCurrent = ws.CreateDatabase(App.Path & "\temp.mdb", dbOpenDynaset)

when it gets to this last line, it gives me an error saying "Can't find installable ISAM," which is strange because I was able to run similar code yesterday.
Question by:DrDamnit
  • 2
  • 2
LVL 53

Expert Comment

ID: 11939152
You can try:

Dim catCatalog As New ADOX.Catalog, tblTable As ADOX.Table, colColumn As ADOX.Column

catCatalog.Create "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Database

set tblTable = New ADOX.Table
tblTable.Name = "MyTable"

set colColumn = new ADOX.Column
colColumn.Name = "ColumnName"  '**
colColumn.Type = adVarWChar    '**
colColumn.DefinedSize = 50     '**
colColumn.Attributes = adColNullable  '**  - this still does not set Allow Zero Length Attribute to Zero (it only sets Required to False)

tblTable.Columns.Append colColumn   '**

'** repeat the code to add as many columns needed.

'for columns like datetime you don't need DefinedSize

catCatalog.Tables.Append tblTable

set tblTable = nothing: set colColumn = nothing: set catCatalog = nothing

LVL 53

Expert Comment

ID: 11939186

The DLL for an installable ISAM file could not be found. This file is required for linking external tables
(other than ODBC or Microsoft Jet database tables). The locations for all ISAM drivers are maintained in the
Windows Registry. These entries are created automatically when you install your application. If you change
the location of these drivers, you need to correct your application Setup program to reflect this change and
make the correct entries in the Registry.

Possible causes:

An entry in the Registry is not valid. For example, this error occurs if you're using a Paradox external
database and the Paradox entry points to a nonexistent directory or driver. Exit the application, correct the
Windows Registry, and try the operation again.

One of the entries in the Registry points to a network drive and that network is not connected. Make sure
the network is available, and then try the operation again.

Accepted Solution

plq earned 2000 total points
ID: 11942797
dbOpenDynaset applies to the openrecordset method, not to createdatabase
LVL 32

Author Comment

ID: 11949789
My, how sometimes the obvious eludes us....

Expert Comment

ID: 11949841
I know the feeling. Thanks for the points.

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question