class= " lineNumbers "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
|
class=
функция ImportData2800 " class= " id= " codeSnippet823032 Public ()
Const IMPORT_FOLDER как шнур = «C:\Shared\Reports\Data\»
Тусклое dbsCurrent как DAO.Database
Тусклое fldField как DAO.Field
Тусклое intFile как интежер
Тусклое lngField как длиной
Тусклые strFields () как шнур
Тусклое strFile как шнур
Тусклое strLine как шнур
Тусклое strTable как шнур
Тусклое strDevice как шнур
Тусклые strValues () как шнур
Тусклое rstImportData как DAO.Recordset
Тусклое tdfTableDef как DAO.TableDef
'Отростчатые архивы
Установленное dbsCurrent = CurrentDb
strFile = Dir (IMPORT_FOLDER & «\ *.txt»)
Не сделать до strFile = ""
'Открытый архив
intFile = FreeFile
Открытые IMPORT_FOLDER & strFile для доступа входного сигнала прочитали после того как они поделены как #intFile
'Назовите мастерскую таблицу здесь
strTable = «TBL_DATA» 'изменяют меня к вы хотите
'Назовите приспособление
strDevice = вышло (strFile, Len (strFile) - 4)
'Прочитайте рубрики колонки
Если не EOF (intFile) после этого
Линия Input #intFile, strLine
strFields = разделили (strLine, vbTab)
Закончитесь если
'Это должно получить освобожданным всех двойных космосов.
Для j = 0 к UBound (strFields)
strFields (j) = заменяют ть (strFields (j), ««,» ")
Затем
'Добавьте колонку для приспособления в наш список колонок
strFields заповедника ReDim (0 к UBound (strFields) + 1) как шнур
strFields (UBound (strFields)) = «приспособление»
'Создайте таблицу, если обязательно
Установите tdfTableDef = ничего
На резюме ошибки затем 'проигнорируйте пропавшую таблицу
Установите tdfTableDef = dbsCurrent.TableDefs (strTable)
На ошибке переход 0
Если tdfTableDef ничего после этого
Установите tdfTableDef = dbsCurrent.CreateTableDef (strTable)
Закончитесь если
'Создайте поля, если обязательно
Для lngField = 0 к UBound (strFields)
Установите fldField = ничего
На резюме ошибки затем 'проигнорируйте пропавшие поля
Установите fldField = tdfTableDef.Fields (strFields (lngField))
На ошибке переход 0
Если fldField ничего после этого
Установите fldField = tdfTableDef.CreateField (strFields (lngField), dbText) 'всегда создавайте поля текста
fldField tdfTableDef.Fields.Append
Закончитесь если
Затем
'Создайте поле даты отметки даты, если обязательно
Установите fldField = ничего
На резюме ошибки затем 'проигнорируйте пропавшее поле
Установите fldField = tdfTableDef.Fields («DateStamp»)
На ошибке переход 0
Если fldField ничего после этого 'никакое поле DateStamp
Установите fldField = tdfTableDef.CreateField («DateStamp», dbDate)
fldField.DefaultValue = «дата ()»
fldField tdfTableDef.Fields.Append
Закончитесь если
На резюме ошибки затем 'проигнорируйте существующий таблицу
tdfTableDef dbsCurrent.TableDefs.Append
На ошибке переход 0
'Прочитайте архив
Установите rstImportData = CurrentDb.OpenRecordset (strTable)
Не сделать до EOF (intFile)
Выровняйте входной сигнал #intFile, strLine
strValues = разделили (strLine, vbTab)
strValues заповедника ReDim (0 к UBound (strValues) + 1) как шнур
strValues (UBound (strValues)) = strDevice
'Данные по ввоза
rstImportData.AddNew
Для lngField = 0 к UBound (strValues)
rstImportData (strFields (lngField)) = strValues (lngField)
Затем
rstImportData.Update
Петля
rstImportData.Close
'Близкий архив
Близкое #intFile
strFile = Dir
Петля
Функция конца
|