1

メモ帳ファイルを VB 6.0 にインポートし、ファイルの内容をデータベース (Microsoft Access データベース) に保存するにはどうすればよいですか?

4

4 に答える 4

1

基本的な手順 (任意の言語/データベース):

  1. ファイルを読む

  2. 接続文字列を使用してデータベースに接続する

  3. 表に挿入

具体的な情報とコードについては、Access 2003 と Visual Basic 6 の接続を参照してください。

于 2009-06-20T13:02:06.510 に答える
0

さて、私は最近これをたくさんやっています。したがって、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

その最後のビットは私の頭の上からタイプされたので、穴があるかもしれません. もう 1 つのコードは、日常的に使用される Class ファイルです。

また、クラス ファイル コードは COM オブジェクトで公開されるため、Variant宣言が優先されます。

HTH。

于 2009-06-30T14:15:36.840 に答える
-2

Microsoft Excel を使用してメモ帳ファイルを読み込んでから、そこから Microsoft Access に取り込もうとするかもしれません。

于 2009-06-20T13:04:57.173 に答える