掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
システム移行について (ID:83089)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Access 2000以降では、直接、SQL Serverを扱えますよね。 # Jetデータベースの時は、mdbファイルにフォームが格納されますが、 # SQL Serverを相手にする時は、adpファイルのプロジェクトとして # 作成されていたと思います。 Access 2000/2002/2003のヘルプには、JetとSQL Server/MSDEの 違いなども解説されていたと記憶しているので、DB自体の機能差に 関しては、今回は説明を省きます。 さて、mdbの場合は、DBとの接続に「DAO」という技術が使われており、 adpの場合は、「ADO」という技術が使われていたわけですが、これらの 技術(ADO/DAO)は、いずれもVB6でも引き続き使用可能となっています。 しかも、VBとVBAは、言語仕様はまったく一緒です。 つまり、VBAでRecordsetを開いて、AddNew/Delete/Updateするような 部分などは、ほとんどロジックの変更無しで移行する事ができます。 とはいえ、言語仕様以外の部分(Access自体が持つ機能)に関しては、 コードの書き直しが必要となってくるでしょう。例えば、Accessにしか 無いイベントや、逆に、VB6にしか無いイベントなどがあったりしますので。 厄介なのは、この「Access自体が持つ機能」の部分の移行作業です。 いくつか例を挙げてみると…… ・DoCmd.TransferXXXX などの、DoCmd系メソッドは使用不可。SysCmd系も同様。 ・AccessのフォームをVB6のフォームに変換するツールは提供されていない。 ・VB6のComboBoxは、複数列の表示機能などが無い。 ・VB6のフォームは、スクロールバー自動表示機能が無い。 ・VB6には、サブフォームの概念が無い。 これ以外だと、印刷ツールの違いもあります。 VB6で印刷に使われる手段としては、以下のような物があります。 ・Printerオブジェクト……Lineメソッド、Circleメソッド、Printメソッド などを使って出力する。AccessのReport.Line、Report.Circle等と同様。 ・CrystalReport……市販の帳票コンポーネント。VB6には機能限定版が付属。 VB6のインストーラではインストールされない(CD-ROMから別途インストール) ・DataReport……VB6付属の帳票コンポーネント。グループ化機能が弱いなど、 今ひとつ使い難いので、私個人的としては、あまりお奨めしません。 ・外部ツールを使用……AccessやExcelをVBからプログラム制御するとか、 市販の印刷ツール(ActiveReportとかVisualFormadeとか)を使うとか。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.