Здравствуйте, господа, дамы, товарищи!
 
Пытаюсь перебросить данные из базы DBF в MDB, на команде DoCmd.TransferDatabase выходит ошибка:
 
"Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом."
 
Может кто в курсе как исправить? Вот код (закоментированные строки - второй вариант, ошибка та же)
 
 
Imports System.Data.OleDb
 
Imports Microsoft.Office.Interop
 
Module Module1
 
    Sub main()
 
        Dim cn As New ADODB.Connection()
 
        Dim str, tmpTN, Tabs(2) As String
 
        Dim DBpath As String = My.Application.Info.DirectoryPath & "\pc"
 
        str = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & My.Application.Info.DirectoryPath & "\GeoNet.mdb;"
 
        'str = "Provider=VFPOLEDB.1;Data Source=" & DBpath & ";Extended Properties=dBASE IV;User ID=Admin;Password=" & """" & """" & ";"
 
        Tabs(0) = "KO.DBF"
 
        Tabs(1) = "KP.DBF"
 
        Tabs(2) = "UC.DBF"
 
        cn.ConnectionString = str
 
        cn.Open()
 
 
        For i = 0 To Tabs.Length - 1
 
            While System.IO.File.Exists(DBpath & "\" & Tabs(i)) = False
 
                System.Threading.Thread.Sleep(1000)
 
            End While
 
 
            tmpTN = Replace(Tabs(i), ".DBF", "", , , CompareMethod.Text)
 
            'cn.DoCmd.TransferDatabase(Access.AcDataTransferType.acExport, "Microsoft Access", My.Application.Info.DirectoryPath & "\GeoNet.mdb", Access.AcObjectType.acTable, tmpTN, tmpTN & "i", False)
 
            cn.DoCmd.TransferDatabase(Access.AcDataTransferType.acImport, "dBASE IV", DBpath & "\", Access.AcObjectType.acTable, tmpTN, tmpTN & "i")
 
        Next
 
        End
 
    End Sub
 
End Module 
Ответить
        |