ラベル ACCESS97 の投稿を表示しています。 すべての投稿を表示
ラベル ACCESS97 の投稿を表示しています。 すべての投稿を表示

2012年3月12日月曜日

[ACCESS]ACCESS97/2000→ACCESS2.0用のVBA変換

From Evernote:

[ACCESS]ACCESS97/2000→ACCESS2.0用のVBA変換

フツウの人はまずナイと思うけど
ACCESS97/2000用に書いたVBAをACCESS2.0で実行させることに。

その際、色々記述方法が変わるのでその対比表。


●Dim FlgTest As Boolean 
Boolean型は使えない。Integer等に変換。

●Set db = CurrentDb  
 CurrentDbの記述NG。
  '---------------------------------------
 Set db = DBEngine.WorkSpaces(0).Databases(0) 
  '---------------------------------------
  または 
  '---------------------------------------
  Set db = DBEngine(0)(0)
  '---------------------------------------
 と書く。

●For Each tb In db.TableDefs
ForEach分がダメみたいなので、この場合は
  '---------------------------------------
     For i = 1 To db.TableDefs.Count    
          Set tb = db.TableDefs(i - 1)
  '---------------------------------------
となる。

●Dim db As DAO.Database, tb As DAO.TableDef
  ACCESS2.0に関してはDAOも何もないので?
  '---------------------------------------
Dim db As Database, tb As TableDef
  '---------------------------------------
に。

2012年2月15日水曜日

[ACCESS2.0→97]エラー:このデータベースのモジュールには、16ビットのDLLに対する呼び出しが含まれます。

ACCESS2.0→97変換時のエラー。ACCESS2.0→97変換時のエラー。

このデータベースのモジュールには、16ビットのDLLに対する呼び出しが含まれます。
Microsoft Windows95 または Microsoft Windows NTでは、これらは動作しません。
対応する32ビットのDLLを呼び出すように、コードを変更してください。


宣言モジュールで参照していたDLL(16ビット)を32ビット用に参照先を変更。
Microsoft Dao 3.6 Object Liblary あたりのモジュールで発生しやすいかな。
「モジュール」-「ツール」-「参照設定」
Microsoft Dao 3.6 Object Liblary にチェック。

[ACCESS2.0→97]エラー:オブジェクト「Msys...」は見つかりませんでした。

ACCESS2.0→97変換時のエラー。

オブジェクト「Msys...」は見つかりませんでした。
オブジェクトが存在しているか、または名前やパス名が正しいかを確認してください。

現在、考え中…
色々考えたけど、ファイルが壊れている等等の理由で、だめっぽいので
変換あきらめ
97で2..0をインポート+再コンパイルエラーつぶし
でいきました。
リンクはもちろん貼り直し。

いい方法が知りたいです。