List Info

Thread: DATABASE ERROR (DAO)




DATABASE ERROR (DAO)
country flaguser name
United States
2007-10-22 13:25:18

I have a program that works fine. I basically use it as a shell for
other programming jobs, so it's basically the same program, but with
a different number of fields. The main version of the program works
fine, but when I run my "copy" with the new fields I get a "object
variable or with block variable not set" when I try to check the
data1.recordset.eof or bof properties! I have looked at the programs
side by side and I can't see a difference anywhere! The databasename
property is ok, but it's also not creating the database properly,
which is possibly why I am getting these errors. But, the code to
create the database is exactly the same. In one program, I can load
it up in Access, in the second one with the problems, it is not a
valid database file. Both are DAO 3.51. Any ideas!?

Thanks in advance,

*-Chris
====================================================
Private Sub mnuNew_Click()

Dim dbNewDB As Database
Dim tdNewTable As TableDef
Dim fld As field
Dim idx As Index

Set dbNewDB = CreateDatabase(CommonDialog1.FileName, dbLangGeneral)
Set tdNewTable = New TableDef

'----------------------------------------------------------
Begin Defining Database Fields
Set fld = tdNewTable.CreateField("KeyerName", dbText, 30) '*
fld.AllowZeroLength = True '*
tdNewTable.Fields.Append fld '*

Set fld = tdNewTable.CreateField("VerifierName", dbText, 30) '*
fld.AllowZeroLength = True '*
tdNewTable.Fields.Append fld '*

Set fld = tdNewTable.CreateField("KeyDate", dbText, 10) '*
fld.AllowZeroLength = True '*
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("VerifyDate", dbText, 10) '*
fld.AllowZeroLength = True '*
tdNewTable.Fields.Append fld

'===================

Set fld = tdNewTable.CreateField("Ver", dbText, 8)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("Location";, dbText, 2)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("Recd", dbLong, 0)
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field0", dbText, 8)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field1", dbText, 11)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field2", dbText, 2)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field3", dbText, 2)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field4", dbText, 4)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field5", dbText, 2)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field6", dbText, 2)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field7", dbText, 4)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field8", dbText, 1)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field9", dbText, 2)
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field10", dbText, 2) 'GRADE
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field11", dbText, 20) 'Teacher's
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field12", dbText, 20) 'School
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

Set fld = tdNewTable.CreateField("field13", dbText, 20) 'District /
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

For X = 14 To 35 '*********************************************
'*
newfield = "field" & X '*
'*
Set fld = tdNewTable.CreateField(newfield, dbText, 1) '*
fld.AllowZeroLength = True '*
tdNewTable.Fields.Append fld '*
'*
Next X '*****************************************************

Set fld = tdNewTable.CreateField("field36", dbText, 10) 'OTHER_VERB
fld.AllowZeroLength = True
tdNewTable.Fields.Append fld

For X = 36 To
MaxField '*********************************************
'*
newfield = "field" & X '*
'*
Set fld = tdNewTable.CreateField(newfield, dbText, 1) '*
fld.AllowZeroLength = True '*
tdNewTable.Fields.Append fld '*
'*
Next X '*****************************************************


'-------------------------------------------------------- End Define
Database Fields

Set idx = tdNewTable.CreateIndex '************** Define indexes
With idx
.Name = "idxRecd"
.Fields.Append .CreateField("Recd")
End With

tdNewTable.Indexes.Append idx '******************************

tdNewTable.Name = "tblSurvey"
dbNewDB.TableDefs.Append tdNewTable

Set dbNewDB = Nothing

Data1.DatabaseName = CommonDialog1.FileName

Data1.Refresh

End Sub

__._,_.___
.

__,_._,___
Re: DATABASE ERROR (DAO) -=SOLVED=-
country flaguser name
United States
2007-10-22 14:07:28

I figured it out.

I was creating two "field36" 's and that was the problem.

[C]

__._,_.___
.

__,_._,___
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )