|
▼mickeypapa さん:
こんばんは。
>こんにちは、宜しくお願いいたします。
>作成中のファイルのサイズが大きくなってきたので、データとマクロを分けて
>データのファイルが300KBほどになったのですが、データを1000件ほど
>打ち込んでいくと、600KBを超えてしまいました。起動時や保存の時を考えると、なるべくファイルサイズを抑えたいと思い、行き当たったのがデータを
>mdbファイルに保存するという方法です。ネットや本で調べて、どうにか
>mdbファイルから呼び出すことは出来る様になったのですが、それ以上先には進むことが出来ません。
>アドバイス宜しくお願い致します。
>
>1.mdbファイルを呼び出すときに2004/10/1〜現在日までのデータというように
> 数ヶ月前までのデータを呼び出せる様にしたい。
>2.更新したデータをmdbファイルに書き込み(保存)できる様にしたい。
>
>mdbファイルからデータを呼び出すコードは下記の通りです。
>mdbファイルのテーブルと同じ項目が、呼び出すシートのA1〜T1にあります。
>
>Sub DAO()
> 'Microsoft DAO 3.6 Object Library 参照設定
> Dim myDb As DAO.Database
> Dim myRst As DAO.Recordset
> Dim myFileName As String
> Dim myTblName As String
>
> myFileName = "運送.mdb" '読み込むファイル
' myTblName = "運送DATA" '読み込むテーブル
myTblName = "select * from 運送DATA where 日付 between #2004/10/1# and #" & Format(Date, "yyyy/m/d") & "#"
'これで試してみてください
'コピーする際、空白が全角になっているとエラーになってしまうので注意してネ
'上の例で言うと select * from ←×
'コピー後、再確認して下さい
'尚、日付は、日付という名前が付けられたフィールドです。差し替えて下さい
>
> Set myDb = OpenDatabase(ThisWorkbook.Path & "\" & myFileName)
> Set myRst = myDb.OpenRecordset(myTblName)
> With myRst
>
> 'レコード
> Range("A2").CopyFromRecordset myRst
> .Close
> End With
> myDb.Close
> Set myRst = Nothing 'オブジェクトの解放
> Set myDb = Nothing
> Range("A65536").End(xlUp).Offset(1, 1).Select
>End Sub
|
|