powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Help!!! из *.dbf таблицы значения нужно скопировать в Access
6 сообщений из 6, страница 1 из 1
Help!!! из *.dbf таблицы значения нужно скопировать в Access
    #35609299
Igor-1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите решить вопросик такой...
...
Рейтинг: 0 / 0
Help!!! из *.dbf таблицы значения нужно скопировать в Access
    #35610101
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подобное
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Public Sub Command1_Click()
    Dim file_mdb As String:  file_mdb = "db1.mdb"
    Dim name_dbf As String:  name_dbf = "basa"
    Dim tablica1 As String:  tablica1 = "Таблица1"  ' будет создана таблица в db1.mdb из basa.dbf одним махом
    
    Dim DB1 As New ADODB.Connection
    With DB1
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Mode = adModeReadWrite
        .ConnectionString = App.Path & "\db1.mdb"
        .Open
        .Execute "SELECT * INTO [Таблица1] FROM [dBase III;DATABASE=" & App.Path & "\].[basa#dbf]"
        .Close
    End With
    
    Set DB1 = Nothing
    
End Sub

но прилинковаться всё же лучше
ещё подобнее
Код: 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.
Private Sub Command1_Click000()
    On Error GoTo err1
    
    Dim file_mdb As String:  file_mdb = "db1.mdb"
    Dim name_dbf As String:  name_dbf = "basa"
    
    Dim DB As DAO.Database
    Dim RS1 As DAO.Recordset
    Dim RS2 As DAO.Recordset
    Dim TB As DAO.TableDef

    'присоединю базы dbf к db1.mdb
    Set DB1 = DBEngine( 0 ).OpenDatabase(App.Path & "\" & file_mdb, True, False)
   
    Set TB = DB.CreateTableDef(name_dbf)
    TB.Connect = "dBase III;DataBase=" & App.Path
    TB.SourceTableName = name_dbf
    DB.TableDefs.Append TB

    Set RS = DB.OpenRecordset("SELECT * From  " & name_dbf, dbOpenDynaset, dbDenyWrite)
    
    If Not RS.EOF Then
        RS.MoveLast
        MsgBox RS.RecordCount
    End If

   DB.TableDefs.Delete name_dbf    ' отключиться

    RS.Close
    DB.Close
    Set TB = Nothing
    Set RS = Nothing
    Set DB = Nothing
    Exit Sub
err1:
    MsgBox Err.Description
    Set RS = Nothing
    Set TB = Nothing
    Set DB = Nothing
End Sub
...
Рейтинг: 0 / 0
Help!!! из *.dbf таблицы значения нужно скопировать в Access
    #35611554
Igor-1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
klen_,

спасибо но проблема осталась так как dbf таблицы Visual Fox Pro, пишет что ISAM не найден ((((а так пример хороший))))спасибо огромное!!!
...
Рейтинг: 0 / 0
Help!!! из *.dbf таблицы значения нужно скопировать в Access
    #35612878
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor-1986спасибо но проблема осталась так как dbf таблицы Visual Fox Pro
так можно получить RecordSet к файлу dbf (VFP)
а как дальше создать и заполнить таблицу в файле mdb (Access), именно запросом ,
а не перебором (запись за записью), я затрудняюсь. А хотелось бы знать!
Когда узнаешь, выкладывай сюда код, пожалуйста.
С уважением Игорь.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Command1_Click()
    Dim sFolder As String:          sFolder = App.Path
    Dim sTable_ As String:          sTable_ = "base_VFP"
    
    Dim cnn As ADODB.Connection:    Set cnn = New ADODB.Connection
    Dim rst As ADODB.Recordset:     Set rst = New ADODB.Recordset
    
    cnn.Provider = "VFPOLEDB.1"
    cnn.Properties("Data Source") = sFolder
    cnn.Open
    rst.Open "SELECT * FROM " & sTable_, cnn
    If Not rst.EOF Then
        MsgBox rst.Fields( 0 )
    End If
    
    rst.Close:  Set rst = Nothing
    cnn.Close:  Set cnn = Nothing
End Sub
...
Рейтинг: 0 / 0
Help!!! из *.dbf таблицы значения нужно скопировать в Access
    #35612966
Igor-1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
klen_,
вот кодик с запросом, но проблема вся в том что запрос jet-sql не хочет пахать с VisualFoxPro.
в примере я Tbl перевел в старый формат базы и тады работает все замечательно, а табличек много и перебором не хочеться, но чет подсказует что прийдеться((((но буду искать и пробовать сделать...

Dim cnMDB As ADODB.Connection
'======

Set cnMDB = New ADODB.Connection
With cnMDB
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\dbftbl.mdb; Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=littlecow"
.Open
.Execute "select *into [dbf11] from [dBASE 5.0;DATABASE=G:\Rabota\VisFoxProDBF\].[Tbl#dbf]"
.Close
End With
Set cnMDB = Nothing
End Sub
...
Рейтинг: 0 / 0
Help!!! из *.dbf таблицы значения нужно скопировать в Access
    #35617113
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот здесь очень интересный word-овский файлик, особенно на 12-ой странице
и вообще интересный сайтик
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Help!!! из *.dbf таблицы значения нужно скопировать в Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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