Как из TXT файла записи перенести в базу данных
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как из TXT файла записи перенести в базу... Expand / Collapse
Автор
Сообщение
23.05.2000 16:22
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 23.05.2000 16:14
Сообщ.: 2, Visits: 23
Проблема в переносе из текстового файла с циклически повторяющимися данными расположенными в один столбец в базу данных Access

Сообщ. #428
24.05.2000 1:54
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421, Visits: 49 251
Допустим у тебя повторяются данные через x раз (3 строки, потом опять 3 строки и т.д...)

----------------

Dim arr(x) As String

Open fileName For Input As #1

While Not EOF(1)

x=x+1
Line Input #1, arr(x)
If i=x Then
...записать массив в БД...
i=0
End If

Wend

Close #1

----------------
Примерно так
Сообщ. #431
25.05.2000 5:17
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 23.05.2000 16:14
Сообщ.: 2, Visits: 23
Вот тако решение прислал мне Armen Mnatsakanyan
E-mail : am86@Yahoo.com
URL : http://www.cm.f2s.com
______________________
Option Explicit

Объявляем переменные
Dim DB As Database
Dim WS As Workspace
Dim RS As Recordset




Private Sub Command1_Click()

Dim A1 As String, A2 As String, A3 As String, A4 As String
Dim A5 As String, A6 As String, A7 As String, A8 As String
Dim A9 As String, path1 As String

Dim strStroka As String
Dim intX As Integer

'Открываем БД
Set WS = DBEngine.Workspaces(0)
Set DB = WS.OpenDatabase("c:\temp\mak1.mdb", False, False)
Set RS = DB.OpenRecordset("RIELT", dbOpenDynaset)

'Открываем файл

cdl1.ShowOpen 'cOMMONDIALOG
path1 = cdl1.FileName
Open path1 For Input As #1
'Начинаем считывать информацию
'1.Создаем цикл
Do While Not EOF(1)
Line Input #1, strStroka
Line1:
If Trim(strStroka) = "##" Then
'2.Переходим к считыванию информации
'Для этого организовываем второй цикл
intX = 0
Do While Not EOF(1)
Line Input #1, strStroka
'If Trim(strStroka) <> Empty Then
'Если количество информации фиксированно - 16
intX = intX + 1
Select Case intX
Case 1
A1 = Trim(strStroka)
Case 2
A2 = Trim(strStroka)
Case 3
A3 = Trim(strStroka)
Case 4
A4 = Trim(strStroka)
Case 5
A5 = Trim(strStroka)
Case 6
A6 = Trim(strStroka)
Case 7
A7 = Trim(strStroka)
Case 8
A8 = Trim(strStroka)
Case 9
A9 = Trim(strStroka)
Case 10
RS.AddNew
RS("A1") = A1
RS("A2") = A2
RS("A3") = A3
RS("A4") = A4
RS("A5") = A5
RS("A6") = A6
RS("A7") = A7
RS("A8") = A8
RS("A9") = A9
RS("A10") = A10
RS.Update
GoTo Line1
End Select

'End If
Loop
End If
Loop
Close #1

MsgBox "Все строки считаны в Базу Данных." & vbCrLf & _
"Общее количество строк - " & RS.RecordCount, vbInformation

RS.Close
DB.Close
WS.Close

End Sub


Private Sub Command2_Click()
End
End Sub

Private Sub Form_Unload(Cancel As Integer)
'При закрытии формы уничтожаем объекты
On Error GoTo ErrHandler

Set RS = Nothing
Set DB = Nothing
Set WS = Nothing

Exit Sub

ErrHandler:

Resume Next

End Sub
Сообщ. #437
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Comanche, Alexey Spirin

Время GMT +3:00, Сейчас 5:05