Sorry for the delay in writing back.
Tranman,
Thanks for the append query. you're right. that's easy!
I don't think it's the ODBC driver, because i am using one computer that has both Acc97 and Acc2000. So they both use the same ODBC driver, right? On the Acc97 database, the field imports as a Text, but on the Acc2000, the same field imports as a Number.
Changing data types from Number to Text can be accomplished with the following code which i got from DougP:
Sub AlterFieldType(TblName As String, FieldName As String, NewDataType As String)
Dim db As Database
Dim qdf As QueryDef
Set db = CurrentDb()
' Create a dummy QueryDef object.
Set qdf = db.CreateQueryDef("", "Select * from Table1"
' Add a temporary field to the table.
qdf.SQL = "ALTER TABLE [" & TblName & "] ADD COLUMN AlterTempField " & NewDataType
qdf.Execute
' Copy the data from old field into the new field.
qdf.SQL = "UPDATE DISTINCTROW [" & TblName & "] SET AlterTempField = [" & FieldName & "]"
qdf.Execute
' Delete the old field.
qdf.SQL = "ALTER TABLE [" & TblName & "] DROP COLUMN [" & FieldName & "]"
qdf.Execute
' Rename the temporary field to the old field's name.
db.TableDefs("[" & TblName & "]"

.Fields("AlterTempField"

.Name = FieldName
' Clean up.
End Sub
to call sub
AlterFieldType "Table1", "Employee", "LONG"
Hap007,
Thanks for writing. When i first created the database, we were asked not to link to the tables because it would slow down the network. But the way you and Tranman mention about deleting and appending is a good way. I'm just worried about new fields being added to the table since i think new fields are added quite often.