メモ帳ファイルを VB 6.0 にインポートし、ファイルの内容をデータベース (Microsoft Access データベース) に保存するにはどうすればよいですか?
3655 次
4 に答える
1
基本的な手順 (任意の言語/データベース):
ファイルを読む
接続文字列を使用してデータベースに接続する
表に挿入
具体的な情報とコードについては、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 に答える