8月18日 (土) VB.NET
来年あたりはぼちぼちパソコンも買い換えたくなってきた。もちろんやってることと言うたらメールにネット閲覧くらいなので、今のスペックで何の不都合も無いのだが、ブルーレイを再生できるドライブを入手し、またぞろ動画関係をごそごそし始めたと言うのをその理由にしておきたいと思う。 そうなると、OSもWindows8になる可能性が強い。そうなっていよいよ困るのがMySQLへの入力用フロントエンドとして利用しているAccess2003。こいつもボチボチ使えなくなるに違いない。そこで盆休みの最後はVB.NETを利用してフロントエンド作成に挑戦してみる事にした。もちろんVB.NETと言うても、無料のExpress版である。
一ヶ月ほど前に借りてきた本をもう一度借りてきて、シコシコやってみたけど役に立つのはネットで拾ったサンプルコードが殆ど。イロイロな用語はもちろんのこと、イベントやメソッド、持ってる関数なども違うし、名前空間がVBAでは意識することが無かったし、なんと言ってもADO.NETがよー解らん。なんでADOのままにしとかんのやろ…。
と、ボヤキと愚痴の連続でここ二日ほどが過ぎ去りました。で、なんとかMySQLからデータを読み込んで更新したり、新規登録できるとこまでこぎつけました。データグリッドビューを利用した新規登録と更新、削除にも目処が立ったのであとはボチボチ進めて行くつもりです。
もっとも、ネットで見つけたサンプルを利用しているだけなので、中身は殆ど理解できていないのが辛いところ。殆ど実装できていないエラー処理を考えながら、そっちの方も理解できるよう勉強したいと思います。
しかし、ネット上には賢い人が沢山いてますなぁ…。
|
8月19日 (日) VB.NET続き
今日も朝からVB.NET。ひょっとしたらハマりつつあるのかも知れない。
と言うことで、今日は使うのがオノレだけと言うことなのでテーブルの一覧やスキーマを表示し、SQLを書いて、その実行結果を表示するようなものを作った。これで、Accessをリンクテーブル形式でフロントエンドに利用するのとほぼ同じように使えるので便利である。Accessに比べて不便な点は抽出したデータにフィルタを使用できないこと。まぁ、これくらいはなんとかなるでしょう。
次に、スコア入力と継投入力処理フォームを作成した。この継投入力処理フォームでかなりハマってしまった。 Accessの仕様ではデータシート形式サブフォームの投手入力欄はリストボックスを利用し、選手マスタから名前を引っ張ってきて表示している。そうしないと選手idだけでは誰かワカランからね。笑
これと同様の処理がデータグリッドビューで行えるのだろうか?Google大先生にお伺いを立て、コンボボックスを利用して実現する方法を見つけたが、元データのidとコンボのid列とがバインド?してくれない。悩むこと数時間?元データの作成方法をSQLの実行結果をそのまま利用する方法から、結果セット、.NETではダータテーブルと言うのか?、をループして元データとする方法で解決できた。
ところが、今度はデータテーブルの内容をデータベースに書き戻す時に問題が発生した。コンボボックスをデータグリッドビューに挿入した事が原因だと想像しているのだが、何も変更していないにも関わらず、RowStateがAddedと判断されてしまうのである。
この不具合についてもGoogle先生にお伺いを立て、Row.AcceptChanges() で脱する事ができた。
長期にわたる夏休みは今日で終了ですが、最後の二日ほどは頭の体操が出来て良かったです。 しかし、図書館で借りてきた本はやっぱり出番が少ない。ちゅうことはVB.NETと言うより、ADO.NETの部分が難しいと言うことかな?ひょっとしたらVB.NETに到ってないのかも知れませんな。
|
|
|
2012/8 |
Su | Mo | Tu | We | Th | Fr | Sa | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
|
|