Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Строка текста в .dbf / 5 сообщений из 5, страница 1 из 1
13.05.2008, 17:28
    #35309795
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка текста в .dbf
Здравствуйте !

С .dbf файлами в первые хочу попробовать работать

Вопрос:

В цикле читаю строки (с разделитялями VbTab) :
Код: plaintext
1.
2.
"SES127"	 1 	 01 . 01 . 1976 	 22 	 0 
 .......
 ......

Есть средства чтобы прописать это в .dbf файл ?

Если можно по пдробнее

Спасибо большое
...
Рейтинг: 0 / 0
14.05.2008, 07:21
    #35310509
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка текста в .dbf
примерно так на примере access-a

Код: plaintext
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.
Dim str() As String
Dim mas As Variant
Dim i As Long, j As Long
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
con.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\db.mdb;Uid=Admin;Pwd=;"""
With rs
    .ActiveConnection = con
    .LockType = adLockBatchOptimistic
    .CursorLocation = adUseClient
    .CursorType = adOpenDynamic
    .Open "select * from dbftest"
End With
ReDim str( 3 )
str( 0 ) = "SES100   1   01.01.1980  22  0"
str( 1 ) = "SES789   1   01.01.1945  20  1"
str( 2 ) = "SES117   1   01.01.1988  25  0"
str( 3 ) = "SES145   1   01.01.1976  21  0"

For j =  0  To UBound(str)
    mas = Split(str(j), "  ")
    rs.AddNew
        For i =  0  To UBound(mas)
            rs.Fields(i).Value = mas(i)
        Next i
    rs.UpdateBatch
Next j

rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
...
Рейтинг: 0 / 0
14.05.2008, 10:09
    #35310740
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка текста в .dbf
Ваш пример работает

А можно в отдельности записать построчно, т.е:
Читать первую строку из стороннего источника, ее же записать в Ассесе
Потом вторую и так далее ...

Например у меня:


Код: plaintext
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.
Private Sub Com_Click()
Dim Info1() As String
Dim nod As String
Dim mas As Variant
Dim i As Long, j As Long, cik As Long
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
con.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\db1.mdb;Uid=Admin;Pwd=;"""
With rs
    .ActiveConnection = con
    .LockType = adLockBatchOptimistic
    .CursorLocation = adUseClient
    .CursorType = adOpenDynamic
    .Open "select * from NEW"
End With
 
n =  0 
MousePointer = vbHourglass
        m.Xecute ("s var=""" & Text2 & """")
        For i =  0  To  9999999 
        nod = m.Do("glb^%gvED")
        If nod <> "" Then
        ret = m.Xecute("w " & nod & "")
        n = n +  1 
 
 Info = Replace(Piece(Piece(nod, "(",  2 ), ")",  1 ), ",", "\")
 Info1 = Info & "\" & ret ' Это отдельная (единичная) строка !!!!
              
             Else
         Exit For
    End If
    
'******************************* Не получается
For j =  0  To UBound(Info1)
    mas = Split(Info1(j), "\")
    rs.AddNew
        For cik =  0  To UBound(Info1)
            rs.Fields(cik).Value = mas(cik)
        Next cik
    rs.UpdateBatch
Next j
        Next i
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
'****************************

End Sub

Буду очень признателен
Спасибо
...
Рейтинг: 0 / 0
14.05.2008, 11:15
    #35311016
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка текста в .dbf
одной строкой
Код: plaintext
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.
Dim str As String
Dim mas As Variant
Dim i As Long
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
con.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\db.mdb;Uid=Admin;Pwd=;"""
With rs
    .ActiveConnection = con
    .LockType = adLockBatchOptimistic
    .CursorLocation = adUseClient
    .CursorType = adOpenDynamic
    .Open "select * from dbftest"
End With

str = "SES100   1   01.01.1980  22  0"

    mas = Split(str, "  ")
    rs.AddNew
        For i =  0  To UBound(mas)
            rs.Fields(i).Value = mas(i)
        Next i
    rs.UpdateBatch


rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
...
Рейтинг: 0 / 0
14.05.2008, 12:51
    #35311463
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка текста в .dbf
Спасибо !!!

Еще вопрос.
Иногда при большом обьеме инфо вылетает по low memory
Как избавиться от такой неприятности ???

Спасибо !
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Строка текста в .dbf / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]