VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2004/08/11(Wed) 17:31
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe: MDBのバージョンを見分ける方法

> 1,VBからMDBのバージョンを確認する方法

「どのバージョンのJet形式で作成されたものか」という意味であれば、
以下のようにして確認できます。

DAOを使う場合: DatabaseオブジェクトのVersionプロパティ
  Set DE = CreateObject("DAO.DBEngine.36")
  Set WS = DE.CreateWorkspace("#Default Workspace#", "Admin", "")
  Set DB = WS.OpenDatabase(  strMdbPath  )
  Debug.Print DB.Version

…これは、以下の値を返します。
   1.0  … Jet 1.0形式: Access 1.0
   1.1  … Jet 1.1形式: Access 1.1, VB3
   2.0  … Jet 2.0形式: Access 2.0
   2.5  … Jet 2.5形式: VB4/16bit
   3.0  … Jet 3.0形式: Access 95, VB4/32bit, Excel 95, VC++4.x
              または
           Jet 3.5形式: Access 97, DAO VB5, Excel 97, VC++5.0
   4.0  … Jet 4.0形式: Access 200x, VB6/SP3以降


ADOを使う場合: Jet OLEDB:Engine Type プロパティで判定します。
  Set Cn = CreateObject("ADODB.Connection")
  Cn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Cn.Open strMdbPath
  Debug.Print Cn.Properties("Jet OLEDB:Engine Type").Value

…これは、以下の定数値を返します。
  Const JET_ENGINETYPE_JET10 As Long = &H1&
  Const JET_ENGINETYPE_JET11 As Long = &H2&
  Const JET_ENGINETYPE_JET20 As Long = &H3&
  Const JET_ENGINETYPE_JET3X As Long = &H4&
  Const JET_ENGINETYPE_JET4X As Long = &H5&

ただしこれらは、「どのバージョンのAccessで作成されたのか」という情報を
返すわけではありませんので、その点は注意してください。
hhttp://support.microsoft.com/default.aspx?scid=kb;ja;171192


> 2.VBからMDBを新しいバージョンへ変更する
下記を参考にしてみてください。
.Net系掲示板での投稿ですが、元となる情報はVB6向けの物なので、参考にはなるかと。
hhttp://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=13180


--- 業務連絡: 管理人さま宛 ---
掲示板上部の『返信や〜〜お断りします』のリンク先のページで、
画像が表示されていないようです。(背景画像は表示されています)

<IMG src="VBHLP/Home.gif"> → <IMG src="../VBHLP/Home.gif">
<IMG src="VBRescue.gif">   → <IMG src="../VBRescue.gif">


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -