Visual Basic 2005 ここが便利!IDE編

第12回 ドラッグ&ドロップ一発でDB連携アプリを完全構築!

株式会社ピーデー 川俣 晶
2005/12/14
Page1 Page2 Page3

ドラッグ&ドロップ一発でできること

 さて、地味だが役立つ渋い機能の次は、アッとビックリする派手な機能を見てみよう。これも役立つことは間違いないが、どのようにすごいかは理屈を説明する必要がない。見ればすぐに分かる。

 どのような機能かというと、データソース・ウィンドウからドラッグ&ドロップ一発で、テーブルの内容を参照、変更するユーザー・インターフェイスが構築されるのである。論より証拠、上記の例で使ったデータベースのテーブルを、新しいプロジェクトの新しいフォームの上にドラッグ&ドロップしてみよう。

ドラッグ&ドロップ一発により作成されたフォームのユーザー・インターフェイス
データソース・ウィンドウからテーブルをフォーム上へドラッグ&ドロップするだけで、このようなユーザー・インターフェイスが出来上がる。

 ここでは、「商品」テーブルをフォーム上にドラッグ&ドロップしてみた(その後でレイアウトを多少調整してある)。[F5]キーを押して実行すると、それだけで以下のようなアプリケーションが動作する。コードは1行も書き込んでいない。

ドラッグ&ドロップ一発で作成したアプリケーション
内容を閲覧できるだけでなく、新規レコードの追加、内容の修正、削除を行うことができる。ツールバーによるナビゲーションも可能である。

 このプログラムは、テーブルの内容を閲覧できるだけでなく、新規レコードの追加、内容の修正、削除を行うことができる。プログラムを1行も書くことなく、ドラッグ&ドロップ1つで実現されたわけである。

 さて、この画面を見て、面白いけれど使い物にならないと思った読者も多いのではないだろうか? そのとおり。確かに高度な機能がドラッグ&ドロップ1つで実現できたことは驚くべき高機能といえるが、フォーム上にDataGridViewコントロールを貼り付けただけでは、実用十分な機能とはいいにくい。何しろ、分かりにくいし扱いにくい。入力フォームとしてのレイアウトの工夫もできない。

 このような問題は、データソース・ウィンドウ側でより詳細な情報を定義すると解決できる。

 データソース・ウィンドウに表示される各項目は、選択するとドロップダウン・リストを開くためのボタンが表示される。上のデザイン画面で、[商品]の右に表示されているのがそれである。これをクリックすると、ドラッグ&ドロップしたときに作成されるユーザー・インターフェイスの種類を選ぶことができる。

データソース・ウィンドウにおけるユーザー・インターフェイスの選択
この商品テーブルをフォームにドラッグ&ドロップする場合には、デフォルトではDataGridViewコントロールが自動生成されるが、ここで[詳細]を選択することにより、DataGridView以外のコントロールを生成させることもできる。

 上の例で、ドラッグ&ドロップしてDataGridViewコントロールが生成されたのは、ここで[DataGridView]が選択されているからである。ここで[詳細]を選択すると、より詳細なユーザー・インターフェイスが生成されるので、それをクリックしておこう。

 テーブル内の個々の項目もよりきめ細かくユーザー・インターフェイスを指定することができる。[商品]と同様に、そのテーブルの列項目である[商品コード]を選択してみよう。すると同じように右側にボタンが出てくるので、これをクリックしてみよう。

テーブルの列項目のユーザー・インターフェイス選択
[DataGridView]の代わりに[詳細]を選択して、ドラッグ&ドロップによりユーザー・インターフェイスを構築する場合に、項目表示のために使用されるコントロールを選択できる。

 これを使えば、生成されるユーザー・インターフェイスの種類を細かく指定することができる。ここでは、数値の増減の作業が多いと思われる[在庫]を[TextBox]から[NumericUpDown]に変更してみる。

 さて、以上で準備は整った。データソースのツリーでは設定を変更した[商品]と[在庫]のアイコンがそれぞれ変化していることに注目してほしい。

アイコンが変化したデータソース・ウィンドウのツリー表示
テーブルである[商品]については[DataGridView]を[詳細]に変更した。また列項目となる[在庫]については[TextBox]を[NumericUpDown]に変更した。

 では[商品]をフォームにドラッグ&ドロップしてみよう。

データソース・ウィンドウから[商品]をドラッグ&ドロップ
DataGridViewコントロールではなく、ラベルやテキストボックスで構成されるユーザー・インターフェイスが自動生成される。

 見てのとおり、非常に多くの基本的なコントロールを並べたフォームが作られている。個々のフォームは自由に並べ替えてよいし、それらをきめ細かく制御するプログラムを書き足してよい。これをベースにして、目的のプログラムを仕上げていくことも可能だろう。

 もちろん、このフォームは一切のコードを書き足さずに、この状態のまま実行でき、データベースの内容閲覧、レコード追加、削除、修正などができる。

上記フォームの実行画面
もちろんこの画面形式でもデータベースの内容閲覧、レコード追加、削除、修正などが可能だ。

 以上のように、Visual Basic 2005のデータベースに関する機能はさらに大きな進化を見せた。これらを活用することで、より短い時間で、より高度なプログラムを開発することも可能になるだろう。

 ここで1つだけ特に注目しておく価値があるのは、これらの機能がブラックボックス化されたお仕着せではないということである。

 つまり、高度なプログラムを自動生成するだけでなく、プログラマーが自分の意思で、フォームのデザインやプログラムの動作に入り込み、自由に制御するための切り口が用意されているということである。それによって、泥臭いリクエストにきめ細かく対応する余地を持っているところが、非常に好ましいポイントといえるだろう。End of Article


 INDEX
  Visual Basic 2005 ここが便利!
  第12回 ドラッグ&ドロップ一発でDB連携アプリを完全構築!
    1.データソースの変更も一発完了!(1)
    2.データソースの変更も一発完了!(2)
  3.ドラッグ&ドロップ一発でできること
 
インデックス・ページヘ  「Visual Basic 2005 ここが便利!」


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