特集

Accessの資産はどこまで.NET化できるのか?

― 「Access変換ウィザード」試用レビュー ―

小田原 貴樹(うりゅう)
2005/07/13

Page1 Page2 Page3

Access変換ウィザードのインストールと利用方法

 少々前置きが長くなったが、そうした特徴を持つAccessで開発されたアプリケーションを、VB.NETに容易に移行させることを目的に開発されたのが「Access変換ウィザード」ということになる。「ウィザード」の名のとおり、その利用方法は非常に簡単である。以降では、実際のアプリケーションの変換を通して、利用方法を紹介しよう。

■ダウンロードとインストール

 まず、Access変換ウィザードは以下のページからダウンロードできる。

 ダウンロードするためにはユーザー登録が必要となるが、ユーザー登録もツール自体も無償である。

 インストールについては、ここで解説することはあまりない。ダウンロードしたファイルをダブルクリックして、圧縮されたファイルを一度解凍する。解凍されたファイルをダブルクリックすれば、インストーラが起動するので、画面の指示に従ってマウスを5回ほどクリックするだけである。

 インストールが完了すると、「スタートメニュー」メニューの[プログラム]−[Access Conversion Wizard for Visual Basic .NET]−[Access変換ウィザード]からプログラムを起動できるようになる。

■Access変換ウィザードの利用方法

 インストール同様、実際の変換作業も驚くほど簡単な手順である。余談であるが、Access変換ウィザードは日本のマイクロソフト独自のサービスらしく、開発自体も日本で行われたとのことである。使いやすさや簡単さの理由はその辺りにあるのかもしれない。

 Access変換ウィザードでの実際の変換作業の流れは以下のようになる。

変換作業 1
Access変換ウィザードの起動画面。変換元となるAccessファイル(MDB形式のファイル)と、変換後のVB.NETのプロジェクトを格納するためのフォルダを指定する。赤字で注意されているように、変換元のAccessファイルはバックアップしたものを利用しよう。

変換作業 2
変換項目の設定を行う。といっても、VB.NET変換後のプロジェクト名とスタート・フォーム名を設定する程度である。

変換作業 3
変換作業中の画面。変換作業の前後では、Accessのファイルが動的に開かれ、内容の解析を行っているようで、この[キャンセル]ボタン以外は操作できなくなる。じっと画面を見ているか、完了まで放っておくのがよいだろう。

変換作業 4
変換処理完了の画面。出力先のフォルダには、VB.NETの開発で必要とされる一連のファイルが作成されていることが確認できる。

変換に用いたAccessによるDBアプリの概略

 変換結果を確認する前に、今回利用しているAccessで作成したDBアプリについて簡単に紹介しておこう。

 なお、今回の試用で用いたAccessのMDBファイルと、Access変換ウィザードによって生成されたVB.NETのプロジェクトは以下のリンクからダウンロードできる。

■処理の概略

 このDBアプリは、顧客からハガキで届いたサンプル(試供品)の発送依頼情報を入力し、データベースの中に蓄積していくものである。サンプル発送に利用できるよう、入力された情報はタックシールに印刷できるようになっている。また、すでに印刷を行ったかどうかのフラグを保存しており、未印刷の情報だけを一度に印刷できるようになっている。

■フォームおよびレポートの内容

 DBアプリ内には、フォームが3画面、レポートが1帳票含まれており、それぞれ以下のような処理に利用されている。

  • トップメニュー・フォーム:その名のとおりメニュー画面

  • 入力画面フォーム:新規の発送依頼情報を入力するための画面

  • 顧客リスト・フォーム:入力された情報を一覧形式で表示・編集するための画面

  • 未印刷分レポート:まだ印刷されていない情報をタックシールとして印刷するための帳票

■コード(ロジック)の内容

 このDBアプリの処理のほとんどは、Accessのウィザードや標準の機能により実装されている。このため、手書きでコードを記述したのは以下の点だけである。

  • タックシール印刷時には、印刷されていない情報だけを抽出し、印刷と同時に「印刷済」のフラグを立てる

 ちなみに、このためのコード(VBA)は以下のようになっている。

'Option Compare Database
Private CNN As New ADODB.Connection
Private RSA As New ADODB.Recordset

Private Sub 未印刷分プレビュー_Click()
    Set CNN = CurrentProject.Connection
    DoCmd.OpenReport "未印刷分", acViewPreview
    '未印刷顧客印刷済みチェック
    SQL = "SELECT * FROM 未印刷"
    RSA.Open SQL, CNN, adOpenKeyset, adLockOptimistic
    Do While Not RSA.EOF
        RSA("印刷済") = "999"
        RSA.MoveNext
    Loop
    RSA.Close
    MsgBox ("未印刷分印刷が完了しました。")
    Me.Requery
    Me.Refresh
End Sub
未印刷のタックシールを印刷するVBAのコード

 このDBアプリは、実際にある企業で利用しているものを少し改変したものだが、この程度の内容であればほとんどコーディングを行う必要がないのがAccessの強みである。


 INDEX
  [特集]Accessの資産はどこまで.NET化できるのか?
    1.Accessで作成されるデータベース・アプリケーションの概要
  2.Access変換ウィザードのインストールと利用方法
    3.変換されたVB.NETコードはどこまで使えるのか?
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH