Сохранение файла блокнота в базе данных (Microsoft Access) - PullRequest
1 голос
/ 20 июня 2009

Как импортировать файл блокнота в VB 6.0, а затем сохранить содержимое в базе данных (база данных Microsoft Access)

Ответы [ 4 ]

1 голос
/ 20 июня 2009

Основные шаги (для любого языка / базы данных):

  1. Прочитать файл

  2. Подключение к базе данных с использованием строки подключения

  3. Включить в таблицы

См. Соединение Access 2003 с Visual Basic 6 для получения конкретной информации и кода.

0 голосов
/ 30 июня 2009

Хорошо, я делаю это много в последнее время. Итак, если у вас есть ссылка на SCRRUN.DLL, эта первая функция будет читать файл (и справится с ANSI и Unicode):

Function ReadFileE(Filename As Variant) As String
    Dim oStream As scripting.TextStream
    Dim sData As String

    Set oFSO = New scripting.FileSystemObject
    sData = vbNullString
    On Error Resume Next
    Set oStream = oFSO.OpenTextFile(Filename, ForReading, False, TristateMixed)
    If Err.Number = 0 Then
        sData = oStream.ReadAll
        oStream.Close
    Else
        sData = vbNullString
        End If
        On Error GoTo 0
        ReadFileE = sData
End Function

Следующие функции, которые я использую для открытия базы данных и запроса к ней:

Function OpenMDB(sFile As Variant) As Variant  ' ADODB.Connection
    Dim nErr As Long
    Dim sErr As String
    Dim oConnection As Object 'ADODB.Connection
    Set oConnection = CreateObject("ADODB.Connection")
    On Error Resume Next
    oConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFile
    nErr = Err.Number
    sErr = Err.Description
    On Error GoTo 0
    If nErr <> 0 Then
    Err.Raise OPENDATABASE_E_NOTFOUND, , sErr
    End If
    Set OpenMDB = oConnection
End Function

Function QueryMDB(ByRef oDB As Variant, sQuery As Variant, Optional bCmdText As Boolean = False) As Variant ''ADODB.Connection ADODB.Recordset
    Const adOpenForwardOnly  As Long = 0
    Const adOpenStatic As Long = 3
    Const adOpenDynamic As Long = 2
    Const adOpenKeyset As Long = 1
    Const adLockOptimistic As Long = 3
    Const adCmdText As Long = 1
    Dim oRecordSet As Object 'ADODB.Recordset
    Set oRecordSet = CreateObject("ADODB.RecordSet")
    oRecordSet.Open sQuery, oDB, adOpenKeyset, adLockOptimistic
    Set QueryMDB = oRecordSet
End Function

А теперь немного примера кода:

Dim sText As String
sText = ReadFileE("c:\windows\system32\SQLSRDME.TXT")
Dim db As Variant
Dim rs as Variant
set db = OpenMDB("c:\users\bruce\documents\database.mdb")
set rs = QueryMDB( db, "SELECT * FROM Table1" )
rs.Find "Field1='SQLSRDME.TXT'"
If Not rs.EOF Then
    rs("Field2") = sText
    rs.Update
End If
rs.Close
db.Close

Этот последний бит был напечатан на макушке, поэтому в нем могут быть дыры. Другой код находится в файле Class, который используется ежедневно.

Кроме того, код файла класса представлен в COM-объекте, таким образом, преобладание Variant объявлений.

НТН.

0 голосов
/ 22 июня 2009

Я прочитаю между строк здесь и думаю, что вы ссылаетесь на какие-то табличные данные, содержащиеся в текстовом файле.

Если это так, то, возможно, найденные строки подключения Jet (или ODBC) здесь (вместе с файлом schema.ini) могут быть тем, что вы ищете.

Затем можно использовать наборы записей ADODB, чтобы выбрать данные из текстового файла и вставить их в базу данных Access.

0 голосов
/ 20 июня 2009

Вы можете попытаться загрузить файл блокнота с помощью Microsoft Excel, а затем попытаться загрузить его в Microsoft Acces оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...