その他HOMEVB.NETの記事一覧VB.NETの記事一覧VB.NETでCSVテキストファイルを読み込むVB.NETでCSVファイルを読み込みにはというクラスを使えば、CSVを読み込んで各行の各フィールドの文字列を簡単に取り出すことができます。TextFieldParserクラスを使用してCSVファイルを読み込むには、処理したいCSVファイルをコンストラクタで指定してインスタンスを作成する必要があります。Classテスト用CSVテキストファイルテスト用にこのようなCSVファイルを用意しました。ClassCSVファイルの全ての行を1行づつ読んでコンソールに表示しています。このように表示されます。5行目の3個目VB.NETのお勉強の教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。ソースのデータを表形式で表示し、編集したりすることが可能です。ソースをバインドせずに動作させることも可能です。拡張性に優れていてカスタマイズに柔軟なコントロールです。便利で優れたコントロールではあるが柔軟ではならでは不都合も発生する場合があります。それは、エンドユーザーの操作により表の幅や高さ、並び替え等の形状等の変更が可能になり、場合によっては仕様上で邪魔にになってくることがあります。そこで、エンドユーザーがDataGridViewに対する操作を制限する方法やテーブルの常時の仕方などを紹介します。ds.Tables(0)ds.Dispose()ad.Dispose()DataGridViewでEnterキーでTabキーと同じ動作をするDataGridViewでEnterキーを押したらTabキーと同様の動作、次のフィールドにフォーカスを移す方法です。クラスを作成して、ビルド、又はリビルドしたらルールボックスにカスタムDataGridViewとして現れ、通常のDataGridViewのように使用できます。ClassVB.NETのお勉強の教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。Serverに接続してSQL文を実行する解説です。Serverのデータベースに接続し、「SELECT」、「INSERT」、「UPDATE」、「DELETE」を実行する内容を例にしています。戻り値が必要な場合は「ExecuteReader」を使い、戻り値が必要無い場合は「ExecuteNonQuery」を使用します。Serverのデータベースにログインするのに必要な情報をルールに基づいて羅列した文字列です。この様な定義とします。これらの内容を変数に定義します。ここでは変数「cnStaring」に接続文字列を定義します。データベース名;"テーブルの内容を取得するテーブルの内容を取得するには「SELECT句」を「ExecuteReader」で使います。While'クローズ解放dr.Close()cd.Dispose()cn.Close()cn.Dispose()このSQL文ではコンソールに列名1と列名2の内容が表示されます。このようにテーブルの内容(戻り値)が必要な場合は「ExecuteReader」を使用することで可能になります。テーブルに行(レコード)を追加するテーブルに新たな行(レコード)を追加するには「INSERT句」を「ExecuteNonQuery」で使用します。cncd.ExecuteNonQuery()'クローズ解放cd.Dispose()cn.Close()cn.Dispose()これでテーブル「テーブル名」に1行追加できます。他テーブルの内容で行を追加する先ほどは固定値で行(レコード)を追加しましたが、今度は他のテーブルの内容で行を追加しましょう。cncd.ExecuteNonQuery()'クローズ解放cd.Dispose()cn.Close()cn.Dispose()これはテーブル名Bの内容をテーブル名Aに追加します。テーブルの内容を更新するテーブルの内容を更新するには「UPDATE句」を「ExecuteNonQuery」で使用します。cncd.ExecuteNonQuery()'クローズ解放cd.Dispose()cn.Close()cn.Dispose()テーブル「テーブル名」の列名2と列名3の内容を変更します。テーブルの行(レコード)を削除する行(レコード)を削除するには「DELETE句」を「ExecuteNonQuery」で使用します。cncd.ExecuteNonQuery()'クローズ解放cd.Dispose()cn.Close()cn.Dispose()テーブル「テーブル名」の列名1が1の行(レコード)を削除します。VB.NETのお勉強の教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。ServerのSQL文を実行するVB.NETでユーザーによるForm操作を制限するVB.NETのプログラムの大半はFormを使用することになります。Formは便利なのですが、エンドユーザーが様々な操作が可能になっています。サイズの変更であったり、「✕」閉じるボタンでフォームを閉じたりすることが出来るのですが、場合によってはプログラムの仕様に弊害を与え、ややこしい仕様を追加する必要が発生することがあります。最初からそのような機能を無効化したほうがスッキリした仕様でプログラミングとなります。Formを仕様した場合に最低限していることを紹介しましょう。コントロールボックスの最大化ボタンを無効化MaximizeBoxプロパティの操作で無効化できます。Loadイベントに装備したらいいでしょう。SubFormのサイズ変更無効化FormBorderStyleプロパティを設定すればサイズ変更できなくなります。これも、Loadイベントで行った方がいいでしょう。Subコントロールボックスの「✕」閉じるボタンを無効化フォームのCreateParamsプロパティをオーバーライドして「閉じる」ボタンを無効状態にし、システムメニューの「閉じる」も表示されず、「Alt」+「F4」キーも無効にします。」内にコーディングすれば「×」閉じるボタンを無効化できます。VB.NETのお勉強の教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。Serverのシステム型で用意されているTimestamp型は行の世代を示す列で、行に何等かの更新が発生すると自動的に値が変更されます。更新の有無を把握する型であり、取得済のTimestampの値とテーブルの行に存在するTimestampの値に違いがあれば、その行に何等かの更新があったことになります。SQL文内であればTimestamp値を比較することは可能ですが、TimeStamp値はByte配列として格納されているため、プログラムで扱える型に変換してから使うようになります。そこで、TimeStampの値を文字列に変換する方法を紹介します。TimeStamp型の値を文字列に変換するコードTimeStamp型の値を受け取り、文字列に変換して戻すコードです。Function」で定義しましょう。subVB.NETのお勉強の教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。VB.NETVB.NETのFormで「Enter」キーでフォーカスを移動するVB.NETのFORMは通常、「Tab」キーで次の「TabIndex」にフォーカスが移動する仕様となっています。その理由は「Enter」キーには別の機能が備わっているからです。「Enter」で「Tab」キーと同様にフォーカスを移動させることになると、「Enter」本来の機能を無効化することになります。「Enter」本来の機能を無効化しても大きな問題は発生しないと思います。事実、これまでに不満感じることはありませんでした。「Enter」キーでフォーカスを移すコードFormの「KeyDown」イベントに装備します。先ほどのコードを装備して、実行しても「Enter」キーでフォーカスが移動しません。コードを実行するに先立って「KeyPreview」プロパティを「有効」にしないと正常に動作しないのです。次のコードはFormの「Load」イベントで「KeyPreview」プロパティを「有効」にする例です。Sub「KeyPreview」プロパティを「有効」にすることで「Enter」でフォーカスの移動できるようになりました。ビープ音の停止このままですと「Enter」キーを押す度にビープ音が鳴ってしまいます。イベントを強制的に発生させているためなので、キーイベントが処理されたことにしてしまいます。Formの「KeyPress」イベントに装備します。「Enter」で次のTabIndexを持つコントロールに移動します。「Shift」+「Enter」前のTabIndexを持つコントロールに移動します。MultiLineのテキストボックスでの改行は「Ctrl」+「Enter」で対応できます。VB.NETのお勉強の教材プログラミング初心者から中級者まで実戦に役立つ内容を分かりやすく解説しています。Reserved.このページの先頭へ。