ник: час
А вот нашёл про спецификацию
Для импорта текстового файла с помощью команды TransferText нам необходимо иметь так называемую спецификацию импорта. Ее можно создать вручную (с помощью мастера), а можно и программно, причем при создании с помощью кода есть возможность указать строку текстового файла, с которого начинать импорт. При формировании спецификации с помощью мастера такой возможности нет. Спецификация хранится в системных таблицах Access’a MSysIMEXSpecs (заголовочная часть) и MSysIMEXColumns (описание для колонок текстового файла). Кусок кода, создающего спецификацию приведен ниже:
If DCount("*", "MSysIMEXSpecs", "SpecName=""Export_" & strTableName & "_TableToText""") = 0 Then
Set rst = db.OpenRecordset("MSysIMEXSpecs")
With rst
.AddNew
.Fields("SpecName") = "Export_" & strTableName & "_TableToText"
.Fields("DateDelim") = "."
.Fields("DateFourDigitYear") = "-1"
.Fields("DateLeadingZeros") = "-1"
.Fields("DateOrder") = 0 ' 0 - ДМГ; 1 - ДГМ; 2 - МДГ; 3 - МГД; 4 - ГДМ; 5- ГМД
.Fields("DecimalPoint") = ","
.Fields("FieldSeparator") = ";"
.Fields("FileType") = 0 ' 0 - win кодировка; 1 - dos кодировка
.Fields("SpecType") = 1 ' 2 - с полями фикс. ширины; 1 - с разделителями
.Fields("StartRow") = 1 ' 1 - первая строка содержит имена полей; 0 - нет
.Fields("TextDelim") = """"
.Fields("TimeDelim") = ":"
.UPDATE
.Bookmark = .LastModified
lngID = .Fields("SpecID")
.Close
End With
Set rst = db.OpenRecordset("MSysIMEXColumns")
lngPos = 1
For Each fld In tbl.Fields
With rst
.AddNew
.Fields("SpecID") = lngID
.Fields("FieldName") = fld.Name
.Fields("DataType") = fld.Type
.Fields("IndexType") = 0 ' 0 - нет; 1 – есть (неуникальный); 2 – есть (уникальный)
.Fields("SkipColumn") = False
.Fields("Start") = lngPos
.Fields("Width") = fld.Size
lngPos = lngPos + fld.Size
.UPDATE
End With
Next
rst.Close
End If