はじめに

  めまぐるしく技術のトレンドが変わる時代、アプリケーションシステムの開発には、新しく広い範囲の技術習得が不可欠です。新技術だけに多くの試行錯誤に迫られる結果となります。又データベースアクセスやユーザインターフェイス等の実践的な機能を持つプログラムの開発において、たとえ試行錯誤をしなくても大量のコーディングを必要とします。

  LLLシリーズは、発売開始から１０年以上を経過し、その時々のさまざまなトレンドに対応する開発ツールとして、提供しつづけてまいりました。LLL/.netは、これまで蓄積してきたLLLシリーズの経験とノウハウを活かし、マイクロソフトの最新プラットフォームである.NET Framework対応のアプリケーションを開発するツールです。データベースアクセス／ユーザインターフェイス等を効率よく設計でき、フォームテンプレートの採用により、短期間で動作可能なプログラムを作成することが可能です。

これまでのLLLシリーズでは、コード自動生成によるプログラム作成が基本でした。このため、フォームテンプレートを作成する場合、複雑なコード自動生成のコマンドを熟知する必要があり、ユーザによる作成は事実上不可能でした。　これにかわり、LLL/.netでは、フォーム制御情報というパラメータ設定と、コントロールを一括制御するエリア制御機能の採用により、コード自動生成は基本的に行わなくなりました。このため、フォームテンプレートはユーザにおいても容易に作成することができ、かつその後のプログラムコードの編集の自由度もたいへん高いものになりました。ユーザーニーズに適合した各種プログラムを効率よく作成することが実現できるのです。なお、LLL/.netで開発に使用する言語は、開発者の経験に応じてVB.NETまたはC#.NETを選択することが可能です。

LLL/.netによるアプリケーションシステムの開発で得られる主な効果として、

  • 最新プラットフォームへの短期間での対応
  • プログラム開発工数の圧倒的な短縮
  • プログラム品質向上による安定したシステム構築
  • プログラム標準化によるプログラム保守コストの削減

を目標にしております。

LLL/.netによるアプリケーションシステムの形態としては、「スタンドアロン型」、「クライアント・サーバー型」、「スマートクライアント型」　の各システムを開発可能です。「スマートクライアント型」は「クライアント・サーバー型」システムと「Webアプリケーション」のそれぞれの優れたところをミックスした新しい形態のシステムです。

  本製品の最新版である「LLL/.net 開発キット」には以下の製品があります。

  • LLL/.net for VS2010 （VS2010に対応し、.NET Framework4で稼動するシステムを開発。製品バージョンはVer4.xx）
  • LLL/.net for VS2005 （VS2005,VS2008に対応し、.NET Framework2.0,3.0,3.5で稼動するシステムを開発。製品バージョンはVer2.xx）
  • LLL/.net for VS2003 （VS2003に対応し、.NET Framework1.1で稼動するシステムを開発。製品バージョンは1.xx）

  本製品には「LLL/.net デプロイメントツール」というプログラム配布ツールが含まれています。最新プログラムをインターネットを使用してクライアントに配信するツールで、これまで負担となっていた配布コストを大幅に削減することが可能です。詳細については「デプロイメントツール説明書」を参照して下さい。

本製品をアプリケーション開発の現場で有効にご活用頂き、システム提案やシステム開発工程の効率化にお役に立てることを願っております。

商品の仕様・価格は予告なく変更になることがあります。


更新履歴

【変更履歴】 ◎ 新機能 ○ 機能追加変更 ・ 不具合修正

バージョン 4.30

◎VisualStudio 2013、および.NET Framework4.5.1での開発に対応しました。

◎帳票設計オプションを用いたレポート出力で、出力時に進行状況表示するダイアログの表示可否を指定することができるようにしました。LPrnForm.PrintOutおよびLPrnForm.PrintOpenをご覧ください。

  • ComboBoxやListBoxを配置した文字列型フィールドにおいて、データサイズの設定によっては項目の選択や値の取得に不整合が発生する問題を修正
  • フルパス指定のプログラム実行などにより、カレントディレクトリがプログラムの配置されたパスと異なる際、FreeLayoutGridの明細エリア初期化に失敗する問題を修正
  • 高DPI環境において、開発ツール本体上の文字表記が極端に小さくなる現象を修正

バージョン 4.10

◎VisualStudio 2012、および.NET Framework4.5での開発に対応しました。

◎64bitOS開発環境下において、データベース設計画面を強制的に32bitプロセスで起動する設定を、開発ツール本体に追加しました。詳しくはデータベース設計起動プロパティをご覧ください。

○データベース設計時、接続テスト以外で設定したデータベースへアクセスする際(「DBテーブルからテーブル情報を追加」「DBビューからビュー情報を追加」「DBテーブルをCREATE」「DBテーブルをDELETE」)、以前のバージョンでは利用データベースを問わずSystem.Data.OleDb以下のクラスを使用して処理を行っていましたが、接続テスト時と同様の接続を用いるように変更しました。

  • データベース設計でプライマリーキーに含まれる列の列名を変更した際に、変更前の列名をプライマリーキーの編集画面から消すことができない問題修正
  • ListviewHeaderをVisualStudio2010上で編集すると、開発ツール上で解釈できない問題の修正
  • CoReports For .NETを出力エンジンに使用した際、プレビュー上で出力した時に空データ出力のフィールドの表記が空にならない場合がある問題修正
  • プレビュー画面から「全てのページ」の印刷ができない問題修正
  • ネットワークドライブ上からのプログラム起動から帳票出力に失敗する問題修正
  • 開発ディレクトリがネットワークフォルダ上にある場合、帳票設計に失敗する問題の修正

バージョン 4.01

  • FormLoadイベント処理が2回発生する問題を修正しました。

※ランタイムのみの更新であり、開発ツール本体のバージョン表記は「4.00」のままになっています。

バージョン 4.00

◎開発キットの実行環境が.NET Framework4対応になりました。

◎ランタイムDLLを.NET Framework4でビルドしました。

◎帳票設計オプションにて、帳票エンジンに「シーオーリポーツ for .NET Ver.2」を選択できるようになりました。

◎LWinForm.GetDetailBaseContObjを追加しました。

◎帳票GroupEndイベントの発生タイミングの設定項目追加。GroupEndイベント発生時点で既に次のレコードを参照している問題を回避できます。詳しくは帳票フォーム情報のプロパティをご覧ください。

◎フィールド属性「表示時トリム」を追加しました。右端、または左端に空白を含むデータを画面フィールドにPutDataメソッドで表示する際、両端の空白を切り捨てて表示します。詳しくはフィールド情報のプロパティをご覧ください。

◎Control.DEFの記述を元に、明細フィールドのコントロールを増加する際、Textプロパティの複写を除外する機能追加。詳しくは他社コントロールの使用方法をご覧ください。

◎値未入力の固定長カラムデータを長さ0の文字列として扱う「PutData時、空白のみのデータを空文字列として扱う」設定を追加しました。詳しくはシステムプロパティをご覧ください。

◎長さ0の文字列データをnull値として扱う「PutData時、空文字列をnullとして扱う」設定を追加しました。詳しくはシステムプロパティをご覧ください。

◎FormのShownイベントをLForm_Eventで処理できるようにしました。初期状態では処理されません。詳しくはシステムプロパティをご覧ください。

◎データベース接続文字列を、サーバー側で変更できるように修正。詳しくは各データベースの接続情報プロパティ(MS-JET、MS-SQL、ORACLEをご覧ください。

○対応帳票エンジンの増加に伴い、ランタイムDLLの構成を変更しました。Ver2.xxからのバージョンアップを行う場合、バージョンアップをご覧の上、プロジェクトを修正してください。

○対応帳票エンジンの増加に伴い、使用する帳票エンジンの設定を別途行うようにしました。帳票設計オプションをご利用の場合、「VisualStudio」メニューから「帳票設計オプション環境」を選び帳票環境プロパティにて利用する帳票エンジンの設定を行ってください。

○TextBoxを継承していない文字列入力可能なコントロールにて、最大文字数入力済みの状態で文字列選択して追加入力ができない問題を修正。
SelectionLengthプロパティを持つコントロールに対しては、同等の挙動を示します。

  • 64bit OS上で、MS JETにデータベース接続するLLL/.netアプリケーションを実行した際、接続に失敗する問題を修正。詳しくは64bit OS上での動作についてもご覧ください。
  • 開発環境のOSが64bit環境で、データベース接続にMSJETを使用時、「データベース接続テスト」「DBテーブルからテーブル情報追加」「DBテーブルをCREATE」「DBテーブルをDELETE」等のデータベースアクセスを要する操作に失敗する問題を修正。詳しくは64bit OS上での動作についてもご覧ください。
  • Listvew明細エリアのソートにワークフィールドが追従していない問題対応
  • Listview明細のソートでDateTime型のデータでソートしたときにエラーが出る問題修正
  • ListviewSubItemへのデータ表示がフォーマット無視される問題の修正
  • GetSchemaメソッドでエラーが発生しうる(コネクション共有時)問題に対処
  • SQL文の整形において、Oracle使用時に発生していた問題(リテラル文字列中の[]も置換してしまう)を修正
  • ワークフィールドや、ワークフィールドを含むエリアに対してCheckFocus()メソッド実行時に、実行時エラーを出力して終了することがある問題対応
  • 帳票出力時にAccessViolationException発生することがある問題に対処
  • 「明細0で出力しない」設定時に、シーオーリポーツの終了処理が適切なされてない状況の修正

バージョン 2.30

◎コード検索ウィンドウをヘッダークリックで並べ替えできる機能を追加しました。詳しくはコード検索情報のプロパティをご覧ください。

◎Listviewエリア利用時にコード検索ウィンドウと同様ヘッダークリックで並べ替えできる機能を追加しました。詳しくは明細エリアのプロパティをご覧ください。

◎明細エリア共通で、LWinForm.Sortメソッド追加。明細データの並べ替えが、明細データ表示後に可能になりました。
※Listviewエリアのソートに比して、ソートの速度は低速です。特段の理由がなければ、Listview明細エリアに対してはコントロールのプロパティでヘッダークリックによるソートを実施することをお勧めします。

◎LWinForm.ToCSVメソッドを追加しました。明細エリア出力内容をCSV形式で出力できるようにしました。

◎LWinForm.ResumeConnectionメソッドを追加しました。データベース接続の情報変更後、このメソッドを実行することで、このデータベース接続に起因するリストデータの内容が更新されます。

○同一プロセス内のフォームについて、データベース接続を共有する設定を追加しました。詳しくはシステムプロパティの【アプリケーション全体設定】をご覧ください。
※各フォーム起動のつど、データベース接続設定を実施することなく、接続を共有することができます。
ただし、同一名称で、接続先の異なるデータベース接続を各フォームごとに用いている場合、意図したデータベースに接続されないことがあります。 またこれにより、評価版によるWebサービスの表示に関する挙動に変動が発生します。

○開発ツール本体初期起動時に、開発ディレクトリに存在するランタイムDLLと、インストールされているランタイムDLLとの差異を検出する機能を追加しました。 開発ディレクトリログイン時に上書き確認のメッセージが表示されるようになります。

○開発ツール本体のメイン画面表示領域を変更しました。Windows Vistaでサイドバーを常に前面に表示している場合や、Windows 7でタスクバーアイコンの大きさが標準設定の場合などに、裏側に回りこんでしまう現象が改善されます。

○フリーレイアウトグリッドをエリアに使用した場合のデータ表示速度を向上しました。

○フォーム初期化時に、コンボボックスやリストボックスのリストデータを参照する挙動を抑制する機能を追加しました。詳しくデータベース情報のプロパティをご覧ください。
※FormLoad時にデータベース接続情報を設定し、LWinForm.ResumeConnectionメソッドで接続を開始するような利用法を想定しています。

  • フリーレイアウトグリッドをエリアに使用した場合に、いったん開発ツール本体で開いて保存すると、起動時にエラーが発生する現象を修正
  • フリーレイアウトグリッドをエリアに使用した場合に、LWinForm.Clear()メソッド実行時の速度が異常に遅くなることがある現象に対応
  • フィールドに対してデータサイズを指定せず、かつ入力文字数を指定した場合にGetDataできない問題対応
  • データベース設計情報をmdbに出力している際に、データベース設計画面上のツリーノードの表記が不正に書き換わる問題を修正
  • 通常明細エリア(Listview、フリーレイアウトグリッドを用いていないエリア)において、初期明細行数=0の場合に2行目以降のプロパティ(fontなど)が適切に適用されない問題を修正
  • LForm.Clear()実行時のフィールドの初期値について、旧バージョンとの互換性が保たれていなかった問題に対応。詳しくはシステムプロパティの【アプリケーション全体設定】をご覧ください。

バージョン 2.20

◎帳票設計オプションを用いたレポート出力で、PDF出力に対応しました。LPrnForm.PrintOutまたはLPrnForm.PrintOpenの引数にLLLNET.LComPrn.LPrnMode.PDFを指定してください

◎データベース設計情報を外部出力する機能追加。詳しくは「設計情報の活用」をご覧ください

◎フォーム、帳票の設計情報を外部出力する機能を追加。詳しくは「設計情報の活用」をご覧ください

◎フォームの簡易ハードコピーを取得する機能を追加。詳しくは「設計情報の活用」をご覧ください

◎弊社別製品「フリーレイアウトグリッド」を明細エリアとして使用できるようになりました。詳しくはフリーレイアウトグリッド利用時の設定と制限事項をご覧ください。

○ComboBoxコントロールなど、Control.DEF内でselect属性がついていて、かつListControlを継承しているコントロールは、「リストデータ設定」設定について、Control.DEFのprop属性を無視します。
この条件を満たさないコントロールであっても「リストデータ設定」設定がついていないフィールドについてのみControl.DEFのprop属性に従います。

○高DPI環境下で開発ツール本体を起動した場合、ボタンや見出しの文字フォントを縮小して表記するように変更しました。
これにより、Windows 7上で実行したときなどに、ボタン表記や表示文言がツールの表示領域からはみ出て読み取れなくなるといった現象を回避できます。

○帳票設計オプションがシーオーリポーツスタンダードエディションVer9での開発に対応しました。
※従来のシーオーリポーツスタンダードエディションVer8.5環境でも、これまでどおり開発は可能です。

  • ListView明細のワークフィールド入出力で失敗する現象に対応
  • 明細エリアのワークフィールドへの値への入出力に失敗することがある現象に修正
  • ワークフィールドにバイト配列が含まれていた場合のGetData処理に問題があったのを修正
  • ReadTable()メソッド利用時に、ワークフィールドのNull値がそのまま入り込んでしまう現象に対応
  • ワークフィールドに参照テーブル設定がなされていた場合に、元がnullだとエラーになる問題修正
  • DbMainに属する辞書項目の英字カラム名が編集できない現象に対応
  • いくつかのコントロールにおいて、内包する子オブジェクトのプロパティ設定がデザイナ上で出力される場合に、デザインの保存が意図したように行われない現象に対応
  • データベース設計時に開発ディレクトリ直下以外のMDBファイルの相対パス指定が正しく解釈されなかった現象に対応
  • プログラム実行時に、開発ディレクトリ直下以外のMDBファイルの相対パス指定が正しく解釈されなかった現象に対応
  • テーブルSQLを用いたリスト表示設定で、選択値と表示値に同一の値を設定できないことがある現象に対応
  • ラジオボタンフィールドに対してLForm.Clearを実行した際、クリア値に対応する項目が選択されない現象に対応
  • フィールドを一切持たないワークの明細エリアを作成すると実行時にエラーが発生する現象に対応
  • 開発ツール初回起動の際、ライセンスファイル登録を行うときに、インストール先にライセンスファイルをコピーしてから登録処理を行うと異常終了する現象に対応
  • 開発ツール本体上でVisualStudioの起動パスを設定する際の挙動(初期パスの設定、実行ファイルのフィルタ)を改善

バージョン 2.10

◎VisualStudio 2008上での開発に対応しました。

◎メソッドにGetDataSByte()メソッドを追加しました。

◎製品内にクライアントマネージャのインストーラソリューションを同梱しました。作成したシステムの用途に合わせてインストーラを変更できます。詳しくはクライアントマネージャ インストーラのカスタマイズをご覧ください

○製品版と評価版の識別基準を変更。開発ツール本体の評価版としての実行には、ライセンスファイルの取得を不要としました。詳しくはユーザ登録 の【評価版(開発環境)】をご覧ください。

○開発ツール本体の評価版利用時の機能制限を緩和しました。評価版であっても開発ツール本体の機能をすべて利用できるようになりました。

○評価版で作成したシステムは、画面初期表示時にその旨メッセージを表示するよう変更しました。詳しくはユーザ登録 の【評価版について(クライアント実行環境)】をご覧ください。

○サーバーライセンスを登録しなくてもスマートクライアント型システムを評価版としては実行できるようにしました。詳しくはサーバーライセンスの登録の【評価版について(サーバー実行環境)】をご覧ください。

○「小数点以下桁数」属性を設定している数値型フィールド上で、小数点を指定桁以上入力しようとしても、入力カーソルが先頭桁に移動しないように修正。

○NumericUpDownに入力済みの値をBSキーで消去後、数字キーを押下しても、元の値が復元しないように修正。詳しくは他社コントロールの使用方法 の【コントロール制御パラメータの説明】をご覧ください。

○キー入力で移動したときとマウス操作で移動したときとで、Validationイベント処理とControlLeaveイベント処理の順序をそろえることができるよう設定項目を追加。詳しくはシステムプロパティの【アプリケーション全体設定】をご覧ください。

○数値フィールドに「-」のみの入力を行っても、オウンコード中でGetDataDoubleなど実施時にエラーが発生しないように修正。　※型適用不能な入力の場合は0を返すように変更。同様の場合にエラーを発生させるオプションも定義。詳しくはシステムプロパティの【アプリケーション全体設定】及びGetDataデータ型をご覧ください。

○作成プログラム中、最初にロードしたフォームを終了しても、プロセス全体が終了しないよう、設定項目を追加。詳しくはシステムプロパティの【アプリケーション全体設定】をご覧ください。

○データ型が「日付型」のワークフィールドにPutData()メソッド実行後、GetData()メソッドを実行しても、時刻情報を保持するように修正。

○コード検索や、コンボボックス設定で使用する「リストデータの編集」ダイアログにて、別名指定したSQLの列名を設定することが出来るよう変更。

○各プログラムごと直前一世代のみ保持していた作業前バックアップを、複数世代保持することができるようよう設定項目を追加。詳しくはシステムプロパティをご覧ください。

  • SByte型のフィールドで未入力の場合、GetData()メソッド(及び、それを内部的に実行しているReadTable()メソッドなど)の実行に失敗する現象を修正。
  • GetDataUInt16/32/64が利用不可能な状態になっていたのを再度公開。
  • ListView明細エリアで、交互背景色設定が先頭のListViewSubItemのみ適用されている現象を修正。
  • 不正な値を入力した場合、一回目のValidationではAreaイベントの発生は抑制されるが、入力値を変更せずに再び移動しようとするとAreaイベントが発生してしまう現象を修正。
  • 帳票出力時、固定フィールドに明細レコードのカラムを指定し、レコード数0件で出力するとエラーが発生する現象を修正。
  • 仮想明細を帳票の明細レコードに使用できない問題を修正。
  • LPrnForm.PrnName設定時、プレビューからの印刷で、出力先プリンタの設定が不正(指定したプリンタ名ではなく、「通常使うプリンタ」がそのまま設定されている)現象を修正。
  • DateTimePickerに入力後、Validationオウンで処理を追加すると、入力前の値に戻ることがある現象を修正。
  • 非明細エリア上に配置した配列ワークフィールドが認識されない問題を修正。
  • データ型を日付型に設定したフィールドの値がテーブルSQL中で正常に展開されない現象を修正。
  • VisualStudio上でクラスを追加すると、開発ツール上でのクラスの並びがおかしくなる現象を修正。
  • VisualStudio上でクラスを追加した際、それがフォームや帳票制御クラスでなくても開発ツール上で編集対象として表示されることがある現象を修正。
  • 開発ディレクトリ上に「SystemDocs」サブディレクトリが存在しないとテーブル作成時にエラーが発生する現象を修正。
  • 既定のデータベース接続名「DbMain」は名称変更できないにもかかわらず、編集が許容される問題に対処。
  • データベース接続テストで失敗時、メッセージではなくスタックトレースが表示される現象を修正。
  • データベース設計時に必須入力項目をチェックするよう変更。
  • ContextMenuを追加したフォームを一旦LLLで保存すると、メニューを呼び出せなくなる現象を修正。
  • プログラム設計時に、空白を含むフィールド、エリア、カラムを指定できる問題に対処。
  • 開発ツール本体表示時に、プログラム選択がされていない状態でキー操作すると異常終了する現象を修正。
  • 帳票フォーム設計の表示フォーマット編集時に、割付設定を変更できない現象を修正

バージョン 2.01

○Windows Vista上で実行可能とするため、製品構成に以下のような変更が加えられました。

①LLL/.netクライアントマネージャのセットアップファイルをまとめた書庫ファイル名を「CM_Setup.EXE」から「CM_Package.EXE」に変更しました。
※書庫に含まれるファイルの構成には、変動はありません。
②自己解凍形式の書庫ファイルとして製品に含まれている以下のファイルについて、圧縮形式をlzhからzipに変更しました。
  • Sample.EXE
  • CM_Package.EXE
※従来どおり、ダブルクリックで書庫を展開することが出来ます。環境によっては表示されるアイコンに違いが出る可能性があります。

○ユーザ登録画面上から、ライセンスファイルの登録が行なえるようにしました。詳しくはユーザ登録をご覧ください。

  • フォームに配列フィールドがある場合にエラーになるのを修正。 (Ver2.00)
  • VS2003で作成したフォームをプロジェクトに複写するとエラーになるのを修正。 (Ver2.00)
  • C#でフォーム上に直接イベントハンドラを記述した場合に発生する不具合修正。 (Ver2.00)
  • フォーム設計でカスタムカラーをプロパティに設定した場合発生する不具合修正。 (Ver2.00)
  • ＳＱＬ文の文字列フィールドに引用符が含まれる場合の不具合修正。
  • エリアに対して.Focusを行うと、エリア内のロック中のフィールドがロック解除されるのを修正。
  • リソース文字列をフォームに使用した場合に発生する不具合修正。
  • フィールドプロパティの最大文字数にて「非UNICODEベース」で文字数を設定した場合、文字「Ｘ」「÷」などで正常に処理されない不具合修正。
  • 明細エリアをRowDimメソッドで０行に設定した場合、その後の明細表示で行ずれする場合があるのを修正。
  • 明細エリアの先頭コントロールに設定したVisibleとEnabledプロパティを２行目以降の明細コントロールにも反映するよう修正。(Ver2.00)
  • 偶数・奇数明細行の背景色にカスタムカラーを指定していた場合、実行時にエラーが発生する現象を修正。
  • 開発ディレクトリのパスに特定の文字列が含まれていた場合、新規プログラム作成が出来ない不具合修正。

バージョン 2.00

【主な変更内容】

  1. 開発キットの実行環境が.NET Framework2対応になりました。。
  2. 開発キットのディレクトリ構造が変更になりました。
  3. プログラム配布機能は「デプロイメントツール」として機能強化しました。
    • 詳細については「デプロイメントツール説明書」を参照して下さい。
  4. 明細エリアのページ制御機能を追加しました。
    • 詳細については「明細エリアのページ制御」を参照して下さい。
    • テンプレートに「明細伝票形式データ入力（頁制御）」を追加。
    • テンプレートの「明細一覧表示」がページ制御機能対応に変更。

【LLL/.net for VS2005】

  1. フォームデザイナをVS2005のパーシャルクラスとフォームコントロールに対応。
    • 一部コントロールには使用制限がありますので制限事項をご確認ください。
  2. 標準テンプレートをVS2005対応に変更。
    • パーシャルクラス対応に変更
    • StatusBarをStatusStripコントロールに変更

バージョン 1.71

○明細行フィールドが大量になる場合、表示速度が遅くなるのを改善するため、下記変更を実施。

①生成した明細コントロールを削除をせずに再利用するようにする。
②明細コントロールを親コンテナに表示するとき、一括処理で追加する。
③明細行を初期化する場合、明細コントロールを一括削除してから明細行を再表示する。
  • 帳票デザインパネルに切り替えると実行エラーが発生するのを改善。(ver1.70で発生)
  • 「文字集合」の設定フィールドでコントロールキー操作可能にします。これにより文字集合以外の文字が入力される可能性があるため、テキストフィールド入力完了後に、再度文字集合チェックします。
  • 画面フィールドのTextAlignプロパティが、プロパティと表示フォーマット設定画面の両方でできるため意図しない設定になることがあるため、表示フォーマットでの位置設定をできないようにします。
  • ListViewエリアのリストデータにてリスト範囲外の値が設定された場合に例外が発生するのを改善。
  • Focusメソッド実行時にEnterイベントが発生しないことがあるのを改善。
  • データベース設計の「ＤＢからテーブル情報追加」「ＤＢからビュー情報追加」「ＤＢテーブルをCREATE」「ＤＢテーブルをDELETE」のデータベースアクセス画面を変更しました。これらのデータベースアクセス時のユーザー名やパスワード等を必要に応じて変更可能になりました。
  • プログラム名、フォーム名、アセンブリ名の入力を英数字とアンダースコア(_)だけに制限しました。

バージョン 1.70

〇これまでテーブル情報は[テーブル名]だけで登録していたため、同名のテーブルを複数データベースに登録できませんでした。テーブル情報の登録参照方法を下記のように変更し、同名のテーブルを複数データベースに登録できるようにしました。

  • 　メインデータベースのテーブルはこれまでどおり、[テーブル名]のみで登録参照します。
  • 　メインデータベース以外のテーブルは[データベース名$テーブル名]で登録参照します。

〇データベース設計のデータベースプロパティに「WebサービスDataSetにAttribute使用」を追加しました。

XML-WebサービスでDataSetデータに空白文字列が含まれる場合、文字列長＝０の文字列データになります。これを回避して空白文字列データをそのまま送る場合はTrueに設定して下さい。

  • フォームデザインでコントロール定義が重複してソース出力される不具合を修正。(バージョン1.60)
  • フォームデザインで変更してないのにコントロールのLocationやSizeが変化する件を修正。
  • フォームデザインで「Tab順番の変更禁止」をTrueに設定しても自動的にTabIndexが採番されるのを改善。
  • スマートクライアントのオウンコードでGetSchema処理が正常に実行できないのを修正。

バージョン 1.60

○「プログラム配布機能」の機能追加と仕様変更を実施しました。

  • 「プログラム配布ファイルの編集」を「ダウンロードリストエディタ」とし、デザイン画面を変更しました。
  • 「プログラム配布ファイル」を「ダウンロードリスト」に名前変更。
  • 「プログラム管理」を「プログラムマネージャ」に名前変更し、下記の機能追加と仕様変更をしました。
  1. コマンドライン起動によるシステム登録をサポート。
  2. 配布対象ファイルの拡張子を代用拡張子に変更して配布する機能を追加。
  3. システム登録時に、同名のデスクトップアイコンが既に存在する場合の登録方法を変更します。「デスクトップアイコンが既に存在します。再登録しますか？」の確認メッセージを表示し、「はい」の場合は再登録し、「いいえ」の場合は登録しません。以前はアイコン名を自動変更して強制登録しており、運用時のアイコン名にて誤解をまねくおそれがありました。
  4. システム登録済みの場合、別ログインでの登録時にデスクトップアイコンが作成されなかったのを改善。

○フォームに他社コントロールを使用する方法について仕様変更しました。詳細は「他社コントロールの使用方法」を参照。

○データベース設計のテーブル情報のプライマリーキーの設定方法を改善しました。 「プライマリーキーの編集」を参照。

○フィールドでのツールヒントの表示/非表示をフォーム全体またはフィールド毎に選択可能にしました。「フォーム情報のプロパティ」の「ToolTipを表示しない」プロパティと、「フィールド情報のプロパティ」の「ToolTip対象外」プロパティを参照。

○プログラム実行時にデータベースアクセスなどをログ出力する「トレースモード」を追加しました。

〇フィールド制御情報の「テーブル参照」プロパティに設定できるリスト数を変更可能にしました。「テーブル参照に編集」を参照。

〇コンボボックスフィールド等のリストデータの先頭に空白行を追加するプロパティを追加しました。「フィールド情報のプロパティ」の「空白行を先頭に追加」と「空白行選択時の戻値」を参照。Control.DEFのリスト関連コントロールにパラメータ"select"が追加されました。すでに開発中のシステムでこの機能を使用する場合、開発ディレクトリのControl.DEFを変更する必要があります。

〇フォームメソッド GetData(), GetDataデータ型()　の戻り値（リストデータの未選択時など）に一部変更があります。

〇データベース設計のデータベース情報に「空文字列の保存時のデータ値」に関するプロパティを追加しました。「MS-JET」「SQL-Server」「ORACLE」の各プロパティを参照。

  • CrystalReportViewerを貼り付けるとコントロールが無くなる場合があるのを改善。なお、CrystalReportViewerは他社コントロールの扱いになります。
  • LabelコントロールフィールドでのClick、DblClickイベントを取得可能にしました。
  • 帳票フォームのリストフィールド名に順番号をつけた場合に発生する不具合修正
  • 帳票改ページ時に固定フィールドのデータ出力が正常にできない不具合修正。
  • テーブルSQLでのＳＱＬ文に「{フィ-ルド名}」前後に文字がある場合、文字によってはSQL実行時にフィールド値が正常に展開されない不具合修正。
  • テーブル参照で複数テーブルを参照するSQLを使用する場合の不具合修正。
  • 明細エリア内のフィールド情報の「交互背景色」プロパティが正常に機能しない不具合修正。プロパティ名が「交互背景色対象外」に変更になりました。
  • 表示フォーマットで「####」を指定してもブランク時に0を表示する不具合修正。（Ver1.50の現象）
  • フォーム制御ツリーの順序変更時に発生する不具合修正。
  • 明細フィールドに設定したテーブル参照が別データベースの場合、正常に機能しない不具合修正。
  • コード検索のフィールドがフォーカス状態で他コントロールをダブルクリックすると、コード検索ウィンドウが表示される不具合修正。
  • 主キーを持たないテーブルを「テーブル参照」で使用した場合に発生するエラーメッセージを変更。
  • ExecuteDLL()メソッドでアセンブリ名とルート名前空間名が異なるとき正常にメソッドを呼び出せない不具合修正。
  • トランザクション実行中のReadTable()、ExecuteNonQuery()メソッドで実行時エラーになる不具合修正。
  • スマートクライアント時に、プロパティ(DatabaseKind, ConnectionString)をアクセスするとエラーになる不具合修正。
  • 「アプリケーションの追加と削除」で「LLL/.net開発キット」を削除中にエラーメッセージが表示されるのを改善。
  • 「プログラム配布」のダウンロード完了後に、開始プログラムの実行ウィンドウが他アプリケーションの後ろに隠れることがあるのを改善しました。
  • チェックボックスのデータ取得で正常に取得できない場合がある。この修正により、チェックボックスをString型でデータ取得した値"False/True"が、数値型と同様に”0/1”になります。
  • NumericUpDownコントロールにフォームのガイダンスメッセージが表示される不具合修正。

バージョン 1.50

○OracleのDB接続ProviderとしてOracleCientにも対応。「Oracleのプロパティ」を参照して下さい。

○プログラム配布状況をログ出力する機能を追加。「プログラム配布機能について」を参照して下さい。

○データベース制御のLWinDBオブジェクトとLDbMainオブジェクトにプロパティ(DatabaseKind, ConnectionString)を追加 。
●DatabaseKind： データベース種類 ("MSJET", "MSSQL", "ORACLE")
●ConnectionString： データベース接続文字列

○フォームテンプレートの定義場所が、開発ディレクトリの\SystemPatsディレクトリ下に変更になりました。これにより、開発システムごとにテンプレートをカスタマイズすることが可能になりました。

○データベース設計やプログラム設計のプロパティ入力等の操作方法を見直し、Enter,Esc,Tab,矢印キー等のキーボード操作が容易になるよう改善しました。

○TextBox等の最大文字数の設定をこれまでのバイト数に加え、Unicode文字数で設定可能になりました。

  • ログイン画面の新規ディレクトリの場合のタブ移動を修正。
  • 帳票フォーム設計時にツールバーの[フォーマット形式の表示]をクリックすると実行時エラーが発生するのを修正。
  • 画面フォームをフォーム複写で追加する時に、帳票フォームを選択すると実行時エラーが発生するのを修正。
  • 作成プログラム実行時に、DatetimePickerコントロールに数値入力できない不具合修正。
  • 画面フィールド情報の「小数点桁数」を設定すると、作成プログラム起動時に実行エラーになる不具合修正。
  • テーブルカラムの別名によるフィールドのリンクカラム名の設定が反映されるように修正。
  • ListViewエリアの子フィールドが存在しない場合に実行時エラーになる不具合修正。
  • 数値型フィールドで大きい桁数の数値を入力・表示できない不具合修正。
  • トランザクション実行中のExecuteNonQuery()メソッドで実行時エラーになる不具合修正。
  • BackGroundImageプロパティ等のフォーム設定が無効になる不具合修正。
  • クラスライブラリ化したプログラムをLLL/.netでオープンするとエラーになる不具合修正。
  • フォーム設計を繰返し実行すると、フォームのサイズが少しづつ大きくなる不具合修正。
  • 明細エリアの「明細行の高さ」は自動計算で求めるが、誤ってプロパティ設定できるようになっていたため削除。
  • 複数テーブルを参照するSQLを使用する場合の不具合修正。
  • 表示フォーマットが定義されていないフィールドや空白入力でAreaEventが発生しない不具合修正。
  • 新規開発ディレクトリを作成後のプログラム設計時にオブジェクト参照エラーが発生する不具合修正。
  • DateTimePickerコントロールに対し、NULL、空白を表示すると実行時エラーになるのを回避するため、MinDateTimeを表示するように変更。

バージョン 1.40

◎帳票出力機能を追加しました。詳細については、「帳票出力機能について」を参照してください。

  • プログラム設計の保存確認ダイアログに、「キャンセル」追加。
  • PCの地域日付形式によっては日付フィールドで実行時エラーが発生する不具合修正。
  • RadioButtonでString型フィールドの場合、CheckFocus実行時にRadioButton選択が変更される不具合修正。
  • 明細行に配列フィールドにリンクデータを表示するとフィールド名エラーになる不具合修正。

バージョン 1.30

○スマートクライアントのサーバーライセンスの登録方法を変更しました。詳細については、マニュアルの「Webサーバーの設定」を参照してください。

  • スマートクライアントのサーバーライセンスのチェックでイベントログがエラー出力される為、サーバーライセンスのチェック方法を変更。
  • 入力文字数のチェックで半角カナを２文字としていた不具合修正。
  • 入力文字数が最大文字数入力されている場合に、上書き修正入力ができない不具合修正。
  • LLL/.netで解析できないＳＱＬ文を入力した場合、SQL編集画面に正常に表示できない不具合修正。
  • SQL文のAS句によるカラム名に対するリンクが考慮されないのを改善。
  • [コード検索]の[フォーム表示位置] [Height]が正しく設定されないのを改善。
  • VisualStudioでTextBoxのTextAlignをRightに設定しても、[表示フォーマットの編集]の左寄せ、中央寄せ、右寄せが優先されるのを、[表示フォーマットの編集]がデフォルト(左寄せ）の場合は除くように修正。
  • [コード検索]の設定をしていないフィールドでDoubleClickイベントが取得できないのを修正。
  • プログラム設計画面で右上[×]ボタンですぐ終了してしまうのを、保存確認ダイアログを表示するように変更。
  • C#のサンプルシステムで「売上伝票入力」が正常に起動できないのを修正。
  • C#でフォームのプロパティ値に継続行（＋）になっている場合、正常に保存できない不具合を修正。
  • プログラムを保存しても[プログラム選択]画面の更新日列が変更されないのを修正。
  • 明細行シフト(Ctrl + Delete)を行なうと、フォーカスがあるフィールドのデータが消え不具合を修正。
  • データベース設計のテーブル情報が未登録で、新規プログラムを作成しようとするとエラーになるのを修正。
  • 明細行の参照テーブルによるデータ表示が正常に表示されないことがあるのを修正。

バージョン 1.21

  • ユーザ登録のマシンＩＤがマシン起動毎に変動する不具合を修正。
  • フォームイベントエントリでキーイベントが取得できない不具合を修正。

バージョン 1.20

◎プロフェッショナル版をリリース。「スマートクライアント型」システムの開発が可能になりました。

○LLL/.net開発キットや共通ランタイムコンポーネントを、.NET Framework1.1 を必須プラットフォームとしました。

バージョン 1.10

◎　使用可能な開発言語として C#.NET を追加しました。 C#.NET対応ライセンスが必要です。

  • VS2003開発環境で使用する場合、.NETFarmework1.0が必要であったのを改善。
  • フォームにMenuやToolBarが含まれていたときの不具合を改善。(MenuやToolBarはデザイン画面には表示されませんので注意してください。）

バージョン 1.00

  • 最初のリリースです。


制限事項

【プログラム設計】

  • 作成したフォームに引数なしのコンストラクタがpublicスコープで定義されていない場合、デザイン画面で正常に表示されません
  • フォームにデザイン対象外のコントロールを配置した場合、デザイン画面ではパネルコントロールで表示されます。これらはVS開発環境でデザインして下さい。また、事前に操作上問題が発生しないか確認してご使用ください。
  • VisualStudio.NETで作成可能なユーザーコントロールはLLL/.netのフォーム制御対象にできません。
  • フォームのImageデータはローカルイメージファイルのみの対応です。（スマートクライアントでは使用できません）
  • フォームコントロールの制限として下記のものがあります。
    コントロール | 制限内容
    DateTimePicker | フィールド情報の表示フォーマットは日付入力フォーマットとしては反映しません。表示フォーマットを設定した場合、String型のフィールドに保存する場合の変換フォーマットとして扱われます。NULLや空白等の設定範囲外データを表示する場合、MinDateTimeを表示します。データ取得でMinDateTimeの場合、空白データを取得します。
    ListView | 先頭カラムは表示位置が左寄せのみになります。
    Menu, Toolbar | フォームデザインには正確に表示しません。
    DataGridView | フォームデザインを禁止します。
    SplitContainer,
    ToolStripContainer     		フォームデザインを禁止します。
    TableLayoutPanel | フォームデザインによるコントロール配置やデザインは未対応。
    Label | フォームデザインでの複数行にわたるテキストの設定はできません。ラベルコントロールに複数行にわたるテキストを表示する場合、プログラム起動後にオウンコーディングで表示する必要があります。
    フリーレイアウトグリッド(G1FreeGrid) | 各種制限事項、注意事項があります。フリーレイアウトグリッド利用時の設定と制限事項にて詳細をご確認ください。

【データベース設計】

  • メインデータベース（DbMain）以外のデータベーステーブルをアクセスする場合、テーブルSQLを登録して実行する必要があります。

【帳票フォーム設計】

  • PDF417、QRコードの子フィールドには対応しておりません。
  • Imageデータはローカルイメージファイルのみの対応です。（スマートクライアントではご使用できません）

【開発環境】

  • ネットワークドライブ環境に開発システムを作成し、複数端末を使用して開発する場合、 　イントラネットの.NETセキュリティレベルを変更する必要があります。
    • 「管理ツール」-「Microsoft .NET Framework x.x Configuration」を実行します。
      「マイコンピュータ」「ランタイムセキュリティポリシー」「コンピュータ」「コードグループ」「All_Code」「LocalIntranet_Zone」を順次選択します。
      「コードグループプロパティの編集」画面でLocalIntranet_Zoneの「アクセス許可セット」を「FullTrust」に変更します。
      警告：開発環境以外で設定する場合は、セキュリティレベルの変更になるので注意が必要です

  • LLL/.netシステムを共有フォルダ上にインストールした場合、ヘルプドキュメントのトピックが表示できない場合があります。

対策として下記のレジストリエントリを修正する必要があります。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions　のキー作成し、
DWORD値でMaxAllowedZone を作成し値のデータを「１」にします。

警告：レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。セキュリティに関しても自己責任で行ってください。


動作環境

【LLL/.net for VS2010,VS2012】

LLL/.netによるアプリケーション開発環境

  • OS：Windows XP, Windows Vista, Windows 7, Windows 8
  • .NET Framework4, .NET Framework4.5
  • 開発環境：Visual Studio2010, Visual Studio2012 (Professional Edition以上)(注1)
  • 開発言語：VB.NET、C#

アプリケーションのクライアント

  • OS：Windows XP, Windows Vista, Windows 7, Windows 8
  • .NET Framework4, .NET Framework4.5

アプリケーションのWebサーバー

  • OS：WindowsServer 2003,Windows Server 2008,Windows Server 2008 R2
  • .NET Framework4, .NET Framework4.5

サポートするデータベース

  サポートするデータベースは下記のとおりです。マイクロソフトのホームページ等で公開される各データプロバイダに関する最新のサポート情報に注意してご使用ください。

Microsoft Jet (注2)

  • 使用するデータプロバイダ：
    OleDb (Microsoft.Jet.OLEDB.4.0)
  • Microsoft Jet 4.0に対応(Access2000)

Microsoft SQL

  • 使用するデータプロバイダ：
    SqlClient (.NET Framework Data Provider for SQL Server)
  • Microsoft SQL Server 7.0 以降

Oracle (注3)

  • 使用するデータプロバイダ：
    OracleCient (.NET Framework Data Provider for Oracle)
    OleDb (MSDAORA)

注1：Professional Edition以上がサポート対象ですが、Standard Edition, Express Edition(Visual Studio2012の場合は「Express for Windows Desktop」)でもお試しいただくことはできます。
注2：スマートクライアントの場合、テスト使用のみで本番運用にはお勧めできません。
注3：各データプロバイダに対応するOracleのシステム要件については、マイクロソフトのホームページで確認してください。


64bit OS上での動作について

実行環境

LLL/.netアプリケーションで作成されるアプリケーションは、基本的にAnyCPU(実行環境における32bit/64bitプロセスを事前定義しない)の設定になっています。

しかし、下記の状況下では、64bit OS上での動作に注意が必要となります。

  1. データベース接続にMS JETを使用する場合
    Ver2.30以前のLLL/.netアプリケーションにてMS JETデータベース接続を利用する場合、接続ミドルウェアとしてはADO.NETのOLE DBブリッジ(System.Data.OledbClient名前空間)を用いて、「Microsoft.Jet.OLEDB.4.0」プロバイダを使用して接続していました。
    しかし、64bitアプリケーション用の「Microsoft.Jet.OLEDB.4.0」プロバイダは現時点(2012年4月現在)存在せず、Windows Vista/7の64bit Editionには代替となるOLEDBプロバイダは標準搭載されておりません。
    LLL/.net Ver4.00(及び、LLL/.net Ver2.40)以降のバージョンにおいては、プログラムの実行時のプロセス種類(32bit/64bit)に応じてMSJETの接続文字列を切り替えるよう、機能を修正しました。
    32bit環境下では従来通り「Microsoft.Jet.OLEDB.4.0」プロバイダを用いて接続しますが、64bit環境下では「Microsoft.ACE.OLEDB.12.0」プロバイダを用いて接続を試みます。
    当該プロバイダはLLL/.netアプリケーションを動作させるPC上で64bit版 Microsoft Accessをインストールするか、Microsoft社より64bit版 再頒布可能コンポーネント(注：32bit版と64bit版の共存はできません)を無償ダウンロードしてインストールする必要があります。
  2. データベース接続にORACLEを使用し、且つプロバイダーの設定に「OLEDB」を選択している場合
    ORACLEデータベース接続(プロバイダー「OLEDB」)を利用する場合、接続ミドルウェアとしてはADO.NETのOLE DBブリッジ(System.Data.OledbClient名前空間)を用いて、「MSDAORA」プロバイダを使用して接続しています。
    しかし、64bitアプリケーション用の「MSDAORA」プロバイダは現時点(2012年12月現在)存在せず、上述のMSJETの場合と異なり、Microsoft社から代替となるプロバイダも提供されておりません。
    接続プロバイダに「Oracle」を使用してください。
  3. ActiveXコンポーネントを使用する場合
    帳票設計オプションにて、帳票出力エンジンとしてシーオーリポーツ Ver8.5、9を使用する場合、ランタイムコンポーネントが32bit ActiveXコンポーネントであるため、64bitプロセスから帳票出力機能を呼び出すことができません。
    LLL/.netで作成したアプリケーションのプロジェクトについて、プロパティ設定で「ターゲットCPU」を「x86」に設定し、常に32bitプロセスとして動作するように設定する必要があります。

開発環境

  1. データベース接続にMS JETを使用する場合
    データベース設計時にMS JETデータベース接続で「データベース接続テスト」「DBテーブルからテーブル情報追加」「DBテーブルをCREATE」「DBテーブルをDELETE」を試みる場合、実行環境と同様に実行プロセスの種類(32bit/64bit)によって、接続文字列の影響をうけます。
    LLL/.net Ver4.00(及び、LLL/.net Ver2.40)以降のバージョンにおいて、実行環境と同様プログラムの実行時のプロセス種類(32bit/64bit)に応じて接続文字列を切り替えるよう、機能を修正しています。 同様に、開発環境のPC上に64bit版 Microsoft Access をインストールするか、Microsoft社より64bit版再頒布可能コンポーネント(注：32bit版と64bit版の共存はできません)を無償ダウンロードしてインストールする必要があります。
    もしくは、「データベース設計起動オプション」の設定にて「常に32bitプロセスで起動する」をTrueにすることにより、32bitOS上で設計を行うのと同様の挙動を示します。
  2. データベース接続にORACLEを使用し、且つプロバイダーの設定に「OLEDB」を選択している場合
    データベース設計時にORACLEデータベース接続で「データベース接続テスト」「DBテーブルからテーブル情報追加」「DBテーブルをCREATE」「DBテーブルをDELETE」を試みる場合、実行環境と同様に実行プロセスの種類(32bit/64bit)によって影響をうけます。
    64bitプロバイダ種類として「OLEDB」は選択できません。「ORACLE」を選択する必要があります。 もしくは、「データベース設計起動オプション」の設定にて「常に32bitプロセスで起動する」をTrueにすることにより、32bitOS上で設計を行うのと同様の挙動を示します。
  3. ActiveXコンポーネントを使用する場合
    開発ツール本体は、Ver4.00(及びVer2.40)において32bit OSをターゲットにしたアプリケーションとして構築しているため、64bit OS上でもシーオーリポーツ Ver8.5、Ver9を用いた帳票の設計を行うことができます。


セットアップ

セットアップ前の確認

  1. VisualStudio.NETがセットアップされているか確認してください。
  2. CD-ROMのREADME.TXTをよみ、注意事項を確認してください。

インストール手順

  1. CD-ROMのSetup.exeを起動し、セットアップを開始します。
  2. セットアップでの画面指示に従い、インストールしてください。

セットアップ完了後、デスクトップに作成されたアイコンのダブルクリック、又はスタートメニューに登録されたメニューからシステムを起動し、引き続きユーザ登録の手続きをして下さい。

アンインストール

  1. 「コントロールパネル」の「プログラムの追加と削除」から削除して下さい。
  2. その後、LLL/.netインストール先のディレクトリを全て削除して下さい。


ユーザー登録

  システムを起動すると、本システムのインストールディレクトリのライセンスファイルをチェックします。ライセンスファイルが存在しない場合、または正常でない場合、下図のユーザー登録画面を表示します。

  ライセンスファイルは、別途指定された方法にて、弊社ユーザーサポートより入手してください。このとき、この画面に表示されるマシンＩＤが必要になります。

入手したライセンスファイルを登録するには、以下の2つの方法の内いづれかを行う必要があります。

方法1：ユーザ登録画面上からライセンスファイルを登録

ユーザ登録画面上の「ライセンスファイル登録」ボタンをクリックすると、下図のようなダイアログを表示します。

対象となるライセンスファイルを選択し、「開く」ボタンをクリックすることで、システムに選択されたライセンスが登録されます。
登録完了後、自動的に「ログイン」画面が表示されます。

方法2：手作業でライセンスファイルを登録

入手したライセンスファイルを、本システムのインストールディレクトリに複写して下さい。
複写完了後、本システムを実行すると、「ログイン」画面を表示します。

ライセンスファイルについて

ライセンスファイルには、マシンＩＤ、ユーザー名のほかに、使用可能な開発環境、開発言語などのライセンス情報が記録されています。

ライセンス情報の内容は、「バージョン」画面にて表示確認することができます。

評価版について(開発環境)

上記画面でライセンスファイルの登録を行わずに「評価版として実行」ボタンをクリックしてLLL/.netを起動した場合、評価版モードで起動します。
評価版モードでは、ログイン可能な開発ディレクトリ(クライアントサーバ型、スマートクライアント型)、設計できる機能に制限はありません。

評価版について(クライアント実行環境)

評価版モードのLLL/.netで開発ディレクトリにログインした場合、その開発ディレクトリに含まれるアプリケーションは、下記のような挙動を示します。

  • アプリケーションは開発者が作成した各フォームの初期表示時に、下記のようなツールチップが約10秒程度表示されます。

ライセンスファイルの登録が行われた製品版のLLL/.netで開発ディレクトリにログインすることで、上記挙動は実施されなくなります。


セットアップ

ディレクトリ構造

インストール後のディレクトリ構造

[LLL/.netインストールディクトリ] |
├─DeploymentTool |
│ ├─ClientManager | ：クライアントマネージャのセットアップファイル
│ │ └─Deployment | ：クライアントマネージャの自己更新用ファイル
│ ├─Sample | ：配布対象システムのサンプル
│ └─ServerTools | ：配布ロギングプログラム
├─Sample2010 | ：LLL/.net サンプルシステム(VS2010用)
├─Sample2012 | ：LLL/.net サンプルシステム(VS2012用)
├─ServerManager | ：LLL/.net サーバライセンス登録プログラムファイル
├─VS2010 | ：VisualStudio 2010用各種設定ファイル
｜ ├─BIN | ：共通ランタイムコンポーネント(*.dll)
｜ │ ├─CoDlls | ：帳票設計オプション(シーオーリポーツVer8&9)用ランタイムコンポーネント
｜ │ └─CnDlls | ：帳票設計オプション(シーオーリポーツ For .NET Ver2)用ランタイムコンポーネント
｜ ├─LWebService | ：スマートクライアント型開発の際に使用するファイル類
｜ │ ├─App_Code | ：サーバ側で動作するコード
｜ │ └─Bin | ：VisualStudio 2010用共通ランタイムコンポーネント(*.dll)
｜ ├─PatsCS | ：C#新規プログラムに関する基本情報類
｜ │ ├─Component | ：サーバーコンポーネント用基本情報
｜ │ │ ├─Project | ：サーバーコンポーネント用プロジェクトファイル
｜ │ │ │ └─Properties | ：サーバーコンポーネント用アセンブリ属性ファイル
｜ │ │ └─Template | ：サーバーコンポーネント用標準テンプレート
｜ │ ├─Project | ：クライアントプログラム用プロジェクトファイル
｜ │ │ └─Properties | ：クライアントプログラム用アセンブリ属性ファイル
｜ │ └─Template | ：クライアントプログラム用標準テンプレート定義
｜ │ ├─Properties | ：クライアントプログラム用標準設定ファイル
｜ │ ・ |
｜ │ ・ |
｜ │ |
｜ └─PatsVB | ：VB.NET新規プログラムに関する基本情報類
｜ ├─Component | ：サーバーコンポーネント用基本情報
｜ │ ├─Project | ：サーバーコンポーネント用プロジェクトファイル
｜ │ │ └─My Project | ：サーバーコンポーネント用アセンブリ属性ファイル
｜ │ └─Template | ：サーバーコンポーネント用標準テンプレート
｜ ├─Project | ：クライアントプログラム用プロジェクトファイル
｜ │ └─My Project | ：クライアントプログラム用アセンブリ属性ファイル
｜ └─Template | ：クライアントプログラム用標準テンプレート定義
｜ ├─My Project | ：クライアントプログラム用標準設定ファイル
｜ ・ |
｜ ・ |
｜ |
└─VS2012 | ：VisualStudio 2012用各種設定ファイル
├─BIN | ：共通ランタイムコンポーネント(*.dll)
│ ├─CoDlls | ：帳票設計オプション(シーオーリポーツVer8&9)用ランタイムコンポーネント
│ └─CnDlls | ：帳票設計オプション(シーオーリポーツ For .NET Ver2)用ランタイムコンポーネント
├─LWebService | ：スマートクライアント型開発の際に使用するファイル類
│ ├─App_Code | ：サーバ側で動作するコード
│ └─Bin | ：VisualStudio 2012用共通ランタイムコンポーネント(*.dll)
├─PatsCS | ：C#新規プログラムに関する基本情報類
│ ├─Component | ：サーバーコンポーネント用基本情報
│ │ ├─Project | ：サーバーコンポーネント用プロジェクトファイル
│ │ │ └─Properties | ：サーバーコンポーネント用アセンブリ属性ファイル
│ │ └─Template | ：サーバーコンポーネント用標準テンプレート
│ ├─Project | ：クライアントプログラム用プロジェクトファイル
│ │ └─Properties | ：クライアントプログラム用アセンブリ属性ファイル
│ └─Template | ：クライアントプログラム用標準テンプレート定義
│ ├─Properties | ：クライアントプログラム用標準設定ファイル
│ ・ |
│ ・ |
│ |
└─PatsVB | ：VB.NET新規プログラムに関する基本情報類
├─Component | ：サーバーコンポーネント用基本情報
│ ├─Project | ：サーバーコンポーネント用プロジェクトファイル
│ │ └─My Project | ：サーバーコンポーネント用アセンブリ属性ファイル
│ └─Template | ：サーバーコンポーネント用標準テンプレート
├─Project | ：クライアントプログラム用プロジェクトファイル
│ └─My Project | ：クライアントプログラム用アセンブリ属性ファイル
└─Template | ：クライアントプログラム用標準テンプレート定義
├─My Project | ：クライアントプログラム用標準設定ファイル
・ |
・ |

サンプルシステムの使用方法

サンプルシステムを使用する場合、Sample2010およびSample2012ディレクトリ下の自己解凍形式圧縮ファイルSample2010.exe(Sample2012.exe)を実行して任意のフォルダ上に解凍してください。解凍してできたHanbai_VBまたはHanbai_CSは、サーバークライアント型システムとしてログインすることが可能です。


バージョンアップ手順

LLL/.netをインストール済みで既にユーザシステムを開発中に、LLL/.netをバージョンアップする場合の手順です。

(1)LLL/.net開発キット

  1. システムディレクトリ（デフォルト=C:\Program Files\LLLnet）のライセンスファイル（LNET_xxxxxx.lic）を保存
  2. バージョンアップ後も必要なファイルを保存
    • ユーザが登録したテンプレートファイルなど
  3. 旧バージョンを削除
    • 「アプリケーションの追加と削除」で旧バージョンを削除して下さい。
    • システムディレクトリを削除して下さい。
  4. 新バージョンをインストール
  5. バージョンアップ前に保存したファイルを元のディレクトリ下に復旧
  6. ライセンスファイルをシステムディレクトリに復旧

(2)ユーザ開発システム

  1. 開発ディレクトリにあるランタイムＤＬＬを新バージョンのDLLで上書き複写して下さい。
  2. スマートクライアント型の場合は、binディレクトリのランタイムＤＬＬも上書き複写して下さい。
  3. 開発ディレクトリ作成時に自動的に複写されるファイル（Control.DEFなど）も更新される場合があります。この場合は、新たに複写するか、変更部分をエディタで修正してください。
  4. 開発システムが正常に動作するか確認をして下さい。もし異常がある場合、再コンパイル後に確認してください。

(3)クライアントマネージャ

各クライアントに配布済みの「クライアントマネージャ」をバージョンアップする場合、以下の手順でお願いします。

  1. システムディレクトリ（デフォルト=C:\Program Files\LLLnet ClientManager）のSystemsディレクトリにあるクライアントに登録済みのユーザシステムを復旧したい場合、一時的に保存してバージョンアップ後に復旧してください。
  2. 「アプリケーションの追加と削除」で「クライアントマネージャ」を削除
  3. 「クライアントマネージャ説明書」を参照して、「クライアントマネージャ」をセットアップ。

LLL/.netによるVS2003～VS2008対応の開発システムを 「LLL/.net for VS2010 VS2012」の開発システムに移行する手順。

  1. [開発ディレクトリ]に下記ファイルを複写して下さい。
    • (LLL/.net　for VS2010 VS2012)\[対応VS(*1)]\BIN のDLLファイルを [開発ディレクトリ]下に上書き複写。
    • (LLL/.net　for VS2010 VS2012)\[対応VS(*1)]\BIN\CoDll のDLLファイルを [開発ディレクトリ]下に上書き複写。
      (帳票設計オプション利用時の場合)
  2. 開発システムがスマートクライアント型システムの場合、下記作業をして下さい。
    • [開発ディレクトリ] 下の \Global.asmx , \bin\LWebService.dll をファイル削除
    • (LLL/.net　for VS2010 VS2012)\[対応VS(*1)]\LWebService のファイルを [開発ディレクトリ] 下に上書き複写。
    • (LLL/.net　for VS2010 VS2012)\[対応VS(*1)]\LWebService\App_Code のファイルを [開発ディレクトリ]\App_Code を作成し複写。
    • (LLL/.net　for VS2010 VS2012)\[対応VS(*1)]\LWebService\Bin のDLLファイル を [開発ディレクトリ]\bin に上書き複写。
  3. [開発ディレクトリ]下の各開発プログラムをVisualStudio2010アップグレードウィザードの指示に従いアップグレードします。
  4. 帳票設計オプションを利用した帳票出力プログラムの場合、プロジェクトの参照アセンブリに「LLLNET.LComPrn.Extends.CoDraw」を追加します。
    注)この作業を行わなくともプログラムのビルドはできますが、開発時のデバッグなどで正常に動作しない場合があります。
  5. [開発ディレクトリ]\SystemInfo\System.DEFをエディタで開き、「ide=[移行前VS(*2)]」という記述を、「ide=[対応VS(*1)]」に変更して保存します。
  6. 「LLL/.net for VS2010 VS2012」を起動し、開発ディレクトリにログインします。
  7. 帳票設計オプションをご利用の場合、「VisualStudio」メニューから「帳票設計オプション環境」を選び帳票環境プロパティにて「CoReports Ver8.5 & 9」の「使用する」を「True」に設定してください。
  8. 開発システムの各プログラムが正常に動作するか確認してください。

*1:VisualStudio2010で開発する場合「VS2010」,VisualStudio2012の場合は「VS2012」

*1:VisualStudio.NET2003で開発していた場合「VS2003」,VisualStudio2005の場合は「VS2005」,VisualStudio2008の場合は「VS2008」

（注意事項）

  • 移行作業を実施する前には必ずバックアップ作業をしてください。
  • LLL/.netでは上記手順により、確実に開発システムが移行されることを保障するものではありません。使用コントロールや各種設定などの影響で、正常に移行できない場合は、該当プログラムの変更などが必要になることがあります。
  • Ver2.xx以前のLLL/.netにおける帳票設計オプションでは、Ver4.00以降で対応するシーオーリポーツ For .NETには対応しておりません。ゆえに上記手順での記載はシーオーリポーツVer8.5、Ver9を対象としたアップグレード手順を記載しております。


（１）開発システムのディレクトリ

  プログラム作成に入る前に、ログイン画面からシステム開発用のディレクトリを新規作成します。システム開発用ディレクトリを作成すると下図のような構成で生成されます。

  • SystemInfoには、システムで使用する各種設計情報を保存します。
  • SystemDocsには、設計過程で作成される各種ドキュメントを保存します。
  • SystemPatsには、プログラム設計で使用するフォームテンプレートが保存されます。
  • binディレクトリには、Webサービスで使用するコンポーネントを保存します。
  • 実際にプログラム作成をはじめると、システムディレクトリ下にディレクトリが追加されます。VisualStudio.NETで通常作成されるプロジェクトディレクトリと同じ構成になります。
  • 開発システムのルートディレクトリには、最終的に配布して実行可能なクライアントプログラムやランタイムコンポーネントを保存します。

Windows Vista利用時の注意点

Windows Vista上でシステム開発用ディレクトリを作成する場合、以下のフォルダ上でのファイル作成・編集はVistaのUAC(ユーザアカウント制御)機能に抵触するため、ここに開発ディレクトリを作成することはお勧めできません。

<開発ディレクトリ作成に適さないフォルダ>
  • [システムドライブ]￥Windows￥以下
  • [システムドライブ]￥Program Files￥以下
    (LLL/.netの標準のインストール先「[システムドライブ]￥Program Files￥LLLnet For VS2005」以下も含む)
  • [システムドライブ]￥Program Files(x86)￥以下(同上)
  • [システムドライブ]￥Users￥[自分以外のユーザ名]￥以下
システムドライブを含む任意のドライブ直下に新たにフォルダを作成し、そこに開発ディレクトリを作成することを推奨します。
(例：「[システムドライブ]￥システム開発￥開発ディレクトリ１」等)


（２）データベース設計

  プログラム設計をする前に、プログラムで使用するデータベース情報を登録します。

データベース情報

  • データベースの種類および接続情報を登録します。
  • データベースのカラム情報をあらかじめ辞書項目として登録することができます。辞書項目は、テーブルを新規に作成する時に参照可能です。データベースからテーブルやビューを参照して情報登録する場合、カラム名の追加的な情報を辞書項目から参照して登録します。

テーブル情報

  • テーブル名称やカラム情報、プライマリーキーなどを登録します。
  • テーブル情報からデータベースにテーブルを生成できます。
  • データベースの既存テーブルを参照し、テーブル情報を登録できます。

ビュー情報（クエリー情報）

  • ビュー名称やカラム情報などを登録します。
  • データベースの既存ビューを参照し、ビュー情報を登録できます。


（３）プログラム設計

フォームテンプレート

  プログラム設計では、汎用的なビジネスアプリケーションの処理や操作方法をいくつかの雛型としてまとめたフォームテンプレートが用意されています。このフォームテンプレートを選択することにより、おおむねの画面レイアウトが表示されます。フォームテンプレートは標準テンプレートのほかに、ユーザーの好みに応じたフォームデザインや処理ロジックにカスタマイズしたものを追加することができます。

コントロール制御

  フォームのコントロールは、テーブル情報を元にした各種コントロールや単体コントロールをドラッグドロップ操作で配置します。配置されたコントロールは、関連するフィールド制御情報のプロパティを設定することで、下記の各種機能をもたせることができます。

  • 文字種、文字数、数値範囲、テーブル参照などの入力データチェック
  • コード検索ウィンドウによるデータ入力
  • リストデータ（コンボボックスなど）のデータベース等からの簡単設定
  • 表示データのリストデータによる変換
  • テーブル参照による参照データの表示
  • フォーマット形式による表示データの編集
  • ガイダンスメッセージやエラーメッセージの設定

エリア制御

  フォームにはエリア制御機能があります。エリア制御機能は、フォームに配置したコントロールを一括制御する機能で、通常のエリア制御と、明細行を制御する明細エリア制御があります。エリア制御機能を利用すると、データ入力、データ表示、データクリア、フォーカス移動、イベント処理、データベースアクセス等をエリア単位で簡明に記述することができます。
  表示される画面レイアウトには、エリアを表すパネルが配置されており、このパネル上にコントロールをドラッグドロップするだけで、コントロールのフィールド情報をエリア単位に登録できます。下図は、キーエリア、データエリアにそれぞれコントロールを配置したフォームデザインの例です。

  複数フォームの制御

  ひとつのプログラムでは、それぞれデザインした複数フォームを作成することが可能です。たとえば、伝票入力プログラムににマスタ登録や元帳問合せなどの諸機能を含ませることが簡単に実現します。


（４）VisualStudio.NETでの開発

  プログラム設計で作成したプログラムは、VisualStudio.NETでオープンすることができます。

  VisualStudio.NETでは、デザイン、プログラム、デバッグ、コンパイルなどの豊富な機能を利用することが可能です。詳細なフォームデザインの編集や、イベント処理などのオウンコードの編集のあと、デバッグし、プログラムを完成させることができます。

  もちろん、プログラム設計で再オープンし、フォーム制御情報の変更や追加なども行うことができますので、双方の開発環境を使用したスムーズな開発をおこなえます。


プログラムの操作

作成したプログラムの共通な操作方法について説明します。

キーボード操作

    基本的にマウスとキーボードで操作しますが、起動から終了までキーボードによる操作だけでも、違和感のない操作が実現されます。キーボード操作で標準で設定されている操作は以下のとおりです。これらの各種キーの割当ては、フォーム制御プロパティの設定で変更可能です。

  • Enterキー、Tabキーによる入力フォーカスの移動
    入力フォーカス移動の順番は、フォーム制御情報のフィールド制御の定義順番になります。
  • Shift＋Enterキー、Shift＋Tabキーによる入力フォーカスの逆移動
  • 入力取消キー(Esc)による入力処理の取消
  • 入力完了キー(F12)による入力確認へ移動
  • コード検索可能なコントロールでは、コード検索キー（F8）でコード検索ウィンドウを表示

明細制御エリアでのキーボード操作

  • カーソル移動キー（Ctrl＋矢印キー）による明細行でのフォーカスの上下左右移動
  • 挿入削除キー（Alt＋Insert、Alt＋Delete）による明細行の挿入削除
  • 挿入削除キー（Ctrl＋Insert、Ctrl＋Delete）による明細行データの上下シフト

マウス操作

  • コード検索可能なコントロールでは、ダブルクリックでコード検索ウィンドウを表示

コード検索ウィンドウ

コード検索ウィンドウは、入力フィールドに簡単なパラメータ設定をするだけで作成することができます。操作方法は、マウスによる選択と、カーソルキーとEnterキーによる選択ができます。

ガイダンスメッセージ

  入力フォーカスされたコントロールのガイダンスメッセージは、ガイダンス表示コントロールに表示されます。マウスカーソルをコントロールの上においた場合も、同じメッセージを表示します。ガイダンスメッセージの内容はフィールド制御プロパティで、ガイダンス表示コントロールはフォーム制御プロパティの設定で変更可能です。

エラーメッセージ

  コントロールの入力データチェックでエラーがあった場合、エラーマーク（ [image] ）をコントロール横で点滅します。同時に、エラーメッセージをエラーメッセージ表示コントロールに表示します。エラーメッセージの内容はフィールド制御プロパティで、エラー表示コントロールはフォーム制御プロパティの設定で変更可能です。


プログラムのランタイムコンポーネント

ランタイム・コンポーネント

  LLL/.netで開発したプログラムを実行するには、.NET Frameworkの動作するプラットフォームとともに、LLL/.netで用意したランタイム・コンポーネントが必要になります。

下図は、LLL/.netランタイム・コンポーネントの全体関連図です。「クライアントサーバー型」の場合は、左部分のクライアント側のコンポーネントのみで構成します。「スマートクライアント型」の場合は、Webサーバー側のコンポーネントも含めた構成になります。

（１）フォーム制御コンポーネント(LLLNET.LComWin.dll)

  フォーム制御コンポーネントは、フォーム制御情報に基づくフォーム動作の制御をおこないます。以下は、主な制御内容です。

  • フォームの初期設定：　コンボボックス等のリストデータ準備、明細行の初期表示など
  • 制御キーの処理： フォーカス移動、コード検索ウィンドウ表示、明細行の操作など
  • フォーカス移動の処理：　入力データのチェック処理など

  フォーム制御コンポーネントのイベント処理は、フォームイベントエントリにコーディングします。以下は、主なイベント処理です。

  • フォーム開始処理、フォーム終了処理
  • 入力データの正当性チェック処理
  • エリアイベント処理（データエリア計算）
  • コントロールクリック処理

  フォーム制御コンポーネントには、フォーム制御やデータベース制御のメソッドが用意されております。フォームテンプレートのコード処理で使用されていますが、オウンコーディングでももちろん使用することができます。主なメソッドの種類は以下のとおりです。

  • フォーカス移動
  • フォームデータの入出力
  • データベースの入出力
  • 明細行制御

  【プロフェッショナル版】 データベース接続情報にWebサービスの設定がある場合、Webサービスを使用する機能があります。

  • Webサービス経由でデータベース制御コンポーネントをアクセスする機能。
  • Webサービス経由でサーバープログラムを実行する機能。

（２）データベース制御コンポーネント(LLLNET.LComDb.dll)

  データベース制御コンポーネントは、データベースアクセスの各種メソッドが用意されております。フォーム制御コンポーネントからのデータベースアクセスに使用されますが、ユーザプログラムからも使用することができます。

（３）帳票制御コンポーネント(LLLNET.LComPrn.dll,LLLNET.LComPrn.Extends.CoDraw.dll,LLLNET.LComPrn.Extends.CnDraw.dll)

  帳票制御コンポーネントは、帳票出力を実行するための各種メソッドが用意されています。実際に帳票出力するパソコンには、帳票エンジンの実行ランタイムをインストールしておく必要があります。

（４）Webサービスコンポーネント(LWebService.dll)

「スマートクライアント型」システムのWebサービスを制御するコンポーネントです。クライアントからのWebサービスリクエストに従い、サーバー側のデータベース制御コンポーネントやサーバーコンポーネントのメソッドを実行します。


プログラミング概要

  生成プログラム のプログラム構成とオウンコーディングについて説明します。プログラム構成はテンプレートごとに同じで、フォームデザインやパラメータが異なるだけです。オウンコーディングは、基本的に#Regionで囲まれた部分以外は、イベント処理の追加も含めて自由に実施することができます。 プログラム構成とそれぞれの説明を以下に記述します。

[プログラム構成](VB.NETの場合)

Imports LLLNET.LComWin
Imports LLLNET.LComDb

Public Class Form1
Inherits System.Windows.Forms.Form

#Region " Windows フォーム デザイナで生成されたコード "
フォーム デザイナで生成されたコード
#End Region

#Region " LLL/.NET フォーム制御パラメータ情報"
フォーム制御パラメータ情報
#End Region

フォーム処理コード

End Class

(1)フォームデザイナで生成されたコード

  プログラム設計、またはVisualStudio.NETのフォームデザイナで作成されます。
この#Region内を編集する場合は、プログラム設計または、VisualStudio.NETを使用してください。

(2)フォーム制御パラメータ情報

  プログラム設計のフォーム制御情報により作成されます。
この#Region内を編集する場合は、プログラム設計のフォーム制御ツリーの設定内容を変更してください

詳細は、「フォーム制御パラメータ情報」を参照してください。

(3)フォームの処理コード

  フォームの処理コードは、テンプレートに登録された処理コードが、そのまま複写されます。従って、テンプレートが同じ場合、同じ処理コードになります。フォームの処理コードは、VisualStudio.NETを使用して、イベント処理を追加したり、処理を変更したりと、ほぼ自由にカスタマイズすることができます。プログラム設計でのフォームデザインの変更作業等で、フォーム処理コードが変更されることはありません。

処理コードの共通なプロシージャとして以下のものが用意されています。

  • 変数定義領域：　処理コードで使用する変数を定義します。
  • フォームイベントエントリ
  • フォーム開始・フォーム終了
  • 入力データの正当性チェック処理
  • コントロールクリック処理
  • エリアイベント処理

処理コードの内容は、テンプレート毎に異なります。詳細は、各テンプレートの処理コードの説明を参照してください。


ログイン

   システムを起動するとログイン画面が表示されます。前回ログインした開発ディレクトリがある場合、そのシステム情報が初期表示されます。

  ログインする開発ディレクトリを選択する場合、「開発ディレクトリ選択」ボタンを押して「フォルダの参照」を表示して選択してください。選択したディレクトリが開発ディレクトリとして認識された場合、システムの情報が表示されログイン可能な状態になります。選択したディレクトリにファイルやディレクトリが存在しない場合、新規システムとして登録可能な状態になります。これ以外のディレクトリを選択した場合、ログインすることはできません。

  新規システムとして登録する場合、ログイン画面のシステム情報を設定する必要があります。そしてログイン後に、データベース設計を最初に登録する必要があるため、自動的にデータベース設計画面が表示されます。

項目 | 説明
開発ディレクトリ | 開発システムのホームディレクトリです。
ユーザー名 | 開発システムのユーザー名
システム名 | 開発システムのシステム名
開発対象 開発対象とするシステム形態を「クライアントサーバー型」または「スマートクライアント型」から選択します。
  • 「クライアントサーバー型」：単体システムまたはクライアントサーバーシステムの開発。
  • 「スマートクライアント型」：インターネットを経由したクライアントサーバーシステムの開発。【プロフェッショナル版】
  • 「評価用（クライアントサーバー型）」：LLL/.netの評価版で作成可能な開発対象です。LLL/.netの製品版で設定することはできません。製品版でこの開発ディレクトリを選択して開発継続する場合、ログイン後に「システムプロパティ」で開発対象を「クライアントサーバー型」または「スマートクライアント型」に変更してからログインしてください。
開発環境 | 使用するVisualStudio.NETバージョンです。(現バージョンは VS2010(VisualStudio2010),VS2012(VisualStudio2012) から選択)
開発言語 | 開発システムの開発言語（現バージョンはVB.NET,C#.NETから選択可能）。
開発者名 | 開発者の名前を入力します。システムプロパティのシステム開発者リストで登録された名前以外でログインできない設定になっている場合、登録された名前でないとログインできません。
[開始] | 開発システムにログイン開始します。
[新規システム] | 新規に開発システムを作成する場合に使用します。
[終了] | ログインせずに終了します。


プログラム選択

   開発するプログラムを選択します。該当プログラムを選択して「オープン」ボタンを押すと「フォームデザイン」画面が表示されます。
新規にプログラム作成する場合は、「新規プログラム」ボタンを押します。プログラムＩＤの入力ボックスが表示されますので、英数文字で入力します。新規プログラムの場合、「フォームテンプレート選択」画面が表示されます

項目 | 説明
[オープン] | 選択したプログラムをオープンします。
[新規プログラム] | 新規にプログラムを作成します。
[削除] | 選択したプログラムディレクトリを削除します。
[取消] | プログラムをオープンせずに、メイン画面を表示します。


フォームテンプレート選択

  プログラムに追加するフォームのテンプレートを選択します。表示されたテンプレート一覧からを選択しパラメータを設定して「ＯＫ」ボタンを押してください。選択したテンプレートのフォームが、「フォームデザイン」に表示されます。

  一覧表示されるフォームテンプレートの説明は、「フォームテンプレートの概要」を参照してください。また、他プログラムで作成済みのフォームを複写して再利用することもできます。

項目 | 説明
「フォーム名」 | 作成するフォームのクラス名。デフォルトでForm1～の連番で表示されます。
[フォーム複写]ボタン | ファイルオープンダイアログが表示されます。追加するフォームクラスをオープンします。
[OK]ボタン | 選択したフォームテンプレートをプログラムに追加します。
[取消]ボタン | フォームの追加を取消します。
「テンプレート」リスト | フォームテンプレートが一覧表示されます。追加するテンプレートをマウスで選択します。
「パラメータ」リスト | 選択したフォームテンプレートのパラメータが、一覧表示されます。これらのパラメータは、入力必須です。テキストボックスまたはコンボボックスから入力してください。


メニュー・ツールバー

プログラム設計のメニューとツールバーの説明です。

ツールバー

ボタン | 説明
終了 | プログラム設計を終了します。
ログイン | プログラム設計を終了し、「ログイン」画面を表示します。
システムプロパティ | 「システムプロパティ」画面を表示します。
データベース設計 | 「データベース設計」を実行します。
プログラム選択 | 「プログラム選択」画面を表示します。
プログラム保存 | プログラムを保存します。但し、プログラム設計は終了しません。
プログラムプロパティ | 「プログラムプロパティ」画面を表示します。
フォーム追加 | 「フォームテンプレート選択」画面を表示し、選択したフォームを追加します。
帳票フォームの追加 | 「帳票フォームテンプレート選択」画面を表示し、選択した帳票フォームクラスを追加します。
フォーム削除 | 表示しているフォームまたは帳票フォームクラスを削除します。但し、メインフォームは削除できません。
フォーマット形式表示 | LabelやTextBoxの編集フォーマットの表示・非表示を選択します。
プログラム情報出力 | 現在開いているプログラムに含まれているフォーム、帳票フォームの設計情報をデータベースに出力します。詳しくは「設計情報の活用」をご覧ください
フォームハードコピー取得 | 現在表示されているフォームのハードコピーを取得します。詳しくは「設計情報の活用」をご覧ください
VisualStudio起動 | プログラム設計をクローズし、VisualStudioを起動します。
プログラム実行 | 作成済みプログラムをリスト表示し、選択したプログラムを実行します。
デプロイメントマネージャ起動 | デプロイメントツールのデプロイメントマネージャを起動します。プログラム配布用のダウンロードリストの編集作業やクライアントへのプログラム配布状況の確認作業をします。
ドキュメント表示 | このドキュメントを表示。

システム(S)

項目 | 説明
システムログイン | プログラム設計を終了し、「ログイン」画面を表示します。
システムプロパティ | 「システムプロパティ」画面を表示します。
データベース設計 | 「データベース設計」を実行します。
終了 | プログラム設計を終了します。

プログラム(P)

項目 | 説明
プログラム選択 | 「プログラム選択」画面を表示します。
プログラム保存 | プログラムを保存します。但し、プログラム設計は終了しません。
プログラム情報出力 | 現在開いているプログラムに含まれているフォーム、帳票フォームの設計情報をデータベースに出力します。詳しくは「設計情報の活用」をご覧ください
プログラムプロパティ | 「プログラムプロパティ」画面を表示します。

フォーム(F)

項目 | 説明
フォームの追加 | 「フォームテンプレート選択」画面を表示し、選択したフォームを追加します。
フォームの削除 | 表示しているフォームを削除します。但し、メインフォームは削除できません。
帳票フォームの追加 | 「帳票フォームテンプレート選択」画面を表示し、選択した帳票フォームクラスを追加します。
帳票フォームの削除 | 表示している帳票フォームクラスを削除します。但し、画面フォームは削除できません。
サーバーコンポーネント追加 | 「コンポーネントテンプレート選択」画面を表示します。スマートクライアント型システムのサーバーコンポーネントを追加する場合に使用します
フォーマット表示 | LabelやTextBoxの編集フォーマットの表示・非表示を選択します。
フォームハードコピー取得 | 現在表示されているフォームのハードコピーを取得します。詳しくは「設計情報の活用」をご覧ください

VisualStudio(V)

項目 | 説明
VisualStudioを起動 | プログラム設計をクローズし、VisualStudio.NETを起動します。
実行プログラムリスト | 作成済みプログラムをリスト表示し、選択したプログラムを実行します。
VisualStudioの環境 | 「開発環境プロパティ」画面を表示します。
帳票設計オプション環境 | 「帳票環境プロパティ」画面を表示します。
データベース設計の環境 | 「データベース設計起動プロパティ」画面を表示します。

ヘルプ(H)

項目 | 説明
ドキュメント | マニュアルドキュメントを表示します。
バージョン | バージョンやライセンス情報を表示します。


フォームデザイン

下図は「プログラム設計」の全体画面です。画面は、メニューやツールバーと

  • 「フォームデザイン」：　フォームのコントロール配置等をデザインします。
  • 「情報選択ツリー」：　「フォーム制御」「コントロール配置」「オウンコード」のツリーパネルがあります
  • 「プロパティリスト」：　「コントロール」や「情報選択ツリー」のプロパティを設定するリストパネルです。

の３つのパネル構成になっています。

以下にフォームデザインの操作について記述します。

コントロールの配置

「コントロール配置」パネルから、ドラッグドロップでコントロールを「フォームデザイン」パネルに配置できます。
特別なコントロールの配置方法を以下に示します。

  • Tabコントロールを配置する場合、最初にTabControlを配置します。その後TabPageをTabControl上部のタブ部分に配置するとページ追加できます。位置移動やサイズ変更もTabPage選択ではできないのでTabControlを選択して実施してください。
  • 明細エリアコンテナでは、自動的に横方向の順番に配置されます。また、項目名ラベルはコンテナの真上に表示されます。
  • ListViewコンテナでは、配置コントロールの種類にかかわらず自動的にListViewItemが配置されます。

コントロールの削除

選択したコントロールを「Delete」キーで削除できます。但し、フォーム制御に登録された「フィールド情報」は削除されません。
コントロールの選択は、単体コントロールはコントロールのクリック、複数コントロールはマウスドラッグによる範囲指定で行います。

コントロールの位置移動

選択したコントロールをマウスでドラッグします。複数コントロール選択時は、選択マークをドラッグしてください。

コントロールのサイズ変更

選択したコントロールのサイズ変更マークをドラッグして、サイズ変更してください。
項目名ラベルはデフォルトでAutoSize=trueにされていますので、サイズ変更する場合は、「プロパティリスト」でfalseに変更してください。
但し、ListBoxやNumericUpDown等の一部コントロールで正常にできないものがあります。この場合、ＶＳ開発環境で変更してください。

コントロールのプロパティ変更

コントロールを選択した場合、「プロパティリスト」には設定可能なコントロールプロパティが表示されます。
コントロールのName、背景色、文字色、文字フォント、テキスト文字が、標準で設定可能です。
この他に、コントロール種類に応じて特別なプロパティ設定が可能です。
ここで設定できないプロパティは、ＶＳ開発環境のデザイン画面で設定して下さい。

注意事項

  • フォームにMenuやToolBarが配置されている場合、デザイン画面には表示しません。VisualStudio環境で編集してください。
  • フォームにデザイン対象外のコントロールが配置されている場合、デザイン画面には、パネルコントロールで表示されます。

キー操作

キー操作 | 説明
[F2] | フォーム制御パネルにフォーカス移動。
[F3] | コントロール配置パネルにフォーカス移動。
[F4] | オウンコードパネルにフォーカス移動。
[Enter] フォーカス位置により下記入力操作を可能にします。
  • フォーム制御,コントロール配置パネル：プロパティ入力
  • プロパティリスト：プロパティ値入力
[Escape] | フォーカス位置の各入力操作を取消します。


フォーム制御情報

「情報選択ツリー」パネルの「フォーム制御」を選択すると、「フォーム制御」ツリーが表示されます。
「フォーム制御」ツリーには、フォーム動作を自動制御する各種情報が表示されます。ツリーの各情報を選択すると、該当情報のプロパティが「プロパティリスト」パネルに表示されます。この登録情報は、「フォーム制御パラメータ情報」としてフォームファイルのソースプログラムに挿入されます。

項目 | 説明
[追加] | 選択した情報を追加します。フォーム情報では追加可能な情報リストから選択します。
[削除] | 選択した情報を削除します。
[↑] | 制御情報の順番を変更します。フィールド情報の場合、カーソル移動順番を変更できます。また、エリアに含まれるフィールドを変更します。
[↓] | (同上)

データベース情報

データベースの接続パラメータなどを、データベースのプロパティから登録します。

テーブルSQL

データベーステーブルのSQL文などを、テーブルSQL情報のプロパティから登録します。

コード検索

コード検索ウィンドウの情報を、コード検索情報のプロパティから登録します。

フォーム情報

  フォーム全体の制御情報として、メッセージコントロールやキー設定などを、フォーム情報のプロパティから登録します。フォーム情報の中には、フォーム内のエリア情報やフィールド情報などをツリー形式で構成します。

  • エリア情報：　エリア制御するパラメータを、エリア情報のプロパティから登録します。エリア情報は、ツリーに含まれるフィールドコントロールを一括制御するための情報です。イベント処理やメソッドなどで、エリア情報を使用すると、コーディングが簡明になります。
  • 明細エリア情報：　明細行制御するため各種パラメータを、明細エリア情報のプロパティから登録します。
  • フィールド情報：　コントロールを制御するため各種パラメータを、フィールド情報のプロパティから登録します。
  • ワークフィールド情報：　コントロールが配置されてないフィールド情報を、特別にワークフィールド情報と呼びます。ワークフィールド情報のデータ型などを、ワークフィールド情報のプロパティから登録します。


コントロール配置

「情報選択ツリー」パネルの「コントロール配置」です。
ここで選択したコントロールをドラッグドロップにより「フォームデザイン」パネルに配置することが可能です。

  テーブルSQL情報やテーブル情報のカラムを選択すると、パネル上部に以下の項目のチェックボックスやコンボボックスが表示されます。ドラッグドロップするコントロールや配置方法などを選択することができます。

項目 | 説明
ラベル有り | 項目名ラベルを同時に配置する場合、チェックします。
コントロール選択ボックス | 配置するコントロールを選択します。
方向選択ボックス | 項目名ラベルとコントロールの位置関係を選択します。 配列フィールドやRadioButtonの場合、配置する方向を選択します。
列数ボックス | 配列フィールドやRadioButtonの場合、配置する列数を選択します。

「コントロール」ツリー

配置可能なコントロールが表示されます。選択したコントロールをドラッグドロップで配置します。

「制御コントロール」ツリー

フォームテンプレートで特別な用途に使用するコントロールを配置します。コントロールのエリア情報やフィールド情報も同時に追加します。

「テーブルSQL情報」ツリー

「フォーム制御」パネルにテーブルＳＱＬ情報を登録すると、「main」「subs」などの「テーブルSQL情報」ツリーが表示されます。テーブルＳＱＬ情報にリンクされたコントロールを配置すると、フィールド情報も同時に追加されます。データベーステーブルとのリンク関係も設定されます。

  データベーステーブルとのリンク関係とは、フィールド情報の「リンクカラム名」プロパティに、テーブルカラム名が設定されることです。リンク関係が設定されると、PutDataTableやGetDataTableといったメソッドで、フォームのコントロールのデータ表示やデータ取得ができます。

「テーブル情報」ツリー

データベース設計で登録したテーブル一覧が表示されます。テーブルを選択すると、テーブルのカラム一覧が表示されます。カラムをドラッグドロップで配置すると、フィールド情報も追加されます。しかし、「テーブルＳＱＬ情報」ツリーのようにデータベーステーブルとのリンク関係は設定されません。

エリア情報コンテナ

「フォームデザイン」パネルには、「エリア情報」とリンクしたコンテナを配置しておくことができます。
「エリア情報」コンテナにコントロールを配置すると、フィールド情報はエリア情報内の最後に追加されます。
「エリア情報」コンテナが「明細行エリア」又は「ListView」の場合、コントロールはコンテナ内で横方向順番に自動的に配置されます。


オウンコード編集

「情報選択ツリー」パネルの「オウンコード」パネルを選択した場合、オウンコード編集画面が表示されます。
「オウンコード」パネルのツリー情報は、ソースプログラムのコメントの先頭に(owncode)と設定されている場合に表示されます。
画面左のコーディングパネルで、簡単な編集をすることは可能ですが、VisualStudio.NET開発環境の編集機能にはとてもかないません。
この画面ではコーディング内容を参照する程度にとどめ、実際のコーディングはVisualStudio.NET開発環境で実施して下さい。


コントロールプロパティ

コントロールのプロパティ

「フォームデザイン」パネルでコントロールを選択すると、下図のようなプロパティリストが表示されます。コントロールに共通なプロパティと、コントロール種類によるプロパティがあります。
ここで設定できるプロパティは一部ですので、その他のプロパティはVisualStudio.NETの開発環境で設定して下さい。

項目 | 説明
ｺﾝﾄﾛｰﾙ名 | Nameプロパティ(英文字)
ｺﾝﾄﾛｰﾙ共通ﾌﾟﾛﾊﾟﾃｨ |
背景色 | 「色の選択」画面から背景色選択
文字色 | 「色の選択」画面から文字色選択
文字ﾌｫﾝﾄ | フォントダイアログからフォント選択
ﾃｷｽﾄ | Textプロパティ
TextBoxプロパティ |
Multiline | テキストを複数行入力可能にする場合、True
TextAlign (注１) | テキスト位置選択(HorizontalAlignment)
Labelプロパティ |
AutoSize | ラベルサイズを自動調整する場合、True
TextAlign (注１) | テキスト位置選択ContentAlignment
ComboBoxプロパティ |
DropDownStyle | コンボボックスのスタイル選択ComboBoxStyle
ListViewプロパティ |
ListViewの設定 | 「ListViewの設定」画面から設定

（注１）TextAlignはコントロールのフィールド情報で表示フォーマットの設定がある場合は表示フォーマットの設定が優先されます。

サンプル


データベースプロパティ

データベース情報のプロパティ

「フォーム制御」パネルでデータベース情報を選択すると表示されるプロパティリストです。
青字の項目の設定内容はここでは変更できません。これらのプロパティを変更する場合、データベース設計で変更する必要があります。

項目 | 説明
ﾃﾞｰﾀﾍﾞｰｽ名 | データベース名
ﾃﾞｰﾀﾍﾞｰｽ種類 | データベース種類(MSJET,MSSQL,ORACLE)
接続文字列 | データベース接続文字列
ﾀｲﾑｱｳﾄ秒数 | データベースアクセスをタイムアウトにする秒数
URLｱﾄﾞﾚｽ | 現在未使用
起動時に自動接続しない | フォーム起動時にデータベース接続し、リストデータを取得する挙動を抑制します。 ResumeConnectionメソッドで、抑制した接続を再開するまで、このデータベース接続を用いてデータアクセスすることはできません

サンプル


ＳＱＬテーブルプロパティ

テーブルＳＱＬ情報のプロパティ

「フォーム制御」パネルでテーブルSQL情報を選択すると表示されるプロパティリストです。

リンクテーブルに使用するテーブルのＳＱＬ文を設定します。
「リストデータの編集」や「テーブル参照の編集」で使用するＳＱＬ文を登録することもできます。

項目 | 説明
SQL名 | テーブルSQL名
ﾃﾞｰﾀﾍﾞｰｽ名 | データベース名を選択
SQL文の編集 | 「SQL文の編集」画面でＳＱＬ文を設定します。 簡易的に自動設定されますが、必ず、正しく設定されているか確認してください。
SQL文の出力ﾃﾞｰﾀ | 「SQL文の出力データ」画面でテーブル更新時に設定する出力データを設定します。簡易的に自動設定されますが、必ず、正しく設定されているか確認してください。

サンプル


コード検索プロパティ

コード検索情報のプロパティ

「フォーム制御」パネルでコード検索情報を選択すると表示されるプロパティリストです。

コード検索画面のリストデータ及びフォームの表示形式を設定します。

項目 | 説明
ｺｰﾄﾞ検索名 | コード検索情報名(英文字)
検索ﾃﾞｰﾀの設定 |
ﾘｽﾄﾃﾞｰﾀの編集 | 「リストデータの編集」画面で、リスト表示するデータ設定します。
特別な戻値ﾌｨｰﾙﾄﾞ | 省略時、戻り値は呼出したコントロールに設定されます。 それ以外のフィールドに戻り値を設定したい場合に使用します。たとえば、多層検索を行う場合に、途中の検索データを一時保存する用途に使用します。
ソート可能 | ヘッダークリック時、クリックされたカラムの値の順にデータがソートされます。 同じカラムのヘッダーを再度クリックすることで昇順/降順が切り替わります
ﾘｽﾄ表示の設定 |
ﾀｲﾄﾙ名 | コード検索画面のタイトルを設定します。
ｶﾗﾑ名 | 「コード検索のカラム設定」画面からListViewのカラム名、幅、表示位置を設定します。
ﾘﾌﾚｯｼｭ表示 | コード検索画面を表示する毎に、リストデータを更新する場合、Trueにします。
交互背景色 | ListViewの明細行の背景色を交互に変更する場合、Trueにします。 ここで使用する背景色は「フォーム情報のプロパティ」の明細奇数行と偶数行の色で設定された色を使用します。
ﾌｫｰﾑ表示位置 |
Left | コード検索画面の表示位置を設定
Top | (同上)
Width | コード検索画面のサイズを設定
Height | (同上)

サンプル


フォーム制御プロパティ

フォーム情報のプロパティ

「フォーム制御」パネルでFormを選択すると表示されるプロパティリストです。

項目 | 説明
開始処理
開始ﾌｫｰﾑを非表示 | フォームの初期設定中に表示される開始フォームを非表示にする。
入力ｷｰの動作
入力終了ｷｰ動作 | フォーム全体をエリアとした場合のエリア情報の入力終了キー動作と同じ
入力取消ｷｰ動作 | フォーム全体をエリアとした場合のエリア制御の入力終了キー動作と同じ
ﾌｫｰﾑの各種設定
ﾘﾝｸﾃｰﾌﾞﾙ | フォームエリアのリンクテーブル
ﾒｯｾｰｼﾞｺﾝﾄﾛｰﾙ | ガイダンスメッセージを表示するコントロール名
ｴﾗｰ表示ｺﾝﾄﾛｰﾙ | 入力エラーメッセージを表示するコントロール名
ToolTipを表示しない | ToolTipによるフィールド説明を表示しない場合、Trueに設定します。（フォーム全体）
Tab順番の変更禁止 通常、プログラム保存時にフォーム制御情報から自動的にコントロールTabIndexが自動採番されます。
このTabIndexの自動採番を禁止する場合、Trueに設定します。
明細奇数行の色 | 「色の選択」画面から明細奇数行の色を設定(White)
明細偶数行の色 | 「色の選択」画面から明細奇数行の色を設定(Beige)
ﾌｫｰﾑの入力ｷｰ | 入力キーはKeys列挙体のメンバ名で設定します。修飾子キー(Alt,Control,Shift）と組み合わせる場合は、+で連結してください。（）内のキーはデフォルトキー値です。空白は設定できません。無効にする場合は、Noneを設定してください。
入力終了ｷｰ | エリアの入力終了ｷｰ(F12)
入力取消ｷｰ | エリアの入力取消ｷｰ(Escape)
ｺｰﾄﾞ検索ｷｰ | コード検索画面の表示キー(F8)
Enterｷｰ | フィールドの入力終了キー(Enter)
戻り移動ｼﾌﾄｷｰ | Enterキーによるフォーカス戻りのシフトキー(Shift)
ｶｰｿﾙ移動ｼﾌﾄｷｰ | カーソルキーによるフォーカス移動のシフトキー(Control)
明細の入力ｷｰ | ﾌｫｰﾑの入力ｷｰの説明と同様です。
挿入ｷｰ | カーソル行に空白明細行を挿入するキー(Alt+Insert)
削除ｷｰ | カーソル行の明細行を削除するキー(Alt+Delete)
PUSHｷｰ | カーソル行に空白明細行を挿入し、最終行データは削除(Control+Insert)
POPｷｰ | カーソル行の明細行を削除し、最終行には空白行にします。(Control+Delete)
フォームイベントのオウンコード処理 | システムのプロパティの同名プロパティの設定を上書きします
FormShownイベント種類を処理する
  • 設定値なし：システムのプロパティで定義された設定に従います
  • Yes：システムのプロパティでの設定内容にかかわらず、FormShownイベント種類を処理します
  • No：システムのプロパティでの設定内容にかかわらず、FormShownイベント種類を処理しません

サンプル


エリア制御プロパティ

エリア情報のプロパティ

「フォーム制御」パネルでエリア情報を選択すると表示されるプロパティリストです。

エリア情報に「入力終了キー」または「入力取消キー」の設定がある場合、エリア内のコントロールにフォーカスがあるときにこれらのキーが押されたときの動作を説明します。

  • 先頭入力コントロールでない場合、エリア内の先頭入力コントロールにフォーカス。
  • 先頭入力コントロールの場合、フォーカス移動先のコントロールにフォーカス。
    但し、「入力終了キー」の場合、指定されたエリアのデータチェックでエラーがある場合はフォーカス移動しません。
    また、「入力取消キー」の場合、指定されたエリアのデータクリアを同時に実施します。

入力終了キー、入力取消キーは「フォーム情報のプロパティ」で設定できます。

項目 | 説明
エリア名 | エリア情報名(英文字)
入力ｷｰの動作 |
入力終了ｷｰ動作 | 入力終了キーを押下したときの動作を「キー操作時の動作設定」画面から設定します。
入力取消ｷｰ動作 | 入力取消キーを押下したときの動作を「キー操作時の動作設定」画面から設定します。

サンプル


明細エリア制御プロパティ

明細エリア情報のプロパティ

「フォーム制御」パネルで明細エリア情報を選択すると表示されるプロパティリストです。

明細エリア情報に「入力終了キー」または「入力取消キー」の設定がある場合、エリア内のコントロールにフォーカスがあるときにこれらのキーが押されたときの動作を説明します。基本的にはエリア制御と同様です。

  • 先頭入力コントロールでない場合、明細行の先頭入力コントロールにフォーカス。
  • 先頭入力コントロールの場合、フォーカス移動先のコントロールにフォーカス。
    但し、「入力終了キー」の場合、指定された明細エリアのデータチェックでエラーがある場合はフォーカス移動しません。
    また、「入力取消キー」の場合、指定された明細エリアのデータクリアを同時に実施します。
項目 | 説明
明細行名 | 明細エリア名
入力ｷｰの動作 |
入力終了ｷｰ動作 | 入力終了キーを押下したときの動作を「キー操作時の動作設定」画面から設定
入力取消ｷｰ動作 | 入力取消キーを押下したときの動作を「キー操作時の動作設定」画面から設定
明細ページ制御 |
ページ制御使用 | 明細エリアをページ制御する場合、Trueに設定。 ページ明細行数として初期明細行数の設定が必要になります。
明細の各種設定 |
ﾘﾝｸﾃｰﾌﾞﾙ | 明細エリアにリンクするテーブルSQL名を選択
有効判定ﾌｨｰﾙﾄﾞ | 明細行が有効データかどうかを判別する明細フィールド名を設定。 このフィールド値がクリア値と一致する場合、無効な明細行となります。
最終行の自動追加 | 最終明細行の有効判定フィールドに有効値を入力した場合に、明細行を自動追加するならば、Trueに設定。
明細行の表示 |
明細行数を固定 | 挿入キーや削除キーによる明細行の変更をしない場合、Trueに設定
初期明細行数 | 明細エリアのクリアで初期表示する明細行数
最小明細行数 | 削除キーによる最小明細行数
最大明細行数 | 挿入キーによる最大明細行数
明細行の高さ | 明細行の高さを設定
明細行の間隔 | 明細行の間隔を設定
交互背景色 | 明細行の背景色を奇数偶数で自動変更する場合、Trueに設定
ListView追加設定 |
ソート可能（注１） | ヘッダークリック時、クリックされたカラムの値の順にデータがソートされます。 同じカラムのヘッダーを再度クリックすることで昇順/降順が切り替わります

（注１）リストビュー明細のときのみ設定可能です。設定後、明細エリアのコントロール種類をVisualStudio上で変更した場合など、この設定は残りますが、開発ツール上は表示されず、実行時にも無視されます

サンプル


フィールド制御プロパティ

フィールド情報のプロパティ

「フォーム制御」パネルでフィールド情報を選択すると表示されるプロパティリストです。

項目 | 説明
ﾌｨｰﾙﾄﾞ名 | フィールド名を設定(英文字)
ﾌｨｰﾙﾄﾞ表示名 | フィールドの表示名を設定。各種メッセージに使用されます。
ToolTip対象外 | ToolTip表示の対象外にする場合、Trueにする。 （制限事項）：NumericUpDownのように内部でコントロールを構成するコントロールは、この設定にかかわらず入力メッセージをToolTipに表示することはできません。
ｺﾝﾄﾛｰﾙの配置 | フィールド名のコントロールが「フォームデザイン」パネルに配置されている場合、コントロール配置済みと表示されます。配置済みでない場合、ワークフィールドとなります。
入力ｷｰの動作 |
入力終了ｷｰ動作 | 入力終了キーを押下したときの動作を「キー操作時の動作設定」画面から設定
入力取消ｷｰ動作 | 入力取消キーを押下したときの動作を「キー操作時の動作設定」画面から設定
ﾒｯｾｰｼﾞの設定 |
入力ﾒｯｾｰｼﾞ | フォーカス時のガイダンスメッセージを設定
ｴﾗｰﾒｯｾｰｼﾞ | データエラー発生時のエラーメッセージを設定
ﾃﾞｰﾀ表示の設定 |
ﾘﾝｸｶﾗﾑ名 | リンクするテーブルSQL名のカラム名を選択
ﾃﾞｰﾀ型 | データ型を選択
ｻｲｽﾞ | 文字列バイト数
配列数 | 配列フィールドの場合、配列数
ｸﾘｱ値 | クリアで表示する値
ｸﾘｱ対象外 | エリアクリアのクリア対象外にする場合、Trueに設定
表示ﾌｫｰﾏｯﾄ | Label,TextBoxに表示するデータの表示フォーマットを「表示フォーマットの編集」画面から設定します。
ﾃｰﾌﾞﾙ参照 | フィールドにデータ入出力したとき、テーブル参照処理をする場合、「テーブル参照の編集」画面から設定します。 データ入力でテーブル参照の結果、該当レコードがない場合、参照エラーが表示されます。
ﾘｽﾄﾃﾞｰﾀ設定 | ComboBox,RadioButton,CheckBoxに使用するリストデータを「リストデータの編集」画面から設定します。 表示データの変換テーブルとして使用することも可能です。
表示時トリム | LForm.PutData()、LForm.PutDataTable()メソッドを用いて値を本フィールドに表示する際、表示データの前後に含まれる空白文字を除去して表示します。 逆にLForm.GetData()、LForm.GettDataTable()メソッドを用いて値を取得する場合には、画面上で入力された前後の空白は除去しません。 None:空白文字を除去しません(デフォルト)。 Both:両端の空白文字を除去します。 Left:左端の空白文字のみを除去します。 Right:右端の空白文字のみを除去します。
ﾘｽﾄﾃﾞｰﾀの追加設定 |
空白行を先頭に追加 | ComboBox等のリストデータの先頭に空白行を追加する場合、Trueに設定。
空白行選択時の戻値 | リストデータの先頭空白行を選択したときの戻り値を設定します。
ﾃﾞｰﾀ入力の設定 |
ｺｰﾄﾞ検索 | データ入力時にコード検索する場合、コード検索情報を選択します。
入力必須 | 入力必須の場合、Trueにします。
ﾃｷｽﾄ入力の設定 |
最大文字数 | 最大文字数を「文字数入力」画面から設定します。
小数桁 | 小数点以下の桁数を設定
文字集合 | 入力許可される文字を設定
下限値 | 入力許可される最小数値を設定
上限値 | 入力許可される最大数値を設定
自動抜出し | 最大文字数を入力するとフォーカス移動する場合、Trueにする。
明細行の設定 |
交互背景色対象外 | 明細エリアの交互背景色の対象外にする場合、Trueにする。
複写ﾌﾟﾛﾊﾟﾃｨ | 自動生成する明細行コントロールで、先頭行のコントロールのプロパティ値を複写するプロパティ名を設定します。複数ある場合は(,)で区切ります。デフォルトでは以下のプロパティ値が自動的に複写されます。これらについては設定の必要がありません。 ●全コントロールの複写プロパティ ForeColor, .BackColor, ImeMode, Text, Font, Size, Location (Enabled, Visible) ●標準コントロールの複写プロパティ Label = AutoSize, BorderStyle, FlatStyle, TextAlign TextBox = MaxLength, TextAlign CheckBox = Appearance, CheckAlign, ThreeState RadioButton = Appearance, CheckAlign ComboBox = DropDownStyle, DropDownWidth, MaxLength, Sorted, Items ListBox = ColumnWidth, MultiColumn, Sorted

サンプル


ワーク制御プロパティ

ワークフィールド情報のプロパティ

   「フォーム制御」パネルで、コントロール配置されてないフィールド情報を選択すると表示されるプロパティリストです。
フィールド制御でコントロールが配置されてないものをワークフィールドとして制御します。

プロパティリストの設定方法については、「フィールド情報のプロパティ」を参照してください。

サンプル


ListViewの設定

ListViewコントロールのカラムヘッダーの設定を編集する画面です。

項目 | 説明
「カラム数」 | カラム数を増減します。
カラム名 | カラムヘッダーに表示するタイトル文字列
カラム幅 | カラムの幅をピクセル数で設定
表示位置 | カラムのデータ表示位置を(左寄せ、中央寄せ、右寄せ)から選択
[登録] | 設定内容でListViewを変更。
[取消]] | 取消。


色の選択

色を選択する画面です。

項目 | 説明
「定義済み」パネル | 定義済みカラーを選択。
「システム」パネル | システム環境のカラーを選択。
「カスタム」パネル | カラーダイアログから設定する任意の色。
[登録] | 選択した色を登録。
[取消]] | 色の選択を取消。


ＳＱＬ文の編集

テーブルＳＱＬ情報のSELECT文を編集します。

SQL文を直接編集する場合は、「SQL文を自動編集」のチェックをオフにして、テキストを入力します。編集方法の注意点は以下のとおりです。

  • SELECT文として、select句, from句、where句、order by句の順で編集します。
  • SELECT文で使用するテーブルやカラムのオブジェクト名は [ ] で囲み、[オブジェクト名] のように記述します。
  • select句には、*、[カラム名]、別名.[カラム名] が使用可能です。
  • from句には、単一または複数のテーブルを設定できます。複数テーブルの場合、where句でリンク関係を設定してください。
  • from句に複数テーブルを設定する場合、"[テーブル名]　as 別名"　にように別名を宣言します。as演算子は省略できません。
  • where句に、フィールド変数を使用する場合、フィールド変数を { } で囲み、{フィールド変数} のように記述します。
  • where句のフィールド変数が、文字列の場合は、'{フィールド変数}'、日付型の場合は、#{フィールド変数}# のように記述します。
  • select句、from句以外は、使用するデータベースのSQL文の文法で編集して下さい。ただし、使用してうまく動作しない場合は、使用できる範囲の機能に限定します。

「SQL文を自動編集」をチェックすると、[テーブル追加]ボタン、[テーブル削除]ボタン、[選択]、[Where条件/Order順]などの設定でSQL文を自動編集できます。

項目 | 説明
「ＳＱＬ文」 | テーブルＳＱＬ情報に設定するSQL文。「SQL文を自動生成」をオフにすると、テキストを直接編集することができます。
「SQL文を自動生成」 | チェック状態にすると、[テーブル追加]ボタン、[テーブル削除]ボタン、[選択]、[Where条件/Order順]などの設定でSQL文を自動編集できます。
「テーブル追加」 | テーブル一覧コンボボックスで選択したテーブルをSQL文に追加します。２個め以降のテーブルを追加する場合、別名が自動的に設定されます。(別名はA,B,C,...の順番)。また、追加テーブルのプライマリーキーのカラムと一致するメインテーブルのカラム名と自動的にリンクされます。
「テーブル削除」 | 表示中のタブパネルのテーブルを削除します。
選択 | テーブルのカラムを選択する場合、チェック状態にします。SQL文のSELECT句以降に選択したカラム名が編集されます。全カラムのチェック状態がオフかオンの場合、SQL文は、SELECT * FROM　テーブル名　となります。
ＤＢカラム名、英字カラム名 | テーブル情報のDBカラム名と英字カラム名を表示。
データ型 | テーブル情報のデータ型を表示。
配列 | テーブル情報の配列数を表示。
Where条件/Order順 SQL文のWHERE句の条件を設定します。
  • フォームのフィールド情報の場合、{フィールド名}で設定します。String型は引用符(')で囲んでください。
  • 数値定数：　(例：　= 1 )
  • 文字定数：　引用符(')で囲む。(例：　= 'ABC' )

Where条件のかわりに、#1～#9を設定した場合、ORDER BY句が編集されます。

[登録] | 設定内容を登録。
[取消]] | 取消。

ORACLEの場合

  • SQL文の [オブジェクト名] は、 "オブジェクト名" のように変換して実行します。
  • SQL文の別名を宣言する as　は空白に置換えて実行します。


ＳＱＬ文の出力データ

  テーブルＳＱＬ情報に登録したテーブルにレコード出力する場合の、テーブルカラムの出力データを設定します。

出力データの初期値として

  • リンク関係のあるフォームフィールド名が表示されます。（linked)XXXXX
  • 明細伝票形式テンプレートの明細カラムのデータ選択で、「０～の連番」「１～の連番」を選択した場合、プライマリーキーの下位キーには、「row0」「row1」が表示されます。
  • プライマリーキーのカラムに出力データの設定がない場合、リード時に使用したデータが出力されます。
  • プライマリーキー以外のカラムに出力データの設定がない場合、データ型の初期値データが出力されます。

項目 | 説明
「ＳＱＬ文」 | テーブルＳＱＬ情報のSQL文
「特別データ」 出力データに特別な値を設定する場合に選択します。
  • row0： 0～の連番で明細レコード出力
  • row1： 1～の連番で明細レコード出力
  • counter： リードレコードのデータをインクリメント
  • today：　DateTime型のToday
  • now：　DateTime型のNow
  • null：　DBNull
  • ''：　ヌル文字列
「フォームフィールド」 | 出力データにフォームフィールドの値を設定する場合に選択します。但し、リンク関係(linked)にあるフィールドは、すでに出力データとして設定されていますので、再設定する必要はありません。
ＤＢカラム名、英字カラム名 | テーブル情報のDBカラム名と英字カラム名を表示。
データ型 | テーブル情報のデータ型を表示。
出力データ 出力データの設定内容が表示されます。
  • (linked)フィールド名： リンク関係のあるフォームフィールド名(例： (linked)KINGK )
  • {フィールド名}： フォームフィールド名。(例：　{TORISAKI_CD} )
  • 特別データ名： 「特別データ」で選択した名称。(例：row1 )
  • 数値定数： (例： 1)
  • 文字列定数：　引用符(')で囲む。(例：'ABC' )

[登録] | 設定内容を登録。
[取消]] | 取消。


コード検索のカラム設定

コード検索情報で表示されるコード検索画面のListViewカラムヘッダーを編集します。

項目 | 説明
カラムタイトル | ListViewのカラムヘッダーの名称を設定
カラム幅(ピクセル) | ListViewのカラムヘッダーの幅をピクセルで設定
表示位置 | ListViewのカラムデータの表示位置を選択。左寄せ（デフォルト）,中央寄せ、右寄せ
[クリア] | 設定内容をクリア。
[登録] | 設定内容を登録。
[取消]] | 取消。


キー操作時の動作設定

「入力終了キー」と「入力取消キー」の動作を設定する画面です。

フォーカス移動先はエリア名またはコントロール名を設定できます。エリア名の場合、エリアの先頭入力フィールドにフォーカスします。
「入力終了キー」の場合は、入力チェックエリアを設定できます。入力チェックエラーの場合、フォーカス移動しません。
「入力取消キー」の場合は、フォーカス移動時にデータクリアするエリアを設定します。

[クリア]ボタンは、パラメータ設定をクリアします。

項目 | 説明
「フォーカス移動先」 | フォーカス移動先のコントロールまたはエリアを選択
「入力チェックするエリア」 | フォーカス移動前にチェックするエリア（「入力終了キー」の場合）
「データクリアするエリア」 | フォーカス移動時にクリアするエリア（「入力取消キー」の場合）
[クリア] | 設定内容をクリア。
[登録] | 設定内容を登録。
[取消]] | 取消。


リストデータの編集

リストデータは、次の用途に使用します。

  • コード検索ウィンドウの表示データと選択値のリストデータ。
  • ComboBoxの表示データと選択値のリストデータ。
  • CheckButtonのチェック/非チェック状態を表すリストデータ。
  • RadioButtonの各ボタンのチェック状態を表すリストデータ。
  • データ表示において、戻り値の内部データを表示値に変換するリストデータ。

DBテーブル参照によるリストデータ

  選択したＤＢテーブルの選択カラムをクエリーし、リードレコードの戻り値と表示値のカラムデータからリストデータを作成します。戻り値カラムには、プライマリーキーのカラムが初期設定されます。リスト数は２が初期値ですが、これを変更することが可能です。３以上にした場合、表示値に設定できるカラムを増やすことができます。表示値を複数指定した場合、各表示値を空白でつないだ文字列が、ひとつの表示値になります。
  テーブルの配列カラムはリストデータに使用できません。この為、カラム選択用のコンボボックスにも表示されません。

戻値と表示値が任意

  戻り値と表示値がそれぞれ別個の任意定数による設定です。

戻値と表示値が同じ

  戻り値と表示値が等しい任意定数による設定です。

戻値と０からの連番、戻値と１からの連番

  表示値は任意定数で、戻り値が０からの連番（または１からの連番）になる設定です。

CheckButtonの戻値

  CheckButtonフィールドのチェック状態と非チェック状態の値を設定します。

RadioButtonの戻値

  RadioButtonフィールドの各RadioButtonのチェック状態の値を設定します。


テーブル参照の編集

フィールド情報のプロパティの「テーブル参照」を編集します。

  「テーブル参照」を設定すると、コントロールの入力データチェック処理で、入力データをキーにしてテーブルリードをします。リード結果でレコードがない場合、テーブル参照エラーで再入力になります。レコードがあった場合、参照カラムのデータを設定フィールドコントロールに表示します。参照カラムは複数設定できますが、同一フィールドコントロールにした場合、空白で接続した文字列表示します。

項目 | 説明
「DBテーブル名(またはSQL名)」 | データベースのテーブル名または、テーブルSQL情報の情報名を選択。 テーブルSQL情報の場合、SQL文のフィールド変数として、登録フィールドを設定して下さい。
リスト数 | 設定リストの行数を変更します。
参照カラム | データ表示するテーブルカラム名 テーブルの配列カラムはリストデータに使用できません。この為、カラム選択用のコンボボックスにも表示されません。
設定フィールド | 参照カラムのデータを表示するコントロール名。
[クリア] | 設定内容をクリア。
[登録] | 設定内容を登録。
[取消]] | 取消。


表示フォーマットの編集

LabelやTextBoxにデータ表示するときの表示形式を設定する画面です。

  Formatサンプルから選択して、Format文字列を設定することができます。また、Format文字列のテキストボックスから.NET Frameworkのカスタム書式指定文字列の形式で設定することができます。

（注意）入出力フィールドの場合、基本的にサポートされるカスタム書式指定文字列は下記の通りです。表示フィールドの場合、これら以外の書式文字列を使用することも可能です。しかし設定内容によっては正常に表示できないこともありますので、十分に動作確認のうえご使用ください。

  • 数値型の書式文字列 (0)ゼロプレースホルダ (#)桁プレースホルダ (.)小数点 (,)コンマ
  • 日付型の書式文字列 (d, dd)日 (M, MM)月 (yy, yyyy)年 (/)日付区切り

画面フィールドの場合

項目 | 説明
Formatサンプル | 定義済みFormatから選択する場合に使用。
Format文字列 | 登録するフォーマット文字列
[登録] | Formar文字列を登録。
[取消]] | 取消。

帳票画面フィールドの場合

項目 | 説明
Formatサンプル | 定義済みFormatから選択する場合に使用。
Format文字列 | 登録するフォーマット文字列
テキストの位置寄せ（帳票） 左、中央、右、均等 | 帳票フィールドのテキスト位置寄せを設定します。
[登録] | Formar文字列を登録。
[取消]] | 取消。


表示フォーマットの編集

文字数入力

TextBoxの最大文字数などの文字数を設定する画面です。

文字数として、非UNICODEのバイト数またはUNICODEの文字数を選択することができます。

項目 | 説明
文字数 | 文字数を設定。
文字数の計算方法 文字数の計算方法を選択。
  • 非UNICODEベース(バイト数単位）：
        半角1バイト、全角文字は2バイトとしてカウントする。
  • UNICODEベース（文字数単位）：
        半角・全角を問わず1文字としてカウントする。
[登録] | 文字数を登録。
[取消]] | 取消。


開発環境プロパティ

VisualStudio関係のプロパティを登録します。

項目 | 説明
[登録] | 設定したプロパティを保存してクローズ。
[取消] | プロパティを保存せずにクローズ。
VisualStudio200xの起動パス |
VB.NET | VBのVisualStudio起動パスを設定。 devenv.com, devenv.exe, vbexpress.exeのいずれかを指定可能です(注)
C#.NET | C#のVisualStudio起動パスを設定。 devenv.com, devenv.exe, csexpress.exeのいずれかを指定可能です(注)
その他 |
VBのbinパス | VBプログラムのコンパイル済みパス(DebugまたはRelease)を設定。実行モジュール（exe,dll）をコピーする際にbin以下のパスとして使用されます。
C#のbinパス | C#プログラムのコンパイル済みパス(DebugまたはRelease)を設定。実行モジュール（exe,dll）をコピーする際にbin以下のパスとして使用されます。

注：vbexpress.exe,csexpress.exeはExpress Editionにおける開発環境の実行ファイル名です。Express Edition、およびStandard Editionでも動作を確認できますが、正式サポートしているのはProfessional Edition以上です。ご注意ください


システムプロパティ

開発システムのユーザ名やシステム名などのプロパティを登録します。

システムプロパティを変更した場合、開発ディレクトリに対するログインを再度実行してください。特に開発対象を変更した場合は、ログイン実行後に開発環境に必要なファイルやディレクトリが設定されます。

項目 | 説明
システム情報
[登録] | 設定したプロパティを登録してクローズ。
[取消] | プロパティを登録せずにクローズ。
システムID | 英数文字のシステム名です。(現在未使用）
ユーザ名 | ユーザ名
システム名 | システム名
システム開発者リスト | 開発者名をあらかじめ登録します。複数名の場合は、カンマ(,)で区切ります。登録した開発者名以外のログインを許さない場合、最後にピリオド(.)をつけて下さい。
開発環境バージョン | VisualStudio.NETのバージョン。（VS2003, VS2005）
開発言語 | 開発システムの開発言語。（VB.NET,　C#.NET）
開発対象 開発対象とするシステム形態を「クライアントサーバー型」または「スマートクライアント型」から選択します。
  • 「クライアントサーバー型」：単体システムまたはクライアントサーバーシステムの開発。
  • 「スマートクライアント型」：インターネットを経由したクライアントサーバーシステムの開発。【プロフェッショナル版】
  • 「評価用（クライアントサーバー型）」：LLL/.netの評価版で作成可能な開発対象です。LLL/.netの製品版で設定することはできません。製品版でこの開発ディレクトリを選択して開発継続する場合、ログイン後に「システムプロパティ」で開発対象を「クライアントサーバー型」または「スマートクライアント型」に変更してからログインしてください
複数世代バックアップを取る バックアップを複数世代保持するか、直近一世代のバックアップのみを保持するかを設定します。
  • Trueに設定すると、複数世代アックアップを保持します。
  • Falseの場合は直近一世代のみのバックアップを保持します。
注：バックアップフォルダの作成場所は、各プロジェクトフォルダの下の「_lbackup」フォルダです。この設定をTrueにした場合、フォルダ名は「_lbackup[yyyyMMddHHmmssfff]」になります。作成されたバックアップフォルダはLLL/.netからは削除しません。削除・整理は手動で行う必要があります。
ドキュメント出力用情報を出力する | データベース設計やプログラム設計時に行う各情報について、データベースファイルに出力します。
アプリケーション全体設定
ﾌｫｰﾑ終了時に強制終了しない | LLL/.netアプリケーションのメインフォーム(プロセス中最初に起動したフォーム)終了時にプロセス全体を強制的に終了する挙動(Ver1.72までの仕様)を抑止します
Leaveイベント発生前にValidation実行する Validationイベント処理の実施するタイミングをコントロールします。この設定をTrueに設定することで、ControlLeaveイベント処理実施前にValidationイベント処理を実施します。
Falseに設定している場合は、Ver1.72までと同様の順序でイベント処理が発生します。
KeyDownイベント発生時にValidation実行しない Validationイベント処理の実施するタイミングをコントロールします。この設定をTrueに設定することで、EnterキーやControl+矢印キーによるフォーカス移動の際、ControlKeyDownイベント処理実施前のValidationイベント処理を抑止します。
Falseに設定している場合は、Ver1.72までと同様の順序でイベント処理が発生します。 ※Ver1.72までの処理では、Enterキー押下による移動時はValidation→ControlKeyDown→ControlLeave、マウスでの移動時はControlLeave→Validationの順序で処理されていました。
数値判定を厳密におこなう 数値入力フィールドから値を取得する際、単位など数値として識別できない文字("m","kg")を自動的に除外して値を取得する挙動(Ver1.72までの仕様)を抑制します
数値(double)フィールドへの入力値 | GetDataDouble()メソッドなどによる取得値
 | False時(旧来の仕様) | True時
"1,000.000" | 1000.000 | 1000.000
"20kg" | 20 | (エラー発生)
"A001" | 1 | (エラー発生)
旧バージョン互換のフィールドクリア挙動 | ラジオボタン、コンボボックスフィールドにLForm.Clear()を実施した場合の挙動について、Ver2.10以前とVer2.20以降の挙動を切り替えます。旧バージョンの挙動にする場合はTrueに設定してください。
データベース接続の共有 同一プロセス内で起動される各フォームについて、データベース接続を共有します。
この設定を有効にしない場合、フォーム起動の都度、そのフォーム内でデータベース接続の初期化が行われ、各データベース接続は、所属するフォームのインスタンス内で管理されます。
この設定を有効にした場合、同一プロセス内でデータベース接続はその名称(DbMain等)で識別され、同名の接続で既に初期化が行われている場合、新たに初期化を行いません。
注：各フォームにて、異なる接続先を、単一のデータベース接続名で定義している場合、この設定を有効にすることで、意図しないデータベース接続を行う可能性があります。
PutData時、空白のみのデータを空文字列として扱う | LForm.PutData()実施時、空白文字のみで構成された文字列データを長さ0の文字列として処理します。空白文字以外の文字が含まれている場合には、両端の空白は切り捨てません。
PutData時、空文字列をnullとして扱う LForm.PutData()実施時、長さ0の文字列をnull値として処理します。
上述の「PutData時、空白のみのデータを空文字列として扱う」の判定・処理を先に行うため、共にTrueが設定されている場合は、空白文字列データは最終的にnullとして処理されます。
FormShownイベント種類を処理する LLL/.netにて画面上で発生したイベントを処理するハンドラメソッドLForm_Event()にて、イベント種類LEventKind.FormShownを処理するか否かを設定します。
  • 空白(無指定時)：初期値(=No)の挙動を示します。FormShownイベント種類は処理されません。
  • Yes：FormShownイベント種類はハンドルされ、LForm_Event()に処理がわたります。
  • No：FormShownイベント種類は処理されず、実際にFormのShownイベントが発生したときもLForm_Event()に処理はわたりません。
注：各フォームプロパティ上で、この設定は上書きできます。フォーム情報のプロパティもご覧ください


プログラムプロパティ

プログラムの名称などのプロパティを登録します。

項目 | 説明
[登録] | 設定したプロパティを保存してクローズ。
[取消] | プロパティを保存せずにクローズ。
プログラムID | プログラムID（変更不可）
プログラム名(日本語) | プログラムの日本語タイトルを設定。
システム開発者 | プログラムの開発者名。


帳票環境プロパティ

帳票設計オプション利用時の使用する帳票エンジンについて等を設定します。

項目 | 説明
システム情報
[登録] | 設定したプロパティを登録してクローズ。
[取消] | プロパティを登録せずにクローズ。
CoReports Ver8.5 & 9 |
使用する | 帳票出力エンジンとして、CoReports Ver8.5、またはVer9を利用するかどうかを設定します Trueに設定すると、開発ディレクトリに必要なコンポーネントを複写します
CoReports For .NET Ver2 |
使用する | 帳票出力エンジンとして、CoReports For .NET Ver2を利用するかどうかを設定します Trueに設定すると、後述のコンポーネント取得フォルダなどから、開発ディレクトリに必要なコンポーネントを複写します
コンポーネント取得フォルダ | 帳票出力時に必要なCoReports For .NET Ver2のコンポーネント(HOS.CxCommon.dll, HOS.CnDraw.dll)のインストールされているフォルダを指定します。 指定されたフォルダから、開発ディレクトリ直下にコンポーネントをコピーします


データベース設計起動プロパティ

帳票設計オプション利用時の使用する帳票エンジンについて等を設定します。

項目 | 説明
システム情報
[登録] | 設定したプロパティを登録してクローズ。
[取消] | プロパティを登録せずにクローズ。
起動モード
常に32bitモードで起動する この値がTrueのとき64bitOS 開発環境下でもデータベース設計画面を32bitプロセスで起動します。
開発環境OSの32bit/64bitと、本設定のTrue/Falseの組み合わせによるデータベース設計画面起動時のプロセス種類は下記の図のようになります。

<データベース設計 起動時のプロセス種類>
 |  | 開発環境OSの32bit/64bit
 |  | 32bit OS | 64bit OS
本設定の値 | False | 32bitで起動 | 64bitで起動
 | True | 32bitで起動 | 32bitで起動


プログラム実行

  開発システムの実行可能プログラムがリスト表示されます。プログラムリストから選択して「実行」ボタンを押すと、プログラムが実行されます。

(注意) プログラムリストを表示する前に、各プログラムディレクトリの実行プログラム(*.exe)を、開発システムのルートディレクトリに複写します。

項目 | 説明
[実行] | 選択したプログラムを実行します。
[取消] | プログラム実行を終了します。


データベース設計の概要

データベース設計は、データベース情報、テーブル情報、ビュー情報などのデータベース設計情報を登録します。画面上部のメニュー操作で、データベース設計情報の参照・編集・追加・削除などを行うことができます。詳細については、メニュー・ツールバーを参照してください。

データベース設計のメイン画面は、以下の３つのパネルで構成されます。

パネル | 説明
登録情報ツリー | データベース、テーブル、ビューの登録済み情報をツリー表示します。情報選択し、参照や編集ができます。
カラム項目リスト | データベースの辞書項目や、テーブル・ビュー情報のカラム項目をリスト表示します。 カラム項目リストは、追加、削除、順番変更などの操作が可能です。
プロパティリスト | 各情報の基本情報や、カラム項目のデータを設定するプロパティリストです。

データベース設計情報の概要は、以下のとおりです。

データベース情報

データベースの種類や接続文字列などの基本情報と、テーブルやビューで使用する辞書情報を登録します。

テーブル情報

テーブルのテーブル名やプライマリキーなどの基本情報と、テーブルを構成するカラム項目の登録します。

ビュー情報

ビューのビュー名などの基本情報と、ビューを構成するカラム項目の登録します。


メニュー・ツールバー

データベース設計のメニューとツールバーの説明です。

ツールバー

ボタン | 説明
終了 | データベース設計を終了します。
DB情報追加 | データベース情報を新規に追加します。
DB情報削除 | オープン中のデータベース情報を削除します。
DB接続テスト | データベースの接続テストを実施します。
DBからテーブル情報参照 | テーブル情報をデータベースのスキーマ情報から追加します。
テーブル情報追加 | テーブル情報を新規に追加します。
テーブル情報複写 | テーブル情報を他システムのテーブル情報から複写して追加します。
テーブル情報削除 | オープン中のテーブル情報を削除します。
DBからビュー情報参照 | ビュー情報をデータベースのスキーマ情報から追加します。
ビュー情報削除 | オープン中のビュー情報を削除します。
データベース設計情報出力 | この開発ディレクトリのすべてのデータベース、テーブル、ビュー、辞書の情報をデータベースに出力します
ヘルプ | このヘルプドキュメントを表示

データベース(D)

項目 | 説明
データベース情報を追加(N) | データベース情報を新規に追加します。
データベース情報を削除(D) | オープン中のデータベース情報を削除します。
データベース接続テスト(T) | データベースの接続テストを実施します。
最新状態を表示(R) | データベース情報、テーブル情報の一覧ツリーの最新状態を表示
終了 | プログラム設計を終了します。

テーブル情報(T)

項目 | 説明
DBテーブルからテーブル情報追加 | テーブル情報をデータベースのスキーマ情報から追加します。
新規テーブル情報の追加(N) | テーブル情報を新規に追加します。
既存テーブル情報から追加(R) | テーブル情報を他システムのテーブル情報から複写して追加します。
テーブル情報の削除(R) | オープン中のテーブル情報を削除します。
DBテーブルをCREATE | テーブル情報からデータベースにテーブル生成
DBテーブルをDELETE | データベースからテーブル削除

ビュー情報(V)

項目 | 説明
DBビューからビュー情報追加(A) | ビュー情報をデータベースのスキーマ情報から追加します。
ビュー情報の削除 | オープン中のビュー情報を削除します。

オプション(O)

項目 | 説明
旧LLLシリーズ情報の取込(L) |
辞書情報(D) | LLLシリーズの辞書情報を取込む
テーブル情報(T) | LLLシリーズのテーブル情報を取込む
データベース設計情報出力 | この開発ディレクトリのすべてのデータベース、テーブル、ビュー、辞書の情報をデータベースに出力します

ヘルプ(H)

項目 | 説明
ヘルプ情報 | ヘルプドキュメントを表示


データベース設計

データベース情報の設計画面

データベース情報の設計画面です。データベースの種類や接続文字列などの基本情報と、テーブルやビューで使用する辞書情報を登録します。

基本情報

データベース情報名、データベース種類、データベース接続文字列などを登録します。データベース情報の先頭に表示されるメインデータベースの情報名は、DbMainが使用されます。新規にシステムを作成する場合、DbMainの基本情報を初期登録する必要があります。基本情報のプロパティリストは、データベース種類ごとに異なります。詳細は以下の説明を参照してください。

  • MS-JETデータベースのプロパティ
  • MS SQL Server のプロパティ
  • ORACLEのプロパティ

  基本情報を登録後、データベース接続テストを実行することで、正常に接続できるか確認できます。

辞書情報

データベース情報毎に辞書項目を登録できます。辞書項目を登録すると、

  • テーブルやビューを新規作成する場合、カラム項目を辞書項目から参照して登録。
  • データベースから参照してテーブル情報やビュー情報を追加する場合、カラム項目名で辞書項目を参照して、カラム項目の必要なデータを自動登録。

等ができ、設計情報の標準化や、登録作業の迅速化に効果があります。

辞書情報のカラム項目のデータ登録方法は、カラム項目のプロパティを参照してください。

「カラム項目リスト」パネルのコマンドボタン操作について記述します。

ボタン | 説明
[ファイル保存] | データベース情報を登録保存します。
[行追加(I)] このボタンを押すと、３種類の追加方法を選択できます。
  • 選択行に辞書項目の行を追加。
  • 選択行に辞書分類の行を追加。
  • 他データベース情報ファイルの辞書項目を追加。
[行削除(R)] | 選択行を削除
[↑(U)] | 選択行を上に移動
[↓(D)] | 選択行を下に移動

キー操作

キー操作 | 説明
[F2] | メインツリーにフォーカス移動。
[F3] | カラムリストにフォーカス移動。
[F4] | プロパティリストにフォーカス移動。
[Enter] フォーカス位置により下記入力操作を可能にします。
  • メインツリー：データベースプロパティ入力
  • カラムリスト：辞書プロパティの入力 （*でのEnterは辞書項目を追加します）
  • プロパティリスト：プロパティ値入力
[Escape] | フォーカス位置の各入力操作を取消します。


MS-JETデータベース

MS-JETデータベースのプロパティ

MS JETデータベース情報のデータベース接続パラメータなどを設定します。

項目 | 説明
データベース種類 | MSJETは、JETデータベースです。
データベース名 | データベース情報名です。
日本語名使用 | データベースのテーブル名やカラム名に日本語が使用可能かどうかを設定します。
タイムアウト秒数 | データベースアクセスをタイムアウトにする秒数
Webサービス接続アドレス | 【注意】JETデータベースをWebサービス経由で使用すると正常に動作しないことがあります。本番運用には使用しないで下さい。
WebサービスDataSetにAttribute使用 | WebサービスDataSetのDataColumのColumnMappingをAttributeにします。Trueにすると空白文字列が文字列長=0のデータになるのを回避できます。
サーバー側設定の接続文字列を使用する | Webサービス利用時、後述「MS-JETのパラメータ」で定義される接続情報ではなく、Webサーバ上のWeb.configに指定した接続文字列を使用します
空文字列の保存時のデータ値
nullを許容するカラムの場合 文字列長=0のデータを文字列型カラムに保存する場合のデータ値を選択します。但し、最終的にデータベースに保存されるデータはプロバイダ等の仕様に依存します
  • null ：DBNull
  • ''　 ：空文字列
  • ' ' ：空白１文字
nullを許容しないカラムの場合 上記と同様です。カラムにNull値を保存できない場合の値を選択します。
  • ''　 ：空文字列
  • ' ' ：空白１文字
MS JETのパラメータ
MDBファイルのパス | MDBファイルへのパスを設定。
ユーザー名 | ユーザー名、パスワードが必要な場合に使用。
パスワード | ユーザー名、パスワードが必要な場合に使用。


MS-SQLプロパティ

MS SQL Server のプロパティ

MS SQL Serverデータベース情報のデータベース接続パラメータなどを設定します。

項目 | 説明
データベース種類 | MSSQLは、MS SQL Server データベースです。
データベース名 | データベース情報名です。
日本語名使用 | データベースのテーブル名やカラム名に日本語が使用可能かどうかを設定します。
タイムアウト秒数 | データベースアクセスをタイムアウトにする秒数
Webサービス接続アドレス | Webサービスを使用してデータベースアクセスする場合、接続するWebサイトのURLアドレスと認証情報を設定します。(Default)は、"プログラム配布サイト(非配布状態ではローカル)" を意味します。
WebサービスDataSetにAttribute使用 | WebサービスDataSetのDataColumのColumnMappingをAttributeにします。Trueにすると空白文字列が文字列長=0のデータになるのを回避できます。
サーバー側設定の接続文字列を使用する | Webサービス利用時、後述「MS SQL Serverのパラメータ」で定義される接続情報ではなく、Webサーバ上のWeb.configに指定した接続文字列を使用します
空文字列の保存時のデータ値
nullを許容するカラムの場合 文字列長=0のデータを文字列型カラムに保存する場合のデータ値を選択します。但し、最終的にデータベースに保存されるデータはプロバイダ等の仕様に依存します。
  • null ：DBNull
  • ''　 ：空文字列
  • ' ' ：空白１文字
nullを許容しないカラムの場合 上記と同様です。カラムにNull値を保存できない場合の値を選択します。
  • ''　 ：空文字列
  • ' ' ：空白１文字
MS SQL Serverのパラメータ
サーバー名 | データベースのサーバー名です。
データベース名 | データベースのデータベース名です。
ユーザー名 | データベース接続のユーザー名
パスワード | データベース接続のパスワード
統合セキュリティを使用する。 | 統合セキュリティを使用して、SQL Server との間に信頼できる接続を確立します。この方法では、接続文字列を使用するとき、パスワードを格納する必要がありません。


ORACLEプロパティ

ORACLEのプロパティ

ORACLEデータベース情報のデータベース接続パラメータなどを設定します。

項目 | 説明
データベース種類 | ORACLEは、ORACLE データベースです。
データベース名 | データベース情報名です。
日本語名使用 | データベースのテーブル名やカラム名に日本語が使用可能かどうかを設定します。
タイムアウト秒数 | データベースアクセスをタイムアウトにする秒数
Webサービス接続アドレス | Webサービスを使用してデータベースアクセスする場合、接続するWebサイトのURLアドレスと認証情報を設定します。(Default)は、"プログラム配布サイト(非配布状態ではローカル)" を意味します。
WebサービスDataSetにAttribute使用 | WebサービスDataSetのDataColumのColumnMappingをAttributeにします。Trueにすると空白文字列が文字列長=0のデータになるのを回避できます。
サーバー側設定の接続文字列を使用する | Webサービス利用時、後述「ORACLEのパラメータ」で定義される接続情報ではなく、Webサーバ上のWeb.configに指定した接続文字列を使用します
空文字列の保存時のデータ値
nullを許容するカラムの場合 文字列長=0のデータを文字列型カラムに保存する場合のデータ値を選択します。但し、最終的にデータベースに保存されるデータはプロバイダ等の仕様に依存します。
  • null ：DBNull
  • ''　 ：空文字列
  • ' ' ：空白１文字
nullを許容しないカラムの場合 上記と同様です。カラムにNull値を保存できない場合の値を選択します。
（注意）OracleClientで文字列長=０の文字列を保存する場合、文字列長エラーが発生します。この場合、空白１文字に設定すれば回避できます。
  • ''　 ：空文字列
  • ' ' ：空白１文字
ORACLEのパラメータ
ネットサービス名 | データベース接続のネットサービス名です。
オーナー名 | データベースのオーナー名です。
ユーザー名 | データベース接続のユーザー名
パスワード | データベース接続のパスワード
DB接続Provider データベース接続に使用するDataProviderを選択します。
Oracle　 ： OracleClientクラス（.NET Framework Data Provider for Oracle）
OLE DB ： OleDbクラス(.NET Framework Data Provider for OLE DB)


カラム項目のプロパティ

カラム項目のプロパティリストの設定方法です。カラム項目や辞書項目を登録できます。

項目 | 説明
テーブルカラム名 | データベースのテーブルカラム名
英字カラム名 | 英字によるカラム名。配置するコントロール名に使用されます。
表示カラム名(日本語) | 項目名ラベルの項目名やメッセージの項目名に使用されます。
データ型 | DataTableのデータ型を選択します。
サイズ(String) | String型の場合、バイト長を設定します。
配列数 | 配列フィールドの場合、配列数を設定します。
表示フォーマット | TextBoxやLabelに表示するときの編集フォーマットを設定
nullを許容しない | データベースのカラム情報で、Nullデータを保存しない
自動インクリメント | データベースのカラム情報で、自動インクリメントする

配列フィールドについて

配列フィールドは、テーブルの複数カラムをまとめて定義する方法です。配列フィールドの規則は、カラム名が、xxxx_1、xxxx_2、xxxx_3、...、 xxxx_n の形式で、1～nの連続番号であり、データ型はすべて同じであることです。この場合、フィールド名=xxxx、配列数=n　の配列フィールドとして扱われます。

配列フィールドのコントロール配置はまとめてドラッグドロップすることが可能です。また、フォーム制御のメソッドにおいても配列フィールド名で一括して制御できます。


テーブル参照の編集

Webサービス接続の登録

  「スマートクライアント型」システムを開発する場合に設定可能です。データベースアクセスに必要なWebサービスサイトのURLアドレスと認証情報を設定します。

項目 | 説明
ＷｅｂサービスのURLアドレス Webサービス経由でデータベースアクセスする場合に設定します。空白の場合は、ローカルデータベースを使用します。
  • 空白：　ローカルデータベース
  • (Default) プログラム配布サイトDB、非配布状態ではローカルDB ：
    プログラム配布機能を使用してプログラム配布した場合、クライアントのプログラム登録フォルダーにClient.lcmファイルが作成されます。このファイルが存在する場合、プログラム配布サイトのURLアドレスと認証情報を使用してWebサイトのデータベースにアクセスします。ファイルが存在しない場合、ローカルデータベースにアクセスします。（プログラム開発環境では通常Cleint.lcmファイルは存在しないのでローカルデータベースを使用して開発します。）
  • URLアドレス： 指定したURLアドレス先のデータベースを使用します。
Ｗｅｂサービスの認証情報を設定する | Webサービス接続に認証情報が必要な場合、チェック状態にします。
ユーザ名 | 認証情報のユーザ名
パスワード | 認証情報のパスワード
ドメイン | 認証情報のドメイン
[接続テスト] | 設定したURLアドレスと認証情報を使用してWebサービス経由でデータベース接続テストを実行します。URLアドレスが"(Default)"または空白の場合、実行できません。
[登録] | 設定内容を登録。
[取消]] | 取消。


データベースの接続テスト

データベースへの接続情報が正常かどうかをチェックする為に、接続テストを実施します。

  1. データベース選択のコンボボックスでデータベースを選択すると、接続情報が表示されます。
  2. 接続情報が正常か確認して、[実行]ボタンを押してください。

正常にデータベース接続できた場合、「正常に接続できました」のメッセージが表示されます。
異常が発生した場合、エラーメッセージが表示されます。

[閉じる]ボタンで、画面がクローズします。


テーブル設計

テーブル情報の設計画面

テーブル情報の設計画面です。テーブル名やプライマリーキーなどの基本情報と、テーブルのカラム情報を登録します。.

基本情報

テーブル情報名、プライマリーキーなどを登録します。

項目 | 説明
データベース名 | テーブルが存在するデータベース情報名
DBテーブル名 | データベースでのテーブル名
英字テーブル名 | プログラムコーディングで使用可能なテーブル名
表示テーブル名（日本語） | メッセージ等で使用するテーブル名
プライマリーキー | プライマリキーのカラム名。「プライマリキーの編集」画面を使用して登録します。

カラム情報

カラム項目のデータ登録方法は、カラム項目のプロパティを参照してください。

「カラム項目リスト」パネルのコマンドボタン操作について記述します。

ボタン | 説明
[ファイル保存] | データベース情報を登録保存します。
[行追加(I)] このボタンを押すと、３種類の追加方法を選択できます。
  • 選択行にカラム項目の行を追加。
  • 選択行に辞書情報から参照して追加。
[行削除(R)] | 選択行を削除
[辞書に登録(J)] | 選択行の項目を辞書情報に追加。辞書追加する場合、登録する分類を選択することができます。また、テーブル名を分類として登録することも選択できます。
[↑(U)] | 選択行を上に移動
[↓(D)] | 選択行を下に移動

キー操作

キー操作 | 説明
[F2] | メインツリーにフォーカス移動。
[F3] | カラムリストにフォーカス移動。
[F4] | プロパティリストにフォーカス移動。
[Enter] フォーカス位置により下記入力操作を可能にします。
  • メインツリー：データベースプロパティ入力
  • カラムリスト：カラムプロパティ入力 （*でのEnterはカラム項目を追加します）
  • プロパティリスト：プロパティ値入力
[Escape] | フォーカス位置の各入力操作を取消します。


データベースのテーブル参照

データベースから、テーブルのスキーマ情報を参照して、テーブル情報を追加します。

  1. [データベース選択」のコンボボックスからデータベースを選択し、[テーブル一覧表示]ボタンを押します。
  2. 選択したデータベースのテーブルがリスト表示されます。
  3. テーブル情報として追加するテーブルを選択し、[実行]ボタンを押します。

テーブルのカラム名が辞書登録されている場合、テーブルカラム名とデータ型を除いて辞書項目のパラメータを追加します。

項目 | 説明
データベース選択 | 登録済みのデータベース情報から選択します。
統合セキュリティを使用 | SQL-Serverで「統合セキュリティを使用する」が有効になっている場合に表示されます。ここでのデータベースアクセスにＳＱＬ認証を使用する場合はチェックをオフにしてユーザー名とパスワードを設定して下さい。
ユーザー名 | データベースアクセスに使用するユーザー名を設定。
パスワード | データベースアクセスに使用するパスワードを設定。
[テーブル一覧表示] | データベースに登録済みのテーブルを一覧表示します。
テーブル選択 | 登録するテーブルを選択します。
[実行] | 選択したテーブルのスキーマ情報を参照してテーブル情報を作成登録します。
[閉じる] | 処理を終了します。


データベースのテーブル生成

テーブル情報からデータベースにテーブルを生成します。

  1. [データベース選択」のコンボボックスからデータベースを選択し、[テーブル一覧表示]ボタンを押します。
  2. 選択したデータベースのテーブル情報がリスト表示されます。生成するテーブルを選択し、[実行]ボタンを押します。
  3. 「（テーブル名）を作成します。」のメッセージが表示されます。
  4. [OK]ボタンを押すと、データベースにテーブルを生成します。

  テーブル生成に使用するSQLファイル(テーブル名.SQL)が、SystemDocsディレクトリに作成されます。

項目 | 説明
データベース選択 | 登録済みのデータベース情報から選択します。
統合セキュリティを使用 | SQL-Serverで「統合セキュリティを使用する」が有効になっている場合に表示されます。ここでのデータベースアクセスにＳＱＬ認証を使用する場合はチェックをオフにしてユーザー名とパスワードを設定して下さい。
ユーザー名 | データベースアクセスに使用するユーザー名を設定。
パスワード | データベースアクセスに使用するパスワードを設定。
[テーブル一覧表示] | 登録済みのテーブル情報を一覧表示します。
テーブル選択 | 作成するテーブルを選択します。
[実行] | 選択したテーブルをデータベースに作成します。
CREATE用SQLファイルのみ生成 | テーブル生成用のＳＱＬファイルのみを作成し、テーブルを作成しません。
[閉じる] | 処理を終了します。


データベースのテーブル削除

データベースから、テーブルを削除します。

  1. [データベース選択」のコンボボックスからデータベースを選択し、[テーブル一覧表示]ボタンを押します。
  2. 選択したデータベースのテーブルがリスト表示されます。削除するテーブルを選択し、[実行]ボタンを押します。
  3. 「（テーブル名）を削除します。」のメッセージが表示されます。
  4. [OK]ボタンを押すと、データベースからテーブルを削除します。

項目 | 説明
データベース選択 | 登録済みのデータベース情報から選択します。
統合セキュリティを使用 | SQL-Serverで「統合セキュリティを使用する」が有効になっている場合に表示されます。ここでのデータベースアクセスにＳＱＬ認証を使用する場合はチェックをオフにしてユーザー名とパスワードを設定して下さい。
ユーザー名 | データベースアクセスに使用するユーザー名を設定。
パスワード | データベースアクセスに使用するパスワードを設定。
[テーブル一覧表示] | データベースのテーブル一覧を表示します。
テーブル選択 | 削除するテーブルを選択します。
[実行] | 選択したテーブルをデータベースから削除します。
[閉じる] | 処理を終了します。


表示フォーマットの編集

プライマリーキーの編集

テーブル情報のプライマリーキー（主キー）を編集する画面です。

テーブルのフィールド一覧からプライマリーキーにするカラムを順番に選択して編集します。

項目 | 説明
キーカラム | プライマリーキーのカラム名。
フィールド名のリスト | テーブルのフィールド一覧です。プライマリーキーにするカラムをチェック状態にします。
[登録] | プライマリーキーのカラム名を登録。
[取消]] | 取消。


表示フォーマットの編集

LabelやTextBoxにデータ表示するときの表示形式を設定する画面です。

Formatサンプルから選択して、Format文字列に設定することができます。Format文字列は自由に編集することができます。

項目 | 説明
Formatサンプル | 定義済みFormatから選択する場合に使用。
Format文字列 | 登録するフォーマット文字列
左寄せ、中央寄せ、右寄せ | テキスト配置位置を選択して、TextAlignプロパティを設定。
[登録] | Formar文字列を登録。
[取消]] | 取消。


ビュー設計

ビュー情報の設計画面

    ビュー情報の設計画面です。ビュー名などの基本情報と、ビューのカラム情報を登録します。.

基本情報

ビュー情報名などを登録します。

項目 | 説明
データベース名 | テーブルが存在するデータベース情報名
DBテーブル名 | データベースでのビュー名
英字テーブル名 | プログラムコーディングで使用可能なビュー名
表示テーブル名（日本語） | メッセージ等で使用するビュー名

カラム情報

カラム項目のデータ登録方法は、カラム項目のプロパティを参照してください。

「カラム項目リスト」パネルのコマンドボタン操作について記述します。

ボタン | 説明
[ファイル保存] | データベース情報を登録保存します。
[行追加(I)] このボタンを押すと、３種類の追加方法を選択できます。
  • 選択行にカラム項目の行を追加。
  • 選択行に辞書情報から参照して追加。
[行削除(R)] | 選択行を削除
[辞書に登録(J)] | 選択行の項目を辞書情報に追加。辞書追加する場合、登録する分類を選択することができます。また、テーブル名を分類として登録することも選択できます。
[↑(U)] | 選択行を上に移動
[↓(D)] | 選択行を下に移動

キー操作

キー操作 | 説明
[F2] | メインツリーにフォーカス移動。
[F3] | カラムリストにフォーカス移動。
[F4] | プロパティリストにフォーカス移動。
[Enter] フォーカス位置により下記入力操作を可能にします。
  • メインツリー：データベースプロパティ入力
  • カラムリスト：カラムプロパティ入力 （*でのEnterはカラム項目を追加します）
  • プロパティリスト：プロパティ値入力
[Escape] | フォーカス位置の各入力操作を取消します。


データベースのビュー参照

データベースのビューのスキーマ情報を参照して、テーブル情報を追加します。

  1. [データベース選択」のコンボボックスからデータベースを選択し、[テーブル一覧表示]]ボタンを押します。
  2. 選択したデータベースのビューがリスト表示されます。
  3. ビュー情報として追加するビューを選択し、[実行]ボタンを押します。

ビューのカラム名が辞書登録されている場合、ビューカラム名とデータ型を除いて辞書項目のパラメータを追加します。

項目 | 説明
データベース選択 | 登録済みのデータベース情報から選択します。
統合セキュリティを使用 | SQL-Serverで「統合セキュリティを使用する」が有効になっている場合に表示されます。ここでのデータベースアクセスにＳＱＬ認証を使用する場合はチェックをオフにしてユーザー名とパスワードを設定して下さい。
ユーザー名 | データベースアクセスに使用するユーザー名を設定。
パスワード | データベースアクセスに使用するパスワードを設定。
[テーブル一覧表示] | データベースに登録済みのビューを一覧表示します。
テーブル選択 | 登録するビューを選択します。
[実行] | 選択したビューのスキーマ情報を参照してテーブル情報を作成登録します。
[閉じる] | 処理を終了します。


フォーム制御の概要

帳票出力機能について

   LLL/.netの帳票出力機能を使用するには、開発キットの帳票ライセンスと、このページ最後に記述してある「帳票エンジン」が必要になります。帳票出力の主な機能は以下のとおりです。

  • 画面フォームのデータを取得して、帳票出力可能。（用途：売上伝票入力フォームでの納品書発行）
  • 帳票出力データをＳＱＬで取得し、帳票出力可能。（用途：各種集計表作成）
  • 明細行データが複数ページになる場合、２ページ目以降の帳票フォームを変更可能。
  • ページ内の明細フィールドを２～９の段組構成で出力可能
  • 明細フィールドの見出しや合計などのグループ処理機能
  • 帳票フィールドのテーブル参照やデータ変換などの各種編集機能
  • 帳票データのプレビュー表示機能。
  • 帳票ドキュメントのファイル出力機能。
  • サブ帳票オブジェクトを使用することで複数帳票フォームによる帳票出力可能。

(1)帳票出力の設計手順。

  1. 「帳票エンジン(下記に説明)」 で帳票出力に使用する帳票フォームをデザインします。
  2. プログラム設計で帳票出力を実行する画面フォームをデザインします。
  3. プログラム設計で「フォーム」-「帳票フォームの追加」から、テンプレートとして使用する帳票フォームクラスを選択します。
  4. 帳票フォームクラスのテンプレートパラメータに、使用する帳票フォームファイルを選択します。
  5. 帳票フォーム設計画面で各種制御プロパティを登録し、帳票フォームクラスを作成します。
  6. 画面フォームプログラムに、帳票フォームクラスを使用して帳票出力するオウンコードをコーディングします。

(2)帳票フォームクラスの説明

  1. 帳票フォームクラスの構成

  2. 帳票フォームクラスのメソッド

  3. 帳票フォームクラスのプロパティ

  4. 帳票フォームクラスのイベント

(3)帳票フォームクラスの使用法

  1. 画面フォームのオウンコードで、帳票フォームクラスのオブジェクトを生成します。
    帳票フォームクラスのオブジェクトを生成するには、引数に画面フォーム制御オブジェクトが必要です。
  2. 帳票オブジェクトの「各種メソッド」を実行して帳票出力します。
  3. 帳票オブジェクトの「PrintOut」メソッドを使用すると簡単に帳票出力できます。以下のコーディングがその使用例です。

(4)印刷プレビュー

  プレビュー出力モードで帳票出力すると、「印刷プレビュー」画面が表示されます。

「帳票エンジン」

帳票出力機能は、帳票エンジンとして以下のいづれかの製品を使用します。帳票フォームのデザインや帳票出力時には、この製品のフォームデザイナやランタイムが必要になります。

(ランタイムDLLとしてLLLNET.LComPrn.Extends.CoDraw.DLL を使用)
  • （株）エイチ・オー・エス「シーオーリポーツ スタンダード エディション Ver8.5」
  • （株）エイチ・オー・エス「シーオーリポーツ スタンダード エディション Ver9」
(ランタイムDLLとしてLLLNET.LComPrn.Extends.CnDraw.DLL を使用)
  • （株）エイチ・オー・エス「シーオーリポーツ For .NET Ver.2」


フォーム制御の概要

帳票フォームデザイン

   プログラム設計で使用する帳票フォームは、「シーオーリポーツ」のフォームエディタを使用してデザインします。デザイン済みの帳票フォームは開発ディレクトリのルートに保存してください。帳票フォームデザインの設計方法と注意点を以下に説明します。具体例としてサンプルシステムの帳票フォームを参考にして下さい。

(1)固定フィールド

  • Data、Text、Image、Barcodeの各オブジェクトを固定フィールドとして制御します。
  • Listオブジェクトを固定フィールドにする場合、行数を１に設定する必要があります。

(2)明細フィールド

  • 明細フィールドはListオブジェクトを使用します。行数を２以上に設定する必要があります。
  • 明細フィールドの行数は全ての明細フィールドで一致しておく必要があります。
  • 明細フィールドの列数は通常は１に設定します。配列でないテーブルカラムにリンクさせることができます。
  • 明細フィールドの列数を２以上にした場合、配列数が等しいテーブルカラムにのみリンクさせることができます。

(3)明細フィールドの段組

  • 明細フィールドの段組を最大１０段まで構成できます。段組にする2段目以降の明細フィールド名に1～９の番号を付加します。
    （NAME明細フィールドを３段にする場合の例 ： NAME, NAME1, NAME2）
  • 段組にする明細フィールドの行数は全ての明細フィールドで一致しておく必要があります
  • 明細フィールドを2段組にした場合の構成例を下図に示します。

(4)継続フォームの設計

  • メインの帳票フォームにある固定フィールドは、省略することが可能です。
  • メインの帳票フォームにある明細フィールドは、継続フォームでも全て配置する必要があります。
  • 明細フィールドの行数は全ての明細フィールドで一致しておく必要があります。
  • 下図にメインフォームと継続フォームの構成例を示します。


フォームテンプレート選択

帳票フォームテンプレート選択

  プログラムに追加する帳票クラスのテンプレートを選択します。表示されたテンプレート一覧からを選択しパラメータを設定して「ＯＫ」ボタンを押してください。選択した 帳票クラスと帳票フォームの情報が メイン画面の「帳票フォーム設計」パネルに表示されます。 他プログラムで作成済みのフォームを複写して再利用することもできます。

項目 | 説明
「フォーム名」 | 作成する帳票クラスのクラス名。デフォルトでPrint1～の連番で表示されます。
[フォーム複写]ボタン | ファイルオープンダイアログが表示されます。追加する帳票クラスをオープンします。
[OK]ボタン | 選択した帳票クラスをプログラムに追加します。
[取消]ボタン | 帳票クラスの追加を取消します。
「テンプレート」リスト | 帳票クラステンプレートが一覧表示されます。追加するテンプレートをマウスで選択します。
「パラメータ」リスト | 選択したテンプレートのパラメータが、一覧表示されます。これらのパラメータは、入力必須です。テキストボックスまたはコンボボックスから入力してください。

標準帳票フォームクラスのパラメータ

パラメータ | 値
親画面フォームの選択 | 帳票出力を実行する画面フォームを選択します。
帳票フォームの選択 | メイン使用する帳票フォームを選択します。
継続フォームの選択 | 明細行が２ページ以上になる場合に、２ページ目以降に使用する帳票フォームを設定します。帳票フォームが変化しない場合、（なし）を選択します。


フォームデザイン

帳票フォーム設計

下図は、「帳票フォーム」デザインパネル表示時のメイン画面です。画面フォームパネルと異なるところは以下のとおりです。

  • デザインパネルには、帳票フォームのデータフィールドが、固定フィールドと明細フィールド毎にリスト表示されます。
  • デザインパネルの「レコード追加」カラムをクリックすると、明細フィールド編集用の追加レコードを登録することができます。
  • デザインパネルの下部には、オウンコードの内容が表示されます。
  • 「フォーム制御」パネルでは、帳票クラスのフィールドや出力レコードの各種パラメータをプロパティ設定します。
  • 「コントロール配置」パネルは無効です。


フォーム制御情報

帳票フォーム情報のプロパティ

「フォーム制御」パネルから、帳票クラスを制御するための各種プロパティ情報を登録します。この登録情報は、「帳票制御パラメータ情報」として帳票クラスファイルのソースプログラムに挿入されます。

情報 | 説明
データベース | 　データベースの接続パラメータを登録します。（現在は、親画面フォームで定義したデータベース情報を使用するため、設定の必要がありません。）
テーブルSQL | 明細テーブルのクエリーとて使用するSQL文を登録します。
帳票フォーム情報 帳票フォームを制御する全体なパラメータ情報を設定します。
  • 帳票フォームのファイル名
  • 明細テーブルと明細グループ処理
  • 「追加」ボタン：帳票レコードを追加できます。
帳票レコード情報 　デザインされた帳票フォームには、固定フィールドと明細フィールドがあります。明細フィールドはListフィールドで構成されて明細レコードとなります。固定フィールドはList以外のデータフィールドです。これらのフィールドは帳票フォームから自動的に構成されます。
  明細フィールドに出力するレコードを、追加レコードとして登録することができます。グループ開始処理で見出しレコードを出力したり、グループ終了処理で合計レコードを出力することが可能です。
  • 固定フィールド：　最初の明細レコードを出力する前に編集出力されます。
  • 明細レコード：　明細テーブルの１レコード毎に明細フィールドに出力されます。
  • 追加レコード：　グループ処理等で明細フィールドに編集出力します。
  • 「追加」ボタン：　固定フィールド・明細レコードではワークフィールドを追加できます。追加レコードでは編集出力する明細フィールドを追加できます。
  • 「削除」ボタン：　追加レコードを削除できます。
帳票フィールド情報 　帳票フィールドの固定フィールドと明細フィールドは、帳票レコード情報で説明したように帳票フォームから自動的に構成されます。固定フィールドと明細レコードには、帳票フォームに実在しないワークフィールドを追加することが出来ます。ワークフィールドのデータは実際に帳票出力されることはありませんが、帳票データの編集過程で利用する目的で使用します。追加出力レコードのフィールドは、明細フィールドから選択して構成します。帳票フィールドの出力データを編集するためのパラメータ情報を設定します。
  • リンクカラムや出力文字列。
  • テキスト表示形式の設定。
  • テーブル参照によるフィールドデータ編集
  • 表示データのリストデータによる変換。
  • 「追加」ボタン：　固定フィールド・明細レコードではワークフィールドを追加できます。追加レコードでは編集出力する明細フィールドを登録できます。
  • 「削除」ボタン：　ワークフィールドまたは、追加レコードの明細フィールドを削除できます。


フィールド制御プロパティ

帳票フォーム情報のプロパティ

「フォーム制御」パネルで帳票フォーム情報を選択すると表示されるプロパティリストです。

項目 | 説明
帳票クラス名 | 帳票クラス名を設定(英文字)
帳票デザインフォーム |
帳票フォーム名 | メイン使用する帳票フォームファイル名
継続フォーム名 | 明細行が２ページ目以降の帳票フォームファイル名
画面フォーム |
親画面フォーム | 帳票出力を実行する画面フォーム名
明細処理 |
明細テーブル | 明細テーブル名を設定します。「明細グループ定義」
明細グループ処理 | 明細データをグループ処理する場合のグループを設定します。「明細グループ定義」
明細0件で出力しない | True:明細データ件数が0件の場合、ページ出力をしない。 False:明細データ件数が0件の場合、固定フィールドのデータによるページ出力をする。(デフォルト)
ｸﾞﾙｰﾌﾟ終了処理後明細ﾌｨｰﾄﾞ | グループ終了処理イベントの発生と、処理対象明細レコードの移動のタイミングを制御します True:グループ終了処理イベント実行後に処理対象明細レコードを移動します False:処理対象明細レコード移動後にグループ終了処理イベントが発生します(デフォルト)
出力先 |
出力プリンタ名 | 出力プリンタ名
出力ファイル名 | 帳票をファイル出力する場合のファイル名
出力ファイルパス | 帳票をファイル出力する場合のファイルパス

サンプル


エリア制御プロパティ

帳票レコード情報のプロパティ

  帳票レコード情報のプロパティは、追加レコードでのみ設定可能です。レコード名の変更や改行数を設定することができます。

項目 | 説明
レコード名 | レコード名(英文字)
改行処理 |
出力前の改行数 | レコードを出力する前の改行数です。（デフォルト=0）
出力後の改行数 | レコードを出力した後の改行数です。（デフォルト=1）

サンプル


フィールド制御プロパティ

帳票フィールド情報のプロパティ

「フォーム制御」パネルで帳票フィールド情報を選択すると表示されるプロパティリストです。

項目 | 説明
ﾌｨｰﾙﾄﾞ名 | 帳票フォームのフィールド名です。帳票フォームにないフィールド名は、ワークフィールドとなります。ワークフィールドの場合、フィールド名の変更が可能です、
出力データの設定
リンクカラム名 データ表示するテーブルのカラム名を設定します。 カラムデータが日付や文字列の場合、データの一部分を出力することができます。
  • 日付データ -->カラム名#日付形式のフォーマット書式
  • 文字列データの一部 -->カラム名#開始位置-長さ
出力文字列 任意の文字列データ、または以下の設定が可能です。
  • @SUM：合計レコードのフィールドに明細フィールドの合計演算を出力します。合計レコード出力後に合計はクリアされます。
  • @SUMT(開始-終了)：明細レコードや合計レコードでフィールドの横合計を演算し出力します。開始-終了に設定した開始フィールドと終了フィールドの間の数値合計を演算します。配列フィールドを設定した場合、配列フィールドの合計演算を実施します。
  • @DATE： 現在日付
  • @PAGE： ページ番号
  • @PAGES： 最終ページ番号
  • @LINE： 明細行番号
テキスト表示形式
表示フォーマット | データの表示フォーマットを「表示フォーマットの編集」画面から設定します。帳票デザインで文字列形式のばあい有効です。数値形式では無効です。
マイナス値の文字色 | 表示データにマイナス(-)記号がある場合の文字色を設定します。「色の設定」
ﾃｰﾌﾞﾙ参照と変換ﾃﾞｰﾀの設定
テーブル参照 データ出力したときのテーブル参照処理を設定します。「テーブル参照の編集」
  • テーブル参照はデータベースアクセスが発生します。明細フィールドでテーブル参照する場合は、SQL文のクエリーで対応することをお勧めします。
リストデータ設定 | 表示データを変換する場合、変換データリストを設定します。「リストデータの編集」
明細フィールドの設定
重複表示禁止 | 前明細行のデータと同じ場合表示しません。明細レコードのフィールドでのみ有効です。
文字修飾 | 表示データに（太字、斜体、下線、横倍角）の修飾を設定します。「文字修飾」

サンプル


キー操作時の動作設定

明細グループ処理の設定

明細テーブルの選択と、明細テーブルのカラムデータのブレイクによるグループ処理を設定します。

明細テーブルを選択後に、明細グループ処理を実行するカラム名を設定します。明細グループの定義をすると、オウンコードのグループ開始処理とグループ終了処理のイベントが発生し、必要なオウンコードを記述することが可能になります。また、この画面の「開始時の出力レコード」と「終了時の出力レコード」に出力する帳票レコードを設定することができます。

項目 | 説明
明細テーブル名 | 明細テーブルに使用するテーブルを選択します。実行画面フォームの明細行テーブルか、テーブルＳＱＬに登録したテーブル名を選択することができます。
明細グループのカラム名 明細テーブルでグループ処理をするカラム名を設定します。
グループNo.0には、＊を設定できます。これは、明細テーブル全体の開始終了です。
カラムデータが日付や文字列の場合、カラムデータの一部分をグループデータとして定義することができます。
  • 日付データの年 -->カラム名#yy
  • 日付データの年月 -->カラム名#yyMM
  • 日付データの年月日 -->カラム名#yyMMdd
  • 文字列データの一部 -->カラム名#開始位置-長さ
開始時の出力レコード グループ開始時に出力する帳票レコードを設定します。
@NPは改ページを出力します。複数の帳票レコードを出力する場合は、カンマ(,)で区切ってください。
終了時の出力レコード | グループ終了時に出力する帳票レコードを設定します。
[クリア] | 設定内容をクリア。
[登録] | 設定内容を登録。
[取消]] | 取消。


キー操作時の動作設定

帳票レコードの追加

  帳票デザインパネルの「レコード追加」カラムをクリックすると表示されます。帳票レコード名と明細フィールドを選択して[登録]ボタンをクリックします。追加レコードとして登録されます。

項目 | 説明
帳票レコード名 | 帳票レコード名を設定します。フォーム制御情報に登録済みの名称は設定できません。
出力する明細フィールドを選択 | 帳票レコードとして出力する明細フィールドをチェックしてください。
[登録] | 設定内容を登録。
[取消]] | 取消。


フォーム制御の概要

帳票フォームクラスの構成

  帳票フォームクラスはプログラム設計で登録した帳票情報とテンプレートからコード生成されます。生成された帳票フォームクラスは、必要に応じてオウンコードを追加することで完成します。以下に帳票フォームクラスのコードをご説明します。

帳票フォームクラスのImportsとコンストラクタ

  帳票フォームクラスの先頭でLLL/.netの制御コンポーネントをImportsします。そして、帳票制御コンポーネントのLPrnFormクラスを継承してクラスを定義します。コンストラクタの引数として、帳票出力を実行するフォーム制御オブジェクトが必要です。

帳票フォーム情報

   帳票フォームクラスのコンストラクタで、「帳票フォーム情報」の初期設定のプロシージャを実行します。このプロシージャはプログラム設計で登録した帳票情報をもとにして生成されますので、通常は直接編集する必要はありません。下図が「帳票フォーム情報」リージョンのサンプルです。

帳票イベントエントリ

  「帳票フォーム情報」リージョンの後には、帳票イベントエントリがコード生成されます。帳票イベントエントリは必須エントリですので削除することはできません。帳票イベントエントリには、「帳票イベントオブジェクト(LPrnEventArgs)」が渡され、イベント種類やイベント名を取得することができます。帳票編集時の各種イベントを処理するために、イベント種類ごとのプロシージャを実行します。

オウンコード

   帳票イベントエントリからコールするプロシージャには、必要に応じてオウンコードを追加します。

下記コードは、オウンコードのサンプルです。明細処理で明細レコードの総合計を演算し、グループ終了処理で合計レコードを出力します。オウンコードでは、「帳票フォームクラスのプロパティとメソッド」を使用することができます。


「スマートクライアント型」

「スマートクライアント型」システムとは

  「スマートクライアント型」システムとは、以下の特徴をもったシステムです。

  • クライアント・サーバ間のデータ交換にインターネットのWebサービスを使用。
  • クライアントへのプログラム配布はインターネット経由による自動配布。

  「スマートクライアント型」システムの主な利点は以下のとおりです。

  • インターネット経由でありながらクライアントサーバーと同様なリッチクライアントを実現しユーザーの操作性を向上します。
  • クライアントPCのプリンタやデータベースなど、クライアントリソースを活用したシステム構築が可能。
  • プログラム配布の運用保守コストの軽減。
  • Webサーバーのアクセス回数減による負荷軽減。


「スマートクライアント型」

「スマートクライアント型」システムの構築

（１）Webサービスによるデータベースアクセス。

  「スマートクライアント型」システムの開発方法は、「クライアント・サーバー型」システムの開発方法と基本的に変わりません。データベース情報にWebサービスの接続パラメータを設定するだけで、LLL/.netのランタイムコンポーネントは自動的にWebサービス経由でデータベースアクセスを実行します。

  データベース設計のデータベース情報には、[Webサービス接続アドレス]のプロパティがあります。このプロパティ値に空白以外の設定をした場合、Webサービス経由でデータベースアクセスすることになります。詳細な設定方法については、「Webサービス接続の登録」を参照してください。[Webサービス接続アドレス]のプロパティ値として"(Default)"を設定した場合、クライアントへの配布方法によりWebサービス経由とローカルサーバーを使い分けることができる為、「スマートクライアント型」と「クライアントサーバー型」を併用した運用も可能です。図はWebサービスを使用した場合の各コンポーネントの関連図です。

（２）サーバーコンポーネントの作成

    「スマートクライアント型」システムの場合、クライアント・サーバー間のセッションをキープするのは難しいので、セッションがまたがるようなトランザクション処理を実行することができません。こんな場合、サーバーコンポーネントを作成し、サーバーでデータベース更新をすれば、複雑なトランザクション処理も実行可能になります。その他に、サーバー側での共通処理やデータベース処理などのビジネスロジックをコンポーネント化することにより、さまざまな効果を得ることができます。 詳細は、「サーバーコンポーネントの作成」を参照してください。

（３）プログラム自動配布

    この製品に含まれる「LLL/.net　デプロイメントツール」を使用します。詳細については「デプロイメントツール説明書」を参照して下さい。


コンポーネントテンプレート選択

   開発中のプログラムソリューションに、サーバーコンポーネント用のプロジェクトを追加します。一覧表示されたコンポーネントテンプレートから使用するテンプレートを選択して、アセンブリ名やクラス名・メソッド名を設定します。

    コンポーネントテンプレートは基本コンポーネントクラスのみが登録されていますが、フォームテンプレートと同様にカスタマイズやテンプレートの追加が可能です。コンポーネントテンプレートの登録パスは、VS2005(3)\PatsVB(CS)\Component\Template\　です。作成方法は「フォームテンプレートの作成」を参考にして下さい。

メソッドのコーディングは、VisualStudio.NET開発環境で実施します。 VisualStudio.NETを起動すると追加プロジェクトも同時にオープンされます。コーディングの詳細については「サーバーコンポーネントの作成」を参照してください。

項目 | 説明
「アセンブリ名」 | 作成するコンポーネントのアセンブリ名。このアセンブリ名でコンポーネントプロジェクトが作成されます。初期表示されるアセンブリ名は変更可能です。
[OK]ボタン | 選択したテンプレートでコンポーネントプロジェクトを作成します。
[取消]ボタン | コンポーネントの追加を取消します。
「テンプレート」リスト | コンポーネントテンプレートが一覧表示されます。追加するテンプレートをマウスで選択します。
「パラメータ」リスト | 選択したテンプレートのパラメータが、一覧表示されます。これらのパラメータは、入力必須です。テキストボックスまたはコンボボックスから入力してください。
クラス名を設定 | プロジェクトに追加する任意のクラスファイル名を設定します。
メソッド名を設定 | クラスファイルの任意のメソッド名を設定します。


サーバーコンポーネントの作成

サーバーコンポーネントはWebサービスサーバーで実行するコンポーネントです。サーバーで実行するデータベース処理などの共通処理をコンポーネントとして登録することができ、処理の効率化やプログラミングの標準化などに有効な方法です。

（1）サーバーコンポーネントのプロジェクト作成

    サーバーコンポーネントを作成するには、プログラム設計でサーバーコンポーネントを使用するプログラムをオープンします。そして、メニューの[拡張機能(E)]-[サーバーコンポーネント追加(A)]を選択し、「コンポーネントテンプレート選択」を表示します。一覧表示されたコンポーネントテンプレートから使用するテンプレートを選択して、アセンブリ名やクラス名・メソッド名を設定後に[ＯＫ]ボタンを押すと、サーバーコンポーネント用のプロジェクトがソリューションとして追加されます。下記画面はサーバーコンポーネント追加後に、VisualStudio.NETでオープンしたサンプルです。

（2）サーバーコンポーネントのコーディング

サーバーコンポーネントのアセンブリ名・クラス名・メソッド名は、後で変更したり追加することは自由にできます。しかし、パブリックメソッドの引数や戻り値は以下のように設定する必要があります。引数や戻り値に使用するDataSetのデータ構成は自由にきめることができます。基本コンポーネントクラスでは、メソッド内の処理は全てコーディングする必要があります。

[VB.NET]
Public Function MethodName(ByVal dbMain As LDbMain, ByVal cmdDs As DataSet) As DataSet
End Function
[C#]
public DataSet MethodName(LDbMain dbMain, DataSet cmdDs)
{

}
引数 | 説明
dbMain | LLL/.netデータベース制御コンポーネント。サーバーのデータベース制御に使用可能です。
cmdDs | クライアントの画面データやテーブルデータがDataSetで渡されます。
戻り値 | クライアントに表示する画面データやテーブルデータをDataSetにして戻します。

[サンプル]
Public Function MethodName(ByVal dbMain As LDbMain, ByVal cmdDs As DataSet) As DataSet
    Dim retDs As DataSet("ret")
    Dim dt As DataTable = dbMain.ReadTable("table", "select * from Table")
    retDs.Tables.Add(dt)
    return retDs
End Function

（３）サーバーコンポーネントの呼び出し

サーバーコンポーネントを呼び出して実行するには、フォーム制御コンポーネントのExecuteDLLメソッドを使用します。詳細については、ExecuteDLLメソッドを参照してください。

（4）デバッグ

VisualStudio.NETの[ソリューションエクスプローラ]で、メインプロジェクトの[参照設定]に「参照の追加」でサーバーコンポーネントプロジェクト を追加すると、クライアントコンポーネントとしてデバッグすることができます。

（５）サーバーコンポーネントの配置

サーバーコンポーネントを公開Webサイトディレクトリのbinサブディレクトリに配置してください。Webサービス経由ではなくローカルコンポーネントとして使用する場合は、クライアントプログラムと同じディレクトリに配置してください。


Webサーバーの設定

「スマートクライアント型」システムのＷｅｂサーバーの設定方法について説明します。

Webサーバーに必要な動作環境

  • IIS5.0, IIS6.0
  • .NET Framework1.1またはNET Framework2.0

（１）サーバーライセンスの登録

スマートクライアントのWebサーバーとして使用する場合、サーバーライセンスファイルを登録する必要があります。「サーバーライセンスの登録」の手順で登録してください。

（２）Ｗｅｂサービスの設定

  1. ＩＩＳにWebサービス用の公開ディレクトリを新規作成します。
  2. 公開ディレクトリに開発システムの以下のサブディレクトリとファイルを複写します。
    • binサブディレクトリ全体
    • Global.asax, LServerMain.asmx, Web.config 【VS2003】
    • LServerMain.asmx, Web.config, App_Codeディレクトリ 【VS2005】

（３）プログラム配布の設定

  プログラム配布については「LLL/.net デプロイメントツール」を使用します。「デプロイメントツール説明書」を参照して下さい。

（注意）

  • ＩＩＳの設定方法についての詳細はIISのマニュアルをご参照ください。
  • JETデータベースの場合、適切なＷｅｂサービスユーザー(ASPNET等)にmdbファイルの書き込み許可の設定必要です。(JETデータベースは開発テストのみに使用し、本番運用に使用することはお勧めできません。)


サーバーライセンスの登録

スマートクライアントのWebサーバーとして使用する場合、Webサーバーマシンでサーバーライセンスファイルを登録する必要があります。以下の手順で登録してください。

（１）Webサーバーとして登録するマシンで、LLL/.netの「ServerManager\LServerManager.exe」を起動してください。

（２） 「サーバーの種別」 を選択して、「登録するマシンＩＤの取得」ボタンをクリックします。
システムの開発用として使用する場合にみ、「開発用サーバー」を選択してください。

（３）「マシンＩＤ」が表示されますで、弊社サポートに「マシンＩＤ」を連絡し、サーバーライセンスファイルを取得してください。

（４）サーバーライセンスファイルを取得したら、これを公開ディレクトリ直下に複写してください。

（５）再度「ServerManager\LServerManager.exe」を起動し、「ライセンスファイルの登録」ボタンをクリックしてください。

（６）下図のダイアログから、公開ディレクトリのライセンスファイルをオープンしてください。

（７）ライセンスファイルが正常ならば、下図のような画面が表示されます。内容確認後、「ライセンス登録」ボタンをクリックしてください。

（８）正常にライセンス登録できると下図の確認ダイアログが表示されます。

（注意）Ｗｅｂサーバーの公開ディレクトリが変更になったり、追加で公開ディレクトリを作成する場合、同じマシンであれば同じライセンスファイルを使用して、「ライセンスファイルの登録」を再実行することが可能です。

評価版について(サーバー実行環境)

サーバライセンスの登録を行わずにスマートクライアント型システムのホスティングを行なう場合、サーバ側で実行されるWebサービスは評価版モードで実行されます。 評価版モードのWebサービスにアクセスした場合、クライアント側アプリケーションでは下記のような挙動を示します。

  • クライアントアプリケーション起動の際、下記のようなメッセージが表示されます

    ※データベース接続の共有設定を無効にしている場合、各画面起動の際に使用している評価版Webサービスごとに1回づつ表示されます。
    起動後、画面終了までは表示されません。(Ver2.20以前のデフォルト挙動)

    データベース接続の共有設定を有効にしている場合、そのプログラム中でその名称の評価版Webサービスごとに1回づつ表示されます。
    起動後、プログラム(プロセス)終了までは表示されません。

    また、データベース接続の共有設定の有効無効にかかわらず、起動時に自動接続しない設定を有効にしている場合、 メッセージが表示されるタイミングはResumeConnectionメソッド実行のタイミングになります。

サーバライセンスの登録を行うことで、上記挙動は実施されなくなります。


テンプレートの概要

フォームテンプレートの概要

  プログラム設計では、汎用的なビジネスアプリケーションの処理や操作方法をいくつかの雛型としてまとめたフォームテンプレートが用意されています。このフォームテンプレートを選択することにより、おおむねの画面レイアウトが表示されます。フォームテンプレートは標準テンプレートのほかに、ユーザーの好みに応じたフォームデザインや処理ロジックにカスタマイズしたものを追加することができます。

標準フォームテンプレート

テンプレートID | テンプレート名 | 説明
PAA100 | フリーフォーマット | 画面レイアウトを自由に設計し、フォーム制御コンポーネント、データベース制御コンポーネントのメソッド等を使用して、自由に処理コードを記述していただくフォームテンプレートです。
PDA100 | 単票形式データ入力 | マスタメンテナンスのように、１画面１レコードの画面データを、メインテーブルに登録、修正、削除、参照するプログラムを作成します。データ入力画面がメインテーブルの１レコード単位に処理されるマスタメンテプログラムやその他の入力プログラムの作成に適しています。
PDA200 | 明細伝票形式データ入力 | 複数の明細行からなる画面で入力したデータを、メインテーブルと明細テーブルに登録、修正、削除、参照するフォームを作成するテンプレートです。データ入力パネルがメインテーブルの１レコードと、明細テーブルの複数明細レコードに対応する伝票入力プログラムの作成に適しています。
PDA300 | 明細伝票形式データ入力(頁制御) | 「明細伝票形式データ入力」テンプレートの明細エリアをページ制御するようにしたフォームテンプレートです。
PGA100 | 明細一覧表示 | テーブルの明細を画面に一覧表示するフォームを作成するフォームテンプレートです。明細一覧表や明細元帳を表示するプログラムを作成するのに適しています。
PGA200 | 明細一覧表示(ListView) | 明細テーブルの内容をListViewコントロールに一覧表示するフォームテンプレートです。明細リスト等をより簡単に作成するのに適しています。

フォームテンプレートの作成方法

「フォームテンプレートの作成」を参照してください。


テンプレートの作成

フォームテンプレートの作成

  フォームテンプレートを作成する手順を説明します。標準テンプレートは開発ディレクトリの\SystemPatsディレクトリに複写されます。複写された標準テンプレートは必要に応じてカスタマイズすることができます。最初は標準テンプレートを参考にして、フォームデザインや処理コードの一部変更等のカスタマイズして作成するようにしてください。

（１）フォームテンプレートの雛型となるプログラムを作成します。

  1. 本システムのプログラム作成機能を使用して、動作可能なプログラムを作成します。
    このとき、フォームのフォーム名やファイル名は、作成するテンプレート名にします。（例：PUA100）
  2. フォーム処理コードは、コントロール配置で配置するコンロールに依存させず、エリア制御になるようにできるだけ考慮して下さい。
  3. プログラムの動作確認したら、コントロール配置で配置するコントロールと、フォーム制御情報を削除します。

（２）テンプレートソリューションに、フォームを追加します。

  1. 開発ディレクトリの\SystemPats\VS2005(3)\vb(cs)\Template\Template.sln　をVisualStudio.NETを、オープンします。
  2. 既存フォームの追加で、（１）で作成したフォームを追加します。

（３）追加したフォームに、テンプレートパラメータを設定します。

フォームコードの先頭にコメントとして、以下のサンプルのようにパラメータを設定します。
(C#の場合、コメント記号は　//　)

' [Template]
' Template#caption=明細伝票形式データ入力
' [Data]
' title#caption=フォームタイトルの設定|input=text
' main_db#caption=データベースの選択|input=combo|list={dbs}
' main_sql#caption=メインテーブルの選択|input=combo|list={tables}|sql=main
' subs_sql#caption=明細テーブルの選択|input=combo|list={tables}|sql=subs
' subs_row#caption=明細カラムのデータ選択|input=combo|list=0～の連番,1～の連番,明細ﾌｨｰﾙﾄﾞ

[Tempalte]

フォームテンプレートの名称を設定します。

Template#caption=テンプレート名称

[Data]

フォームテンプレートを選択したとき、リスト表示される入力パラメータを設定します。パラメータは、以下の形式で設定します。

パラメータID#caption=パラメータの表示説明|(他パラメータを'|'で区切って設定します。)

パラメータ | 説明
caption | パラメータの表示説明
input 入力タイプ
  • text：任意の文字列
  • ank：半角文字列
  • combo：コンボボックス選択
list コンボボックス選択に表示するデータを設定します。
  • {dbs}：登録済みのデータベース
  • {tables}：登録済みのテーブルとビュー
  • カンマ(,)で区切る文字列
  • subs_rowは明細伝票形式の明細テーブルの下位キーの扱いを選択するために使用します。ここでは、"list=0～の連番,1～の連番,明細ﾌｨｰﾙﾄﾞ"を必ず設定します。
sql 選択したテーブル情報から、SQL文を簡易的に編集する方法を設定します。
  • main：プライマリキーをwhere条件にしてSQL文作成。
  • subs：プライマリキーの下位キーを除いてwhere条件にし、
            下位キーを "order by" にしてSQL文作成。
  • query："select * from テーブル"

ここに設定したパラメータは、フォームコードの中にある {*パラメータID} の文字列を置換えます。
たとえば、　　Me.Text = "{*title}"　はフォームのタイトル文字列を編集します。


フリーフォーマット

画面レイアウトを自由に設計し、フォーム制御コンポーネント、データベース制御コンポーネントのメソッド等を使用して、自由に処理コードを記述していただくフォームテンプレートです。

パラメータリスト

このテンプレートのパラメータリストです。

フォームデザイン

  このテンプレートのフォームデザインです。

  このテンプレート画面には、特になにも配置されていません。


フリーフォーマットの処理コード

  処理コードの概要を説明します。以下に記述する処理コードの内容は、バージョンアップ等で変更されることがあります。最新の内容については、テンプレートの実際のコーディングを参照してください。

変数

必要に応じてコーディング追加します。

フォームイベントエントリ

フォームイベントエントリのディスパッチ処理です。
必要に応じてコーディング追加します。

  • FormLoad --> 「フォーム開始処理」
  • FormClosing -->「フォーム終了処理」
  • Validation -->「入力データの正当性チェック処理」
  • ControlClick -->「コントロールクリック処理」

フォーム開始処理

必要に応じてコーディング追加します。

フォーム終了処理

必要に応じてコーディング追加します。

入力データの正当性チェック処理

必要に応じてコーディング追加します。

コントロールクリック処理

必要に応じてコーディング追加します。


単票形式データ入力

  マスタメンテナンスのように、１画面１レコードの画面データを、メインテーブルに登録、修正、削除、参照するプログラムを作成します。データ入力画面がメインテーブルの１レコード単位に処理されるマスタメンテプログラムやその他の入力プログラムの作成に適しています。

パラメータリスト

このテンプレートのパラメータリストです。

  • データベースの選択：　データベースを設定します。
  • メインテーブルの選択：　メインテーブルを設定します。

フォームデザイン

  このテンプレートのフォームデザインです。

  • 処理モード(LMODE)：　RadioButtonコントロールで、登録、修正、削除、参照の各処理モードを選択します。
  • [リード]ボタン：　キーエリアのデータで、メインテーブルをリードします。
  • [ＯＫ]ボタン：　データエリアのデータを、データベースに処理モードによる更新処理を実行します。
  • [取消]ボタン：　更新処理の取消をします。
  • キーエリア（LKEY)：　メインテーブルのキー部のリンクコントロールを配置します。
  • データエリア(LDATA)：　メインテーブルのデータ部のリンクコントロールを配置します。


単票形式データ入力の処理コード

  処理コードの概要を説明します。以下に記述する処理コードの内容は、バージョンアップ等で変更されることがあります。最新の内容については、テンプレートの実際のコーディングを参照してください。

変数

このテンプレートで使用する変数の定義です。

  • LProcMode： 処理モード（登録、修正、削除、参照、終了）を保持します。
  • LKeyFirstName： キーエリアの先頭入力フィールド名です。
  • DtMain： メインテーブルのDataTableオブジェクトです。

フォームイベントエントリ

フォームイベントエントリのディスパッチ処理です。

  • FormLoad --> 「フォーム開始処理」
  • FormClosing -->「フォーム終了処理」
  • Validation -->「入力データの正当性チェック処理」
  • AreaEvent
    データエリア -->「データエリア計算」
    ControlClick -->「コントロールクリック処理」
  • ControlEnter -->キーエリアの先頭入力フィールドの場合、「各処理モードの設定」

フォーム開始処理

キーエリアの先頭入力フィールドを保存し、処理モードを登録モードに初期設定します。

フォーム終了処理

必要に応じてコーディング追加します。

入力データの正当性チェック処理

必要に応じてコーディング追加します。

データエリア計算

データエリアの合計処理などがあれば、コーディング追加します。

コントロールクリック処理

処理モードとコマンドボタンによるクリック処理を実行します。

  • [処理モード] -->「各処理モードの設定」
  • [リード]ボタン -->「データリード処理」
  • [ＯＫ]ボタン -->処理モードに対応する確定処理を実行します。
    登録モード：「登録更新処理」
    修正モード：「修正更新処理」
    削除モード：「削除更新処理」
    参照モード：キーエリアにフォーカスを戻します。
  • [取消]ボタン -->キーエリアにフォーカスを戻します。

各処理モードの設定

処理モードが終了の場合、フォームクローズ。
それ以外は、処理モードを保存して以下の処理をします。
(1)キーエリアとデータエリアをクリア
(2)「各入力モードの設定」で、キー入力モードに設定。

各入力モードの設定

画面をキー入力とデータ入力のどちらかの状態に設定します。
キー入力モードの場合は、以下の状態にします。

  • [リード]ボタンを表示、[ＯＫ][取消]ボタンを非表示にする。
  • [処理モード]とキーエリアをフォーカス可能、データエリアをフォーカス不可にする。

データ入力モードの場合は、以下の状態にします。

  • [ＯＫ][取消]ボタンを表示、[リード]ボタンを非表示にする。
  • [処理モード]とキーエリアをフォーカス不可にする。
  • 処理モードによりデータエリアと、[取消]ボタンの扱いが異なります。
    登録モード、修正モード：データエリアをフォーカス可能にし、データエリアにフォーカス。
    削除モード：データエリアをフォーカス不可にし、[OK]ボタンにフォーカス
    参照モード：データエリアをフォーカス不可、[取消ボタン] を非表示にし、[OK]ボタンにフォーカス

データリード処理

    キーエリアのデータを条件にして、メインテーブルをリードします。
処理モードとリード結果により、以下の処理をおこないます。

  • 「登録モード」で該当レコードが存在しない場合、
    「各入力モードの設定」で、データ入力モードに設定。
  • 「登録モード」で該当レコードが存在する場合、
    (1)リードデータを画面表示。
    (2)「該当レコードが存在します。」のエラーメッセージ表示
    (3)キーエリアにフォーカスを戻します。
  • その他のモードで該当レコードが存在する場合、
    (1)リードデータを画面表示。
    (2)「各入力モードの設定」で、データ入力モードに設定。
  • その他のモードで該当レコードが存在しない場合、
    (1)「該当レコードは存在しません。」のエラーメッセージ表示
    (2)キーエリアにフォーカスを戻します。

登録更新処理

画面入力したメインテーブルのデータを、データベースに登録更新します。

  1. 画面の必須入力フィールドがデータ入力済みかチェックし、未入力の場合、該当コントロールをフォーカスします。
  2. "データ登録しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  3. キーエリアのデータを条件にして、メインテーブルをリードします。
  4. 該当レコードが存在する場合、"該当レコードは存在します。"のエラーメッセージ表示し、キーエリアにフォーカスを戻します。
  5. 画面データをメインテーブルとサブテーブルに設定します。
  6. 「データベース更新」を実行
  7. キーエリアにフォーカスを戻します。

修正更新処理

画面入力したメインテーブルのデータで、データベースを修正更新します。

  1. 画面の必須入力フィールドがデータ入力済みかチェックし、未入力の場合、該当コントロールをフォーカスします。
  2. "データ修正しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  3. 画面データをメインテーブルに設定します。
  4. 「データベース更新」を実行
  5. キーエリアにフォーカスを戻します。

削除更新処理

画面表示したレコードを、データベースから削除更新します。

  1. "データ削除しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  2. メインテーブルのDataTableのレコードを削除。
  3. 「データベース更新」を実行
  4. キーエリアにフォーカスを戻します。

データベース更新

メインテーブルの内容を、データベースに更新します。

データベース更新が正常終了した場合、
"xxxxを完了しました"の確認メッセージを表示します。
データベース更新が異常終了した場合、
"xxxx更新でエラーが発生しました。"のエラーメッセージを表示します。


明細伝票形式データ入力

  複数の明細行からなる画面で入力したデータを、メインテーブルと明細テーブルに登録、修正、削除、参照するフォームを作成するテンプレートです。データ入力パネルがメインテーブルの１レコードと、明細テーブルの複数明細レコードに対応する伝票入力プログラムの作成に適しています

パラメータリスト

このテンプレートのパラメータリストです。

  • データベースの選択：　データベースを設定します。
  • メインテーブルの選択：　メインテーブルを設定します。
  • 明細テーブルの選択：　明細テーブルを設定します。

「明細キーのデータ選択」は、明細テーブルの明細キーの扱い方を、以下の中から選択します。

  • ０～の連番：　明細行番号を保存するキーカラムがあり、 0,1,2,3・・・の連番で保存します。
  • １～の連番：　明細行番号を保存するキーカラムがあり、 1,2,3,4・・・の連番で保存します。
  • 明細フィールド： 明細キーとして、明細行のリンクフィールドを使用します。

フォームデザイン

このテンプレートのフォームデザインです。

  • 処理モード(LMODE)：　RadioButtonコントロールで、登録、修正、削除、参照の各処理モードを選択します。
  • [リード]ボタン：　キーエリアのデータで、メインテーブルをリードします。
  • [ＯＫ]ボタン：　データエリアのデータを、データベースに処理モードによる更新処理を実行します。
  • [取消]ボタン：　更新処理の取消をします。
  • キーエリア（LKEY)：　メインテーブルのキー部のリンクコントロールを配置します。
  • データエリア(LDATA)：　メインテーブルのデータ部のリンクコントロールを配置します。
  • 明細行エリア(LDET)：　明細テーブルのデータ部のリンクコントロールを配置します。パラメータリストの「明細キーのデータ選択」で明細フィールドを選択した場合、明細キーのリンクコントロールを配置します。


明細伝票形式データ入力の処理コード

  処理コードの概要を説明します。以下に記述する処理コードの内容は、バージョンアップ等で変更されることがあります。最新の内容については、テンプレートの実際のコーディングを参照してください。

変数

このテンプレートで使用する変数の定義です。

  • LProcMode： 処理モード（登録、修正、削除、参照、終了）を保持します。
  • LKeyFirstName： キーエリアの先頭入力フィールド名です。
  • DtMain： メインテーブルのDataTableオブジェクトです。
  • DtSubs： 明細テーブルのDataTableオブジェクトです。

フォームイベントエントリ

フォームイベントエントリのディスパッチ処理です。

  • FormLoad --> 「フォーム開始処理」
  • FormClosing -->「フォーム終了処理」
  • Validation -->「入力データの正当性チェック処理」
  • AreaEvent
    データエリア -->「データエリア計算」
    明細行エリア -->「明細行エリア計算」
  • ControlClick -->「コントロールクリック処理」
  • ControlEnter -->キーエリアの先頭入力フィールドの場合、「各処理モードの設定」

フォーム開始処理

キーエリアの先頭入力フィールドを保存し、処理モードを登録モードに初期設定します。

フォーム終了処理

必要に応じてコーディング追加します。

入力データの正当性チェック処理

必要に応じてコーディング追加します。

データエリア計算

データエリアの合計処理などがあれば、コーディング追加します。

明細行エリア計算

明細行エリアの合計処理などがあれば、コーディング追加します。

コントロールクリック処理

処理モードとコマンドボタンによるクリック処理を実行します。

  • [処理モード] -->「各処理モードの設定」
  • [リード]ボタン -->「データリード処理」
  • [ＯＫ]ボタン -->処理モードに対応する確定処理を実行します。
    登録モード：「登録更新処理」
    修正モード：「修正更新処理」
    削除モード：「削除更新処理」
    参照モード：キーエリアにフォーカスを戻します。
  • [取消]ボタン -->キーエリアにフォーカスを戻します。

各処理モードの設定

処理モードが終了の場合、フォームクローズ。
それ以外は、処理モードを保存して以下の処理をします。
(1)キーエリアとデータエリアをクリア
(2)「各入力モードの設定」で、キー入力モードに設定。

各入力モードの設定

画面をキー入力とデータ入力のどちらかの状態に設定します。
キー入力モードの場合は、以下の状態にします。

  • [リード]ボタンを表示、[ＯＫ][取消]ボタンを非表示にする。
  • [処理モード]とキーエリアをフォーカス可能、データエリアをフォーカス不可にする。

データ入力モードの場合は、以下の状態にします。

  • [ＯＫ][取消]ボタンを表示、[リード]ボタンを非表示にする。
  • [処理モード]とキーエリアをフォーカス不可にする。
  • 処理モードによりデータエリアと、[取消]ボタンの扱いが異なります。
    登録モード、修正モード：データエリアをフォーカス可能にし、データエリアにフォーカス。
    削除モード：データエリアをフォーカス不可にし、[OK]ボタンにフォーカス
    参照モード：データエリアをフォーカス不可、[取消ボタン] を非表示にし、[OK]ボタンにフォーカス

データリード処理

    キーエリアのデータを条件にして、メインテーブルと明細テーブルのデータをリードします。
処理モードとリード結果により、以下の処理をおこないます。

  • 「登録モード」で該当レコードが存在しない場合、
    「各入力モードの設定」で、データ入力モードに設定。
  • 「登録モード」で該当レコードが存在する場合、
    (1)リードデータを画面表示。
    (2)「該当レコードが存在します。」のエラーメッセージ表示
    (3)キーエリアにフォーカスを戻します。
  • その他のモードで該当レコードが存在する場合、
    (1)リードデータを画面表示。
    (2)「各入力モードの設定」で、データ入力モードに設定。
  • その他のモードで該当レコードが存在しない場合、
    (1)「該当レコードは存在しません。」のエラーメッセージ表示
    (2)キーエリアにフォーカスを戻します。

登録更新処理

画面入力したメインテーブルと明細テーブルのデータを、データベースに登録更新します。

  1. 画面の必須入力フィールドがデータ入力済みかチェックし、未入力の場合、該当コントロールをフォーカスします。
  2. "データ登録しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  3. キーエリアのデータを条件にして、メインテーブルと明細テーブルのデータをリードします。
  4. 該当レコードが存在する場合、"該当レコードは存在します。"のエラーメッセージ表示し、キーエリアにフォーカスを戻します。
  5. 画面データをメインテーブルと明細テーブルに設定します。
  6. 「データベース更新」を実行
  7. キーエリアにフォーカスを戻します。

修正更新処理

画面入力したメインテーブルと明細テーブルのデータで、データベースの修正更新します。

  1. 画面の必須入力フィールドがデータ入力済みかチェックし、未入力の場合、該当コントロールをフォーカスします。
  2. "データ修正しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  3. 画面データをメインテーブルと明細テーブルに設定します。
  4. 「データベース更新」を実行
  5. キーエリアにフォーカスを戻します。

削除更新処理

画面表示したメインテーブルと明細テーブルのデータを、データベースから削除します。

  1. "データ削除しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  2. メインテーブルと明細テーブルのDataTableのレコードを削除。
  3. 「データベース更新」を実行
  4. キーエリアにフォーカスを戻します。

データベース更新

メインテーブルと明細テーブルをデータベースに対して更新します。

データベース更新が正常終了した場合、
"xxxxを完了しました"の確認メッセージを表示します。
データベース更新が異常終了した場合、
"xxxx更新でエラーが発生しました。"のエラーメッセージを表示します。


明細伝票形式データ入力(頁制御)

    「明細伝票形式データ入力」テンプレートに、明細エリアのページ制御を追加したテンプレートです。相違点について斜体文で説明します。

  複数の明細行からなる画面で入力したデータを、メインテーブルと明細テーブルに登録、修正、削除、参照するフォームを作成するテンプレートです。データ入力パネルがメインテーブルの１レコードと、明細テーブルの複数明細レコードに対応する伝票入力プログラムの作成に適しています

パラメータリスト

このテンプレートのパラメータリストです。

  • データベースの選択：　データベースを設定します。
  • メインテーブルの選択：　メインテーブルを設定します。
  • 明細テーブルの選択：　明細テーブルを設定します。

「明細キーのデータ選択」は、明細テーブルの明細キーの扱い方を、以下の中から選択します。

  • ０～の連番：　明細行番号を保存するキーカラムがあり、 0,1,2,3・・・の連番で保存します。
  • １～の連番：　明細行番号を保存するキーカラムがあり、 1,2,3,4・・・の連番で保存します。
  • 明細フィールド： 明細キーとして、明細行のリンクフィールドを使用します。

フォームデザイン

このテンプレートのフォームデザインです。

  • 処理モード(LMODE)：　RadioButtonコントロールで、登録、修正、削除、参照の各処理モードを選択します。
  • [リード]ボタン：　キーエリアのデータで、メインテーブルをリードします。
  • [ＯＫ]ボタン：　データエリアのデータを、データベースに処理モードによる更新処理を実行します。
  • [取消]ボタン：　更新処理の取消をします。
  • 明細ページ制御
    • 先頭]ボタン：　先頭ページを表示。
    • [←]ボタン：　前ページを表示
    • [→]ボタン：　次ページを表示。
    • [最終]ボタン：　最終ページを表示。
    • [頁番号]コンボボックス：　表示中のページ番号を表示。ページ番号を選択して表示することも可能。
  • キーエリア（LKEY)：　メインテーブルのキー部のリンクコントロールを配置します。
  • データエリア(LDATA)：　メインテーブルのデータ部のリンクコントロールを配置します。
  • 明細行エリア(LDET)：　明細テーブルのデータ部のリンクコントロールを配置します。パラメータリストの「明細キーのデータ選択」で明細フィールドを選択した場合、明細キーのリンクコントロールを配置します。


明細伝票形式データ入力(頁制御)の処理コード

  「明細伝票形式データ入力」テンプレートに、明細エリアのページ制御を追加したテンプレートです。相違点について斜体文で説明します。

変数

このテンプレートで使用する変数の定義です。

  • LProcMode： 処理モード（登録、修正、削除、参照、終了）を保持します。
  • LKeyFirstName： キーエリアの先頭入力フィールド名です。
  • DtMain： メインテーブルのDataTableオブジェクトです。
  • DtSubs： 明細テーブルのDataTableオブジェクトです。
  • LPageArea： 明細エリアのLWinAreaオブジェクト。

フォームイベントエントリ

フォームイベントエントリのディスパッチ処理です。

  • FormLoad --> 「フォーム開始処理」
  • FormClosing -->「フォーム終了処理」
  • Validation -->「入力データの正当性チェック処理」
  • AreaEvent
    データエリア -->「データエリア計算」
    明細行エリア -->「明細行エリア計算」
  • ControlClick -->「コントロールクリック処理」
  • ControlSelectedIndexChanged -->[頁番号]コンボボックスによるページ切替
  • ControlEnter -->キーエリアの先頭入力フィールドの場合、「各処理モードの設定」

フォーム開始処理

  1. 明細エリアのLWinAreaオブジェクトを取得。
  2. キーエリアの先頭入力フィールドを保存。
  3. 処理モードを登録モードに初期設定します。

フォーム終了処理

必要に応じてコーディング追加します。

入力データの正当性チェック処理

必要に応じてコーディング追加します。

データエリア計算

データエリアの合計処理などがあれば、コーディング追加します。

  1. [頁番号]コンボボックスの設定

明細行エリア計算

明細行エリアの合計処理などがあれば、コーディング追加します。

コントロールクリック処理

処理モードとコマンドボタンによるクリック処理を実行します。

  • [処理モード] -->「各処理モードの設定」
  • [リード]ボタン -->「データリード処理」
  • [ＯＫ]ボタン -->処理モードに対応する確定処理を実行します。
    登録モード：「登録更新処理」
    修正モード：「修正更新処理」
    削除モード：「削除更新処理」
    参照モード：キーエリアにフォーカスを戻します。
  • [取消]ボタン -->キーエリアにフォーカスを戻します。
  • ページ切替ボタンの処理
    • [先頭]ボタン -->先頭ページ表示
    • [前頁]ボタン -->前ページ表示
    • [次頁]ボタン -->次ページ表示
    • [最終]ボタン -->最終ページ表示

各処理モードの設定

処理モードが終了の場合、フォームクローズ。
それ以外は、処理モードを保存して以下の処理をします。
(1)キーエリアとデータエリアをクリア
(2)「各入力モードの設定」で、キー入力モードに設定。

各入力モードの設定

画面をキー入力とデータ入力のどちらかの状態に設定します。
キー入力モードの場合は、以下の状態にします。

  • [リード]ボタンを表示、[ＯＫ][取消]ボタンを非表示にする。
  • [処理モード]とキーエリアをフォーカス可能、データエリアをフォーカス不可にする。

データ入力モードの場合は、以下の状態にします。

  • [ＯＫ][取消]ボタンを表示、[リード]ボタンを非表示にする。
  • [処理モード]とキーエリアをフォーカス不可にする。
  • 処理モードによりデータエリアと、[取消]ボタンの扱いが異なります。
    登録モード、修正モード：データエリアをフォーカス可能にし、データエリアにフォーカス。
    削除モード：データエリアをフォーカス不可にし、[OK]ボタンにフォーカス
    参照モード：データエリアをフォーカス不可、[取消ボタン] を非表示にし、[OK]ボタンにフォーカス

データリード処理

    キーエリアのデータを条件にして、メインテーブルと明細テーブルのデータをリードします。
処理モードとリード結果により、以下の処理をおこないます。

  • 「登録モード」で該当レコードが存在しない場合、
    「各入力モードの設定」で、データ入力モードに設定。
  • 「登録モード」で該当レコードが存在する場合、
    (1)リードデータを画面表示。
    (2)「該当レコードが存在します。」のエラーメッセージ表示
    (3)キーエリアにフォーカスを戻します。
  • その他のモードで該当レコードが存在する場合、
    (1)リードデータを画面表示。
    (2)「各入力モードの設定」で、データ入力モードに設定。
  • その他のモードで該当レコードが存在しない場合、
    (1)「該当レコードは存在しません。」のエラーメッセージ表示
    (2)キーエリアにフォーカスを戻します。

登録更新処理

画面入力したメインテーブルと明細テーブルのデータを、データベースに登録更新します。

  1. 画面の必須入力フィールドがデータ入力済みかチェックし、未入力の場合、該当コントロールをフォーカスします。
  2. "データ登録しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  3. キーエリアのデータを条件にして、メインテーブルと明細テーブルのデータをリードします。
  4. 該当レコードが存在する場合、"該当レコードは存在します。"のエラーメッセージ表示し、キーエリアにフォーカスを戻します。
  5. 画面データをメインテーブルと明細テーブルに設定します。
  6. 「データベース更新」を実行
  7. キーエリアにフォーカスを戻します。

修正更新処理

画面入力したメインテーブルと明細テーブルのデータで、データベースの修正更新します。

  1. 画面の必須入力フィールドがデータ入力済みかチェックし、未入力の場合、該当コントロールをフォーカスします。
  2. "データ修正しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  3. 画面データをメインテーブルと明細テーブルに設定します。
  4. 「データベース更新」を実行
  5. キーエリアにフォーカスを戻します。

削除更新処理

画面表示したメインテーブルと明細テーブルのデータを、データベースから削除します。

  1. "データ削除しますか？"と確認メッセージを表示します。キャンセルの場合、戻る。
  2. メインテーブルと明細テーブルのDataTableのレコードを削除。
  3. 「データベース更新」を実行
  4. キーエリアにフォーカスを戻します。

データベース更新

メインテーブルと明細テーブルをデータベースに対して更新します。

データベース更新が正常終了した場合、
"xxxxを完了しました"の確認メッセージを表示します。
データベース更新が異常終了した場合、
"xxxx更新でエラーが発生しました。"のエラーメッセージを表示します。


明細一覧表示

テーブルの明細を画面に一覧表示するフォームを作成するフォームテンプレートです。明細一覧表や明細元帳を表示するプログラムを作成するのに適しています。

  デフォルトで明細エリアの明細ページ制御が有効になっており、複数ページに及ぶ明細データの表示が可能です。明細行数を越えるデータはページ切替操作により表示可能です。

パラメータリスト

このテンプレートのパラメータリストです。

  • データベースの選択：　データベースを設定します。
  • 明細テーブルの選択：　明細テーブルを設定します。

フォームデザイン

  このテンプレートのフォームデザインです。明細行エリアにコントロール配置すると、自動的にコントロールが横方向に配置されていきます。明細エリア情報の「明細ページ制御使用」をTrueにし、初期明細行数に明細行数を設定する必要があります。明細行数は固定で最小明細行数や最大明細行数の設定は無視されます。

  • [終了]ボタン：　フォームをクローズします。
  • [検索表示]ボタン：　キーエリアの条件データで、明細テーブルをリードします。
  • [先頭]ボタン：　先頭ページを表示。
  • 明細ページ制御
    • 先頭]ボタン：　先頭ページを表示。
    • [←]ボタン：　前ページを表示
    • [→]ボタン：　次ページを表示。
    • [最終]ボタン：　最終ページを表示。
    • [頁番号]コンボボックス：　表示中のページ番号を表示。ページ番号を選択して表示することも可能。
  • キーエリア（LKEY)：　明細テーブルの検索条件になるコントロールを配置します。
  • データエリア(LDATA)：　明細の合計などを表示するコントロールを配置します。
  • 明細行エリア(LDET)：　明細テーブルの表示用のリンクコントロールを配置します。


明細一覧表示の処理コード

  処理コードの概要を説明します。以下に記述する処理コードの内容は、バージョンアップ等で変更されることがあります。最新の内容については、テンプレートの実際のコーディングを参照してください。

変数

このテンプレートで使用する変数の定義です。

  • DtSubs： 明細行テーブルのDataTableオブジェクトです。
  • LPageArea： 明細エリアのLWinAreaオブジェクト。

フォームイベントエントリ

フォームイベントエントリのディスパッチ処理です。

  • FormLoad --> 「フォーム開始処理」
  • FormClosing -->「フォーム終了処理」
  • Validation -->「入力データの正当性チェック処理」
  • AreaEvent
    データエリア -->「データエリア計算」
    明細行エリア -->「明細行エリア計算」
  • ControlClick -->「コントロールクリック処理」
  • ControlSelectedIndexChanged -->[頁番号]コンボボックスによるページ切替

フォーム開始処理

  1. 明細エリアのLWinAreaオブジェクトを取得。

フォーム終了処理

必要に応じてコーディング追加します。

入力データの正当性チェック処理

必要に応じてコーディング追加します。

データエリア計算

データの合計処理などがあれば、コーディング追加します。

  1. [頁番号]コンボボックスの設定

明細行エリア計算

明細行の計算処理などがあれば、コーディング追加します。

コントロールクリック処理

処理モードとコマンドボタンによるクリック処理を実行します。

  • [終了]ボタン -->フォームクローズ
  • [リード]ボタン -->「データリード処理」

ページ切替ボタンの処理

  • [先頭]ボタン -->先頭ページ表示
  • [前頁]ボタン -->前ページ表示
  • [次頁]ボタン -->次ページ表示
  • [最終]ボタン -->最終ページ表示

データリード処理

  1. キーエリアのデータを条件にして、明細テーブルをリード。
  2. 明細テーブルデータを明細エリアに表示。


明細一覧表示(ListView)

明細テーブルの内容をListViewコントロールに一覧表示するフォームテンプレートです。明細リスト等を簡単に作成するのに適しています。

  • ListViewにすべての明細データを表示しますので、ページ切替などの機能はありません。
  • ListViewの選択機能を使用して、オリジナルなコード検索ウィンドウを作成することができます。

パラメータリスト

このテンプレートのパラメータリストです。

  • データベースの選択：　データベースを設定します。
  • 明細テーブルの選択：　明細テーブルを設定します。

フォームデザイン

このテンプレートのフォームデザインです。明細エリア（ListData)にコントロール配置すると、ListViewのColumnHeaderが追加されていきます。

  • [終了]ボタン：　フォームをクローズします。
  • [検索表示]ボタン：　キーエリアの条件データで、明細テーブルをリードします。
  • キーエリア（LKEY)：　明細テーブルの検索条件になるコントロールを配置します。
  • 明細エリア(ListData)：　明細テーブルの表示フィールドをListViewカラムとして配置します。


明細一覧表示(ListView)の処理コード

処理コードの概要を説明します。以下に記述する処理コードの内容は、バージョンアップ等で変更されることがあります。最新の内容については、テンプレートの実際のコーディングを参照してください。

変数

このテンプレートで使用する変数の定義です。

  • DtSubs： 明細テーブルのDataTableオブジェクトです。
  • RecordsCount： 明細行レコード数

フォームイベントエントリ

フォームイベントエントリのディスパッチ処理です。

  • FormLoad --> 「フォーム開始処理」
  • FormClosing -->「フォーム終了処理」
  • Validation -->「入力データの正当性チェック処理」
  • AreaEvent
    明細エリア -->「明細エリア計算」
  • ControlClick -->「コントロールクリック処理」

フォーム開始処理

  1. 明細行エリアの初期化。

フォーム終了処理

必要に応じてコーディング追加します。

入力データの正当性チェック処理

必要に応じてコーディング追加します。

明細エリア計算

明細行を表示するときの演算処理などをコーディング追加します。

コントロールクリック処理

コマンドボタンによるクリック処理を実行します。

  • [終了]ボタン -->フォームクローズ
  • [リード]ボタン -->「データリード処理」

データリード処理

  1. カーソルをウエイト表示
  2. キーエリアのデータを条件にして、明細テーブルをリードします。
  3. 明細テーブルの明細行レコード数を保存。
  4. 明細エリアを初期化し、明細データを表示
  5. 明細エリアにフォーカス移動
  6. カーソル表示を元に戻す。

  以下のイベント処理は、このフォームをコード検索ウィンドウとして使用する場合に使用する処理です。コード検索ウィンドウとして使用しない場合は、以下のコーディングを削除してください。

明細エリアの選択処理

明細エリア(ListView)でダブルクリックまたは、Enterキーを入力したとき、「リスト選択後処理」を実行します。
Escキーを入力したときは、キーエリアにフォーカスします。

明細エリア（ListView)に、選択アイテムがある場合、選択値を取得
ダイアログ戻り値を「OK」にして、フォームクローズ


フォーム制御パラメータ情報

プログラム設計の「フォーム制御」情報ツリーに登録した各種情報やプロパティデータが、フォームコードの#Regionで囲まれた部分に生成されます。このコードで、フォーム制御コンポーネントの初期設定が行われます。

  • （重要）フォーム制御コンポーネントは、LForm　というPublic変数に保存されます。従って、処理コードでフォーム制御コンポーネントのメソッドを実行する場合、LForm.メソッド名 というコーディングになります。

  • （重要）フォーム制御コンポーネントで発生するイベントのイベントエントリとして、LForm_Event プロシージャが使用されます。従って、処理コードの　LForm_Event プロシージャは必須となります。

  • この#Region内を編集する場合は、プログラム設計の「フォーム制御」情報ツリーの設定内容を変更してください。

以下は、サンプルシステムの部門マスタメンテのフォーム制御パラメータ情報の例です。（VB.NET）


フォームイベントエントリ

  フォームイベントエントリは、フォーム制御コンポーネントで発生するイベント内容をチェックし、必要なイベント処理を実行します。このプロシージャを削除することはできません。しかし、サブルーチン内部の処理コードは必要に応じて変更可能です。引数のLWinEventArgsには、イベント種類(kind)や発生場所(Name)などが含まれています。この引数をもとにしてそれぞれのイベント処理をおこないます。詳細については、「フォーム制御イベントの説明」を参照してください。フォームイベントエントリの主なイベント処理は、

  • フォーム開始処理、フォーム終了処理
  • 入力データの正当性チェック処理
  • エリアイベント処理（データエリア計算）
  • コントロールクリック処理

などです。フォーム制御コンポーネントにないイベント処理については、通常どおりのコーディングをして下さい。

下記コードは、「単票形式データ入力」テンプレート(VB.NET)の例です。


フォーム開始/終了

  フォーム開始・終了イベントは、フォーム開始またはフォームクローズの時に発生するイベントです。メインフォームでは、プログラム開始・終了処理と同じ意味を持ちます。

下記コードは、「単票形式データ入力」テンプレート(VB.NET)の例です。

このフォーム開始処理の場合、フォームの初期モード等の設定をしています。


入力データの正当性チェック処理

  コントロールの入力チェックは、フィールド制御プロパティの設定ですることができます。しかし、複雑なケースでは、これらのチェックだけでは不十分な場合があります。このような場合、Validationイベントの「入力データの正当性チェック処理」に必要なデータチェック処理をコーディングすることができます。

Validationイベント引数のNameには、チェック対象のコントロールのフィールド名が渡されます。チェック処理の結果をエラーにする場合、エラーメッセージを戻り値に設定して下さい。データ入力エラーとして、そのエラーメッセージが表示されます。

下記コードは、「商品マスタメンテ」(VB.NET)の入力データのチェック処理の例です。

  この例の場合、販売単価、または仕入単価の入力で、販売単価が仕入単価よりも安くなる場合、エラーメッセージを出すようにコーディングしています。


コントロールクリック処理

  フィールド制御コントロールのクリック処理をコーディングします。

コントロールクリック処理は、テンプレート毎に異なる処理になります。
下記は、「単票形式データ入力」テンプレート(VB.NET)の例です。


エリアイベント処理

  エリアイベント処理は、重要なイベント処理です。エリアイベントはエリア内のコントロールでデータ変更があったり、明細行の変更があったりした場合に発生します。エリアイベントは、コントロールの含まれるエリアとともに、その上位のエリアにおいてもエリアイベントが発生します。

  エリアイベントの用途として、エリアの合計演算や明細行演算等のコーディングに使用します。通常、こうした演算処理は、複数コントロールのイベントをチェックする必要がありますが、エリアイベントを使用すると簡単にコーディングすることができます。エリアイベントの場合、イベント引数のNameにはエリア名がセットされています。また、明細行エリアでは、イベント引数のRowに明細行番号がセットされます。

  以下のサンプルコードは、「売上伝票入力」(VB.NET)のデータエリアと明細行エリアのエリアイベント処理の例です。

この場合、フォーム明細行の合計金額、消費税、税込金額、そして粗利合計を計算して表示しています。

  （参考）この例では、明細行ワークフィールドの"ARARI"と、ワークフィールドの"ARAI_GK"を使用しています。ワークフィールドは実際に配置されたコントロールのないフィールド情報のことです。ワークフィールドは、フォームには表示されませんが、内部的なデータ処理には使用可能なデータフィールドです。


データベース制御プログラミング

データベース制御のプログラミング

  データベース制御を含むオウンコーディングについて説明します。データベース制御は、クライアントプログラムとサーバーコンポーネントで異なります。 それぞれの場合について説明します。なお、説明にあるメソッドだけではj実現困難なデータベース制御を実行する場合、ADO.NETを直接使用してコーディングする必要があります。

クライアントプログラム

（１）ＳＱＬ文によるデータベースクエリーやテーブル更新を実施する場合、以下のデータベース関連メソッドを使用します。対象となるデータベースはメインデータベースです。

LFormメソッド | 説明
ReadTable | テーブルSQL情報でクエリーを実行します。DataTableオブジェクトが戻り値になります。
ReadSql | SQL文によるデータベースクエリーを実行します。DataTableオブジェクトが戻り値になります。
UpdateTable | DataTableオブジェクトの変更内容をデータベースに更新します。

（２）メインデータベース以外のデータベースにアクセスする場合や、ローカルデータベースにトランザクション更新を実施する場合、GetWinDbメソッドでLWinDbオブジェクトを取得し ます。LWinDbオブジェクトは以下のメソッドを使用してデータベースアクセスが可能です。LWinDbオブジェクトは、内部で「データベース制御コンポーネント」のデータベースアクセスメソッドを使用します。

  (制限事項)コネクションやトランザクションは、ローカルＤＢの場合のみ実行可能です。WEBサービス経由のＤＢの場合、サーバーコンポーネントでのみ実行可能です。

LWinDbプロパティ | 説明
DatabaseKind データベース種類 (文字列）
  • "MSJET" ：　Microsoft Access（JETデータベース）
  • "MSSQL" ： Microsoft SQL Server
  • "ORACLE" ： Oracle
ConnectionString | データベース接続文字列
LWinDbメソッド | 説明
コネクション | (ローカルDBのみ)
Open | データベースコネクションをオープン
Close | データベースコネクションをクローズ
トランザクション | (ローカルDBのみ)
BeginTransaction | トランザクション開始
Commit | トランザクション完了
RollBack | トランザクション取消
データ取得
ReadTable | SQL文でデータベースをクエリーし、DataTableオブジェクトで戻します。
ReadRowRef | 明細行の参照テーブルを一括リードし、DataTableオブジェクトで戻します。(内部使用)
データ更新
UpdateTable | DataTableオブジェクトの変更内容をデータベースに更新します。
ExecuteNonQuery | クエリー以外のUPDATE, INSERT, DELETE等のテーブル操作コマンドを実行します。

サーバーコンポーネント

  クライアントプログラムのExecuteDLLメソッドで実行されるサーバーコンポーネントは、第1引数 にデータベース制御オブジェクト(LDbMain)が渡されます。LDbMainオブジェクトのメソッドを使用してデータベースアクセスのオウンコーディングが可能です。

データベース制御オブジェクト(LDbMain)については、「データベース制御コンポーネント」を参照してください。


標準コントロールについて

Windowsフォームの下記コントロールは、標準コントロールとして定義されています。

コントロール名 用途・注意事項
TextBox
  • 文字列入力に使用。
Label
  • 文字列表示に使用。
  • ラベルサイズを変更する場合は、AutoSizeプロパティをFalseに設定する必要があります。
CheckBox
  • CheckBoxのチェック/非チェックの値は、True/Falseを使用します。
  • CheckBoxの値は、フィールド情報の「リストデータの設定」プロパティの編集画面から、CheckButtonの戻値にそれぞれの値を設定することで変更可能です。
RadioButton
  • RadioButtonボタン値は、1,2,3...を使用します。
  • RadioButtonボタンの値は、フィールド情報の「リストデータの設定」プロパティの編集画面から、RadioButtonの戻値にそれぞれの値を設定することで変更可能です。
ComboBox
  • DropDownStyleプロパティでスタイル変更可能です。
  • コンボボックスに使用するリストデータは、フィールド情報の「リストデータの設定」プロパティに設定します。DBテーブルの参照データまたは、文字列定数などを設定できます。
DateTimePicker
  • 日付入力に使用。
  • 日付入力のフォーマットを設定する場合は、VS.NETのフォームデザインでCustomFormatプロパティを使用してください。
  • フィールド制御の「表示フォーマット」を設定した場合は、String型フィールドの場合のみ、日付型から文字列型への変換フォーマットとして使用します。
NumericUpDown
  • 整数値を増減入力するとき使用。
  • 制限事項として、サイズ変更ができません。
PictureBox
  • イメージ表示に使用。
Button
  • クリックボタンに使用。


コンテナ・コントロールについて

  コンテナ・コントロールは、通常のコンテナとしての使用のほかに、エリア情報のコンテナとして使用します。標準のフォームテンプレートでは、キーエリア・データエリア・明細エリアの各エリア情報のコンテナとしてPanelコントロールを使用しています。エリア情報のコンテナの場合、テーブルSQL情報のコントロールをコンテナにドラッグドロップするだけで、エリア情報の中にフィールド情報が追加されます。エリア情報用のコンテナは、次の手順で追加することも可能です。

  1. フォームにコンテナ・コントロールを配置。
  2. 「フォーム制御」パネルでコンテナ・コントロールと同名のエリア情報を追加。
コントロール名 用途・注意事項
Panel
  • フォームのエリア設定に使用します。
TabControl
TabPage
  • TabControlを配置すると、同時にTabPageの１個が配置されます。
  • TabPageを追加するには、TabPageをTabControlのタブ部分にドラッグドロップしてください。
  • TabControlを選択するには、タブ部分をクリックしてください。
  • TabPageのサイズ変更や移動する場合、TabControl全体のサイズ変更や移動で実施してください。
GroupBox
  • RadioButtonのコンテナとして使用します。

注意事項

エリア情報を使用する場合でも、コンテナ・コントロールが必ず必要というわけではありません。コンテナ・コントロールは、コントロールの配置でフィールド情報を自動的にエリア内に登録する用途だけに使用しています。したがって、フォームデザインで、こうしたコンテナコントロールが邪魔になる場合、削除することができます。この場合、フィールド情報は、エリア情報に含まれるように、フォーム制御情報ツリー内の移動をして編集する必要があります。


ListViewコントロールについて

  このシステムでは、ListViewコントロールは、View=Details　の設定で通常使用します。コントロール名が明細エリア名と一致する場合、明細エリア・コンテナとして動作します。

ListViewによる明細エリア・コンテナの特徴は以下のとおりです。

  • リンクコントロールをドラッグドロップすると、ListViewにカラムを追加し、明細エリアにフィールド情報を追加します。
  • リンクコントロールをドラッグドロップするときの、配置コントロールの種類は意味をもちません。
  • ListViewのカラム順番と、明細エリアのフィールド順番は、それぞれ一致している必要があります。明細エリアのフィールド順番で、ListViewのカラム数を超えるフィールドは、ワークフィールド情報として扱われます。
  • ListViewのカラムは、ListViewコントロールの「ListViewの設定」プロパティで変更することができます。


他社コントロールの使用方法

  LLL/.netのフォームデザインでは、標準コントロール以外の配置や編集はできません。下記コントロールのデザインには、VisualStudio.NETのフォームデザイナを使用 して下さい。

  1. 標準コントロール以外のコントロール(Menu等)
  2. 他社コントロール（System.Windows.Forms名前空間でないコントロール）

（1）VisualStudio.NETで他社コントロールを配置した場合

  LLL/.netで他社コントロールを配置したフォームをオープンすると、フォームデザインパネルに下図メッセージを表示し、フォーム全体のデザイン編集を禁止します。この場合、フォームデザイン情報は保護され、フォーム制御情報やオウンコードのみ編集可能になります。フォーム制御情報にフィールド情報を登録する場合は、制御するコントロール名とフィールド名を一致するようにして登録して下さい。

（制限事項）他社コントロールを配置したフォームを「フォームテンプレート選択」で「フォーム複写」すると、プロジェクトの参照設定が反映されないため、正常に動作しないことがありますので注意してください。

（2）他社コントロールをデザイン表示する方法

    他社コントロールを含むフォームをデザイン表示する場合、LLL/.netインストールディレクトリの"PAT\Program.DEF"に登録する必要があります。Program.DEFファイルの[Control3rd]セクションに、下図の赤四角で囲んだ部分のようにコントロールタイプ名を追加して下さい。

    登録済みのコントロールを含むフォームをオープンすると、他社コントロールは”コントロールタイプ名::コントロール名”を表示したラベルで表示されます。他社コントロールラベル以外のコントロールはデザイン可能ですが、他社コントロールはデザイン変更はできません。他社コントロールラベルをマウス選択すると、「選択したコントロールは、VisualStudio.NETでデザインして下さい。」のメッセージを表示します。

以下の制限事項があります。

  • コントロールによっては、1コントロールで複数オブジェクトを扱う場合など、正常に編集できないものがあります。必ず正常に動作することを確認してご使用下さい。(GrapeCity製の場合、Spread for .NETなど)

下図は、他社コントロールを4個配置したフォームをオープンした例です。

（3）他社コントロールをフィールド制御（フォーカス移動やデータ入出力）する方法

  開発ディレクトリのControl.DEFファイルに、フィールド制御するコントロールタイプ名と制御パラメータを登録して下さい。フォーム制御情報にフィールド情報を登録する場合は、制御するコントロール名とフィールド名を一致するようにして登録して下さい。

以下の制限事項があります。

  • 明細フィールドとして使用することはできません。
  • ComboBox, ListBoxの代用としては通常使用できません。(GrapeCity製の場合、InputMan for .NETのComboなど)
  • コントロールによっては、正常にフィールド制御できない場合があります。必ず正常に動作することを確認してご使用下さい。

他社コントロールの登録例（下図の赤線で囲った部分）

フォーマットは、<Item Name="コントロールタイプ名" Params="コントロール制御パラメータ" />　です。パラメータのセパレート文字は(|)

【コントロール制御パラメータの説明】

パラメータ名 | 説明
focus | フォーカス制御可能。
put | データ表示制御可能。
get | データ取得制御可能。
textbox | テキストボックスによるデータ入力制御可能。
select | コンボボックスなどのリストデータ選択によるデータ入出力制御。
multi | 複数のコントロールでデータ入出力制御します（RadioButton用）。他社コントロールでは使用できません。
prop | データ表示/データ取得に使用するプロパティ名
noenter | Enterキーによるフォーカス移動をしない
nocursor | 矢印キーによるフォーカス移動をしない
noevent | コントロールで発生するイベント処理をしない
copy | 明細行追加でコントロール追加するときの複写対象プロパティ名を（,）で区切って設定します。他社コントロールでは使用できません。
extend | コントロール動作がプロパティ値により異なる場合、そのプロパティ名を設定します。各プロパティ値によるパラメータを以下の形式で設定します。（例:ComboBox） 他社コントロールでは使用できません。 <Item Name="コントロール名:プロパティ値"Params="...."/>
vprop | Validationイベント処理時にデータ検証用に使用するプロパティ名。 このプロパティが未指定の場合、propで指定したプロパティが利用されます。NumericUpDown以外では利用する必要性はあまりありません。
except | 明細追加でコントロール追加するときに既定で複写されるプロパティを除外する必要があるときに、除外するプロパティを(,)で区切って設定します


コード検索について

コントロールのデータ入力で、コード検索ウィンドウを使用する方法を説明します。

（１）簡単なコード検索の設定方法

  1. 「フォーム制御」パネルに、コード検索情報を追加します。
  2. コード検索情報のプロパティ画面からリストデータを設定します。DBテーブルから参照する方法と、文字列定数をリストする方法があります。
  3. 「フォーム制御」ツリーのフィールド情報を選択します。フィールド情報のプロパティ画面から、コード検索情報を設定します。

（２）２段階以上のコード検索の設定方法

  1. １段目のコード検索情報を登録。
    コード検索情報の「特別な戻値フィールド」に、戻り値を保存するフィールド（ワークフィールド）を設定します。
  2. ２段目のコード検索情報に使用するテーブルSQL情報を登録します。
    このSQL文には、１段目のコード検索の戻値フィールドに設定したフィールドを、{フィールド変数}として編集します。
  3. 2段目のコード検索情報を登録。
    コード検索情報の「リストデータの編集」画面の「DBテーブル名(またはSQL名)」で、登録したテーブルSQL情報を選択し、戻り値と表示値のカラムを設定します。
  4. フィールド情報のコード検索プロパティに、コード検索名を１段目、２段目とカンマ(,)で区切って設定します。

（サンプル）サンプルシステムの「売上伝票入力」の伝票番号コード検索は、得意先検索後に伝票番号検索する２段検索になっています。これを例にして、設定手順を説明します。

  1. コード検索情報名=worder1、リストデータの編集=得意先マスタの得意先コードと得意先名をリスト表示し、得意先コードを取得。
    「特別な戻値フィールド」=TORISAKI_CD
  2. テーブルSQL情報名=sorder
    SQL文の編集=select [DENPYO_NO], [TORI_YMD] from [DENHEAD] where [DENPYO_KBN] = '1' and [TORISAKI_CD] = '{TORISAKI_CD}'
  3. コード検索情報名=worder2、リストデータの編集=sorderで設定したSQL文でクエリーして、得意先の伝票番号と日付をリスト表示し、注文番号を取得。
  4. 伝票番号フィールド情報の「コード検索」=worder1,worder2


複数フォームの使用方法

プログラムで複数フォームを使用する方法はいろいろ考えられますが、簡単な例を説明します。

  1. メインフォーム(Form1)と同様に、追加するフォーム(Form2～)をフォームテンプレートから作成します。
  2. メインフォームで、Buttunコントロールを配置し、クリックイベントでForm2をShowDialogメソッドで表示します。

  このように、通常のフォーム表示のメソッドを使用して表示することができます。フォーム間でのデータの受渡しは、Pubulicプロパティ等を使用することで実現できます。


トレースモードについて

プログラムをトレースモードに設定すると、データベースやＷｅｂサービスのアクセスログをトレースファイルに出力可能です。プログラムの動作確認やデバッグなどの解析に使用することができます。

（１）トレースモードの設定方法

ユーザ開発ディレクトリに、TraceMode.xml　というファイル名で下図形式のテキストを作成します。ProgramsセクションのItemにトレース対象のプログラム名を設定します。複数プログラムを設定することも可能ですが、全プログラムを対象にする場合は、プログラム名に"*"を設定することも可能です。

（２）トレースファイルの内容

トレースファイルはユーザ開発ディレクトリに、Trace(yyMMdd).txt という発生日付毎のファイル名で作成されます。トレースは以下のイベントに対して、「発生時刻 プログラム名 クラス名．オブジェクト名 トレース名　パラメータ」　の形式で出力されます。

  • プログラム開始、Form_Load、Form_Closedイベント時
  • データベースオブジェクトの初期設定時の内容
  • データベースアクセス時のSQL文
  • Ｗｅｂサービスアクセス時のSQL文（スマートクライアントの場合）

以下はトレースファイルの出力サンプルです。

（３）スマートクライアントの場合

  スマートクライアント運用時にトレースする場合、TraceMode.xmlファイルもクライアントに配布する必要があります。トレースファイルは各クライアントのシステムディレクトリと、サーバーのシステムディレクトリの両方に出力されます。サーバーのトレースファイルのプログラム名はASP.NETによるプログラム名になります。


明細エリアのページ制御

  明細エリアに明細表示する場合、明細行数分のフォームコントロールを配置し、明細エリアパネルをスクロールさせることて表示することができます。しかし、大量明細データを表示しようとした場合、パフォーマンス低下やリソース大量消費による異常が発生する可能性があります。こうした場合の回避策として、明細エリアのページ制御機能が使用できます。

  明細ページ制御ではフォーム上の明細エリアコントロールは１ページ分だけ配置します。そして明細行データは仮想明細テーブルに保持します。仮想明細テーブルとは、明細エリアのフィールド名をカラム名とするDataTableオブジェクトです。明細エリアには仮想明細テーブルのページ単位の明細データだけを表示します。フォームの明細エリアデータに変更があった場合、明細行エリアイベント実行後に仮想明細テーブルに保存します。明細ページ制御では下記メソッドの動作が異なります。

  PutDataTableメソッド, PutFormDataメソッド

  1. フォームに直接表示せずに、表示データを仮想明細テーブルに保存します。
  2. (PutDataTableの場合)表示データを仮想明細テーブルに保存後に、各明細行のエリアイベントを発生させます。このとき行番号は１を使用します。
  3. 仮想明細テーブルから先頭ページの明細を表示します。

GetDataTableメソッド, GetFormDataメソッド

  1. フォームの表示データではなく、仮想明細テーブルの明細データを対象にします。

明細ページ制御の設定

    テンプレートの「明細伝票形式データ入力（頁制御）」「明細一覧表示」を使用すると明細ページ制御が使用可能になります。

    「明細エリア情報のプロパティ」を下記のように設定してください。

  • 「ページ制御使用」をTrueに設定。
  • 「初期明細行数」にページ明細行数を設定。
    ページ明細行数は「最終行の自動追加」「明細行数を固定」「最小明細行数」「最大明細行数」の各設定にかかわらず固定です。
  • 明細エリアに入力コントロールが含まれる場合、「有効判定フィールド」を設定する必要があります。

明細ページ制御のキー操作

キー操作により表示ページの変更が可能です。デフォルトでは下記キーが割り当てられています。

  • [Ctrl]+[Home] ：先頭ページ表示
  • [Ctrl]+[PageUp] ：前ページ表示
  • [Ctrl]+[PageDown] ：次ページ表示
  • [Ctrl]+[End] ：最終ページ表示
  • [Alt+[PageUp] ： １行上にシフト
  • [Alt]+[PageDown] ：１行下にシフト

明細エリアオブジェクト

明細エリアブジェクトのメソッドやプロパティを使用することで、プログラムによる表示ページの制御が可能になります。

（１）明細エリアオブジェクトの取得

  • VBの場合、 Dim LPageArea As LWinArea = LForm.GetWinArea("明細エリア名")
  • 　C#の場合、 LWinArea LPageArea = LForm.GetWinArea("明細エリア名");

（２）明細エリアオブジェクトのメソッド

メソッド 説明
PageDisplay(LPageMove) 仮想明細テーブルから下記パラメータに従い明細ページを表示する。
  • LPageMove.Top ：先頭ページ表示
  • LPageMove.Previous ：前ページ表示
  • LPageMove.Next ：次ページ表示
  • LPageMove.Last ：最終ページ表示
  • LPageMove.Present：現在ページの再表示

（３）明細エリアオブジェクトのプロパティ

プロパティ | 説明
PageNumber | （参照）フォームに表示中のページ番号を取得。 （設定）設定したページ番号の明細データを表示。
PageTopRow | （参照）フォームに表示中の先頭明細行番号を取得。 （設定）設定した先頭明細行から明細データを表示。
PageCount | （参照）表示可能な明細ページ数を取得。
VirtualDT | （参照）仮想明細テーブルのDataTableオブジェクトを取得。 仮想明細テーブルの明細データを参照または更新することができます。更新データをフォームに反映する場合はPageDisplayメソッドを使用してフォームに表示する必要があります。

注意点

  • フォーム制御メソッドやイベントの行番号は、仮想明細テーブルの行番号ではなく、フォームコントロールの行番号（１～）を使用します。
  • ページ切替時にはフォームの明細エリアに対して「CheckFocus」メソッドによるデータチェックが実施されます。データエラーがある場合、エラーフィールドにフォーカスしページ切替はしません。
  • 明細行の「有効判定フィールド」に有効な値が入力されてない明細行は、ページ移動、行挿入、行削除などの画面操作を実施すると無効な明細行としてクリアします。この動作はページ制御使用でない明細エリアの動作と異なりますのでご注意ください。


クライアントマネージャ インストーラのカスタマイズ

LLL/.net クライアントマネージャは、作成したシステムをユーザに配布する際に威力を発揮するツールです。しかし、製品同梱のインストーラは汎用用途に用いるため、必要最小限の配布機能についてのみパッケージングされています。作成したシステムの用途に合わせて、

  • 配布するシステムに必要なアンマネージドコンポーネント(ActiveXコントロールなど)を一緒にインストールする。
  • インストールの際の環境条件確認を厳密にする。
  • スタートメニューにクライアントマネージャのプログラムグループが登録されないようにする。
などの変更を施すためには、クライアントマネージャのインストーラを編集する必要があります。

手順1：クライアントマネージャのソリューションを展開する

クライアントマネージャのインストーラソリューションは、下記の場所に自己解凍形式の書庫ファイルで格納されています。

[LLL/.netをインストールしたフォルダ]￥DeploymentTool￥ClientManager￥CM_Solution.exe
この書庫ファイルを任意の場所に展開します。

注意：Windows Vistaの場合

プログラム開発手順の概要の「（１）開発システムのディレクトリ」でも記載しているように、WindowsVista上で作業を行なう場合、一部作業に適さないフォルダが存在します。すくなくとも開発ディレクトリが作成可能な場所に書庫ファイルを展開してください。

手順2：クライアントマネージャのソリューションをVisualStudioで開く

展開されたファイルの、「LClientSetup.sln」をダブルクリックすることで、VisualStudio上でインストーラソリューションが開かれます。

製品同梱のクライアントマネージャのインストーラは、本製品Ver1.xxとの互換性のため、VisualStudio.NET2003で作成されています。そのためインストーラソリューションを開いた際、ソリューションのアップグレードウィザードが実行されることがあります。その場合は、ウィザードの指示に従って、アップグレードをしてください。

そのままソリューションをビルドした場合、製品同梱のものと同様の構成のインストーラとなります。使用用途に合わせてソリューション内容をカスタマイズしてください。


フリーレイアウトグリッド利用時の設定と制限事項

フリーレイアウトグリッドは、配置したコントロールの高速な反復描画が可能なグリッドコントロールです。
LLL/.netでは、Ver2.20から、このコントロールを明細エリアとして利用することができます。

制限事項

  • フリーレイアウトグリッドは、LLL/.net開発ツール本体上においては、サードパーティ製コントロールとして認識されます。配置やデザインなどはVisualStudio上で行う必要があります。
  • VisualStudio上で、フリーレイアウトグリッド上に配置したコントロールも、LLL/.net開発ツール本体上では表示されません。フィールド属性は設定可能なので、コントロールのプロパティについてはVisualStudio上で設定してください。
  • フリーレイアウトグリッドは、実行時には明細エリアとして識別されます。明細ではない通常のエリアとしては利用できません。
  • 本バージョンのLLL/.netで制御対象としている、または動作を確認しているフリーレイアウトグリッドのバージョンは、バージョン2.5.0.0です。それ以前のバージョンについてはサポートしておりません。
  • フリーレイアウトグリッドをLLL/.netの明細エリアとして設定した場合、VisualStudio上でデザイン時にデータソースを指定していたとしても、実行時に無視されます(DataSourceプロパティや、各明細コントロールに設定されたDataBindingsプロパティが解除され、LLL/.net側で設定した「リンクテーブル名」や「リンクフィールド名」の指定が再設定されます)。
  • LLL/.net Ver2.20現在、フォーカスの移動順序は、グリッドのレイアウトをどのように変更したとしても、開発ツール本体で設定した順序になります。
  • フリーレイアウトグリッドのMoveFocusByEnterプロパティは、LLL/.netが提供する同種の機能と衝突します。Falseにしてください。
  • フリーレイアウトグリッドが提供するデータソースのフィルター機能は、LLL/.netによるエリア制御の内部処理の関係上、正常に動作しません。CanDynamicFilterCommandViewプロパティ,およびClickSortプロパティはFalseにしてください。
  • フリーレイアウトグリッドが提供するデータソースのソート機能は、LLL/.netによるエリア制御の内部処理の関係上、正常に動作しません。CanDynamicSortCommandViewプロパティはFalseにしてください。
  • 明細エリアの設定項目「明細行の間隔」は、設定しても機能しません。フリーレイアウトグリッドで指定したDetailの高さが反映されます。
  • 明細エリアの設定項目「ページ制御使用」は設定しても機能しません。

注意事項

  • LLL/.net側で明細エリアに「交互背景色」属性を設定した場合、偶数行/奇数行の背景色は各明細コントロールのBackColorプロパティに対して設定されます。対して、フリーレイアウトグリッドのDetailEvenBackColor/DetailOddBackColorプロパティは、各明細コントロールが配置されているコンテナの背景色に対して設定されます。
  • LLL/.net（開発ツール本体、ランタイム共）の動作環境として利用できる.NetFrameworkのバージョンは .NetFramework2.0以降ですが、フリーレイアウトグリッドの動作環境として利用できる.NetFrameworkのバージョンは.NetFramework2.0 SP1以降です。開発環境、実行環境によっては、LLL/.netが動作しても、フリーレイアウトグリッドが動作しないことがあります。
  • フリーレイアウトグリッド上に配置したコントロールでは、ListControl(ComboBox、ListBoxなど)のリスト部分は、アイテムの追加ではく、データソースのバインドによって表現する必要があります。LLL/.netでは、従来のフィールドでは前者の方法で処理しますが、フリーレイアウトグリッド上の明細フィールドでは後者の方法でリストを表現します。

使用方法

  1. 本マニュアルの「他社コントロールの使用方法」に基づき、[LLL/.netのインストールディレクトリ]￥[VS2005 または VS2008]￥Program.DEFに、フリーレイアウトグリッドを設定します
  2. [開発ディレクトリ]￥Control.DEFの「」要素中に、下記のように「<Section Name="Area">」要素を追加します。
        <Section Name="Area">
        <Item Name="G1.FreeGrid.G1FreeGrid" Params="detailassembly=LLLNET.LComWin.Extends.FLG.dll|detailarea=LLLNET.LComWin.Extends.FLG.LWinInnerG1FreeGridArea"/>
    </Section>
    注：本バージョンのLLL/.netで新規に開発ディレクトリを作成した場合、Control.DEFにはすでにこの設定は含まれています。旧バージョンで開発した開発ディレクトリを本バージョンにバージョンアップし、フリーレイアウトグリッドを使用する場合にのみこの作業を行ってください
  3. 新規にプログラム作成を行う場合、下図のように、LLL/.net開発ツール本体上では、明細エリアをワークで作成し、明細に配置する予定のフィールドのみ配置します。配置予定のフィールドが明細エリアの子フィールドとなるように設定しておいてください。

  4. 「VisualStudio起動」メニューよりVisualStudioを開き、ツールボックスよりフリーレイアウトグリッドをフォーム上に配置します。

  5. フリーレイアウトグリッドのコントロール名を、手順3で作成しておいたワークの明細エリアと同一に設定します。

  6. フリーレイアウトグリッド上に、手順3で配置しておいたフィールドを移動していきます

  7. フリーレイアウトグリッドの下記プロパティを設定します
    • MoveFocusByEnter = False
    • CanDynamicFilterCommandView = False
    • CanDynamicSortCommandView = False
    • ClickSort = False
      ※MoveFocusByArrowプロパティはTrue、Falseどちらでも構いませんが、他のLLL/.net明細エリアと同等の挙動を希望される場合はFalseに指定することをお勧めします。

  8. VisualStudioの「プロジェクト」メニュー→「参照の追加」より、開発ディレクトリ直下にある「LLLNET.LComWin.Extends.FLG.dll」を選択します。


設計情報の活用

LLL/.net開発ツール上では、画面の制御を行うための情報や、データベーステーブルの構造に関する情報を保持しています。
Lll/.netでは、これらの情報を外部データベースに出力し、設計書の作成などに活用することができます。

はじめに

設計情報保存機能を利用可能にするためには、開発ディレクトリの設定を変更する必要があります。 標準ではこの機能は無効になっています。 「システム」メニュー→「システムプロパティ」を実行し、システムプロパティダイアログを表示します。

設定項目「ドキュメント出力用情報を出力する」をTrueに設定します。 設定変更後、再度開発ディレクトリにログインしてください。設計情報保存用データベースファイルが[開発ディレクトリ]\SystemDocsにコピーされます。

注意

設定変更後、必ず開発ディレクトリに再度ログインしてください。再度ログインを行わずにそのまま開発を続行すると、エラーが発生することがあります。

データベース情報

データベース設計画面にてメニューの「データベース設計情報出力」を実行、又はツールバーの [image] をクリックすることで、現在ログインしている開発ディレクトリのデータベース設計情報をすべて出力します また、テーブルおよびデータベースの設計情報を保存するときに、同時に保存したテーブル又はデータベースの設計情報を出力します。 出力した情報は、データベースファイル[開発ディレクトリ]\SystemDocs\Settings.mdbに保存されます。この保存先は変更できません。

フォーム設計情報・帳票設計情報

メニューの「プログラム情報出力」を実行、又はツールバーの [image] をクリックすることで、現在開いているプログラムに含まれるフォーム、帳票フォームの各フィールドに設定された情報を出力します。 また、プログラムの保存を行う際にも、現在開いているプログラムに含まれるフォームの設計情報がすべて出力します 出力した情報は、データベースファイル[開発ディレクトリ]\SystemDocs\Settings.mdbに保存されます。この保存先は変更できません。

フォーム画面イメージ

メニューの「フォームハードコピーを取得」を実行、又はツールバーの [image] をクリックすることで、現在表示しているフォームのスクリーンショットを取得することができます。 取得したスクリーンショットはビットマップファイル[開発ディレクトリ]\SystemDocs\[プログラムID]_[フォームファイル名].bmpに保存されます。

注意

対象フォームの広さにあわせてスクリーンショットを取得しているため、別ウィンドウが前面に出ている場合や、デスクトップ描画領域外にフォームが表示されている場合は、正しくイメージを取得することができません。

データベースの活用方法(サンプルシステムについて)

本製品には、この機能でデータベースファイルに出力された設計情報を元にドキュメントファイルを出力するサンプルプログラムを用意しています。
自己展開形式書庫ファイル[LLL/.netをインストールしたフォルダ]\Sample2005(又はSample2008)\Document_VB.exeをダブルクリックして展開してください。 LLL/.netの開発ディレクトリが作成されます。

なお、このサンプルシステムにおいては、帳票出力機能としてLLL/.netの帳票設計オプション、およびシーオーリポーツを用いています。 プログラムロジック部分は公開しておりますので、必要に応じて修正してご活用ください。
  • 帳票設計オプション(およびシーオーリポーツ)を購入していない。
    ドキュメントファイルのプレビュー出力、プリンター出力、PDF出力を行うことはできません。
    他の帳票ツールを用いるなどで、出力ルーチンを自作してください。
    又は、XML出力結果を元にMicrosoft Excel等の表計算ソフトに読み込ませる等の方法で加工することも可能です。
    参考用として、出力結果のPDFファイルは当開発ディレクトリ内に同梱しています。
  • 帳票設計オプション(およびシーオーリポーツ)を購入している場合
    ドキュメントのレイアウト、および出力ルーチンを、必要に応じて変更してください。

注意事項

この機能で出力される情報は、開発ツール本体、およびデータベース設計画面で情報を編集・保存した際に更新されます。
VisualStudio上で設計情報を変更したりデータベース上で直接テーブル情報を変更した場合、再度開発ツール本体およびデータベース設計画面上で情報の再読み込み・保存を行わない限り結果は反映されません、


フォーム制御の概要

フォーム制御コンポーネントの概要

  フォーム制御コンポーネントは、Windowsフォームを制御するために使用されます。プログラム設計のフォームデザインでは、フォームのコントロールの配置とともに、フォーム動作を制御するフォーム制御情報が登録されます。

  ユーザプログラムのフォーム制御は、主にこのコンポーネント機能を使用しますが、直接コントロールのプロパティやメソッドを使用して制御することも可能です。また、フォーム制御コンポーネントから必要に応じて、データベース制御コンポーネントを経由して、データベースアクセスも実行します。これらの関係を以下に図示します。

フォーム制御コンポーネントの詳細については、以下の記述を参考にして下さい。

フォーム制御パラメータ情報

  フォーム制御情報として登録したデータは、「フォーム制御パラメータ情報」のエリアにコード生成されます。
詳細については、「フォーム制御パラメータ情報」の説明を参照してください。

フォーム制御コンポーネントのイベント

  コンポーネントのイベント処理は、フォームイベントエントリにコーディングします。
詳細については、「フォーム制御コンポーネントのイベント処理」の説明を参照してください。

フォーム制御コンポーネントのメソッド

コンポーネントには、プログラムでフォーム制御するための各種のメソッドが用意されています。
詳細については、「フォーム制御コンポーネントのメソッド」の説明を参照してください。


フォーム制御イベントの説明

フォーム制御コンポーネントで発生するイベント処理は、処理コードのフォームイベントエントリにコーディングします。

' フォームイベントエントリ
Public Sub LForm_Event(ByVal we As LWinEventArgs)

' ----LWinEventArgsクラスの内容によるイベント処理のディスパッチ----
Select Case we.Kind
Case LEventKind.xxxxxx
：
End Select

End Sub

  フォームイベントエントリの引数としてLWinEventArgsクラスのオブジェクトが渡されます。このオブジェクトを参照することで、イベント種類やイベント発生個所をなどを特定することが可能です。LWinEventArgsクラスには、イベント種類を表すLEventKind列挙体が含まれます。それぞれの詳細については、以下を参照して下さい。

LWinEventKindクラス

メンバ | 説明
Kind | LEventKind列挙体のイベント種類を設定します。
Name イベント発生場所の名称を設定します・
  • Formxxxx： 現在コントロールのフィールド名。
  • Controlxxxxx：　コントロールイベントが発生したフィールド名。
  • AreaEvent：　エリアイベントの発生したエリア名。
  • Validation：　データチェック対象のコントロールのフィールド名。
Row | イベント発生場所が、明細行コントロールまたは明細エリアの場合は、その明細行番号（１～）を設定します。
Index | イベント発生場所が、配列フィールドの場合は配列番号（１～）を設定します。
ErrorMessage | Validationイベントのデータチェック処理で、データエラーにする場合、エラーメッセージの文字列を設定して下さい。
Cancel | FormClosingイベントをキャンセルする場合、Trueを設定して下さい。

LEventKind列挙体

フォーム制御コンポーネントで発生するイベントには、以下のものがあります。

メンバ名 | 説明
FormLoad | Form_Loadイベント発生時。
FormClosing | Form_Closingイベント発生。 LWinEventKindクラスのCancelをtrueにして戻すと、フォームクローズをキャンセルします。
FormClosed | Form_Closedイベント発生。
ControlEnter | Control_Enterイベント発生。
ControlClick | Control_Clickイベント発生。
ControlLeave | Control_Leaveイベント発生。
ControlDoubleClick | コード検索ウィンドウの設定があるコントロールでDoubleClickイベントが発生。 設定したコード検索ウィンドウを表示します。
ControlTextChanged | TextBoxでTextChangedイベントが発生。
ControlSelectedIndexChanged | ListControlでSelectedIndexChangedイベントが発生
ControlCheckedChanged | RadioButtonでCheckedChangedイベントが発生。
AreaEvent | エリアイベントが発生。詳細については、「エリアイベント処理」を参照してください。
Validation | データチェックイベントが発生。詳細については、「入力データの正当性チェック処理」を参照して下さい。


フォーム制御メソッドの説明

  フォーム制御コンポーネントは、「フォーム制御パラメータ情報」で、LFormというPublic変数に保存されます。従って、処理コードでフォーム制御コンポーネントのメソッドを実行する場合、LForm.メソッド名() というコーディングになります。

例） LForm.Focus("cmd_OK") ' コントロール（cmd_OK）にフォーカス移動

以下は、種類別のメソッド一覧表です。

フォーカス制御等のメソッド

メソッド | 説明
Focus | 指定されたエリアまたはコントロールに、フォーカス移動します
FocusEnable | 指定されたエリアまたはコントロールを、フォーカス可能にします。
FocusDisable | 指定されたエリアまたはコントロールを、フォーカス不可にします。
VisibleOn | 指定されたエリアまたはコントロールを、表示します。
VisibleOff | 指定されたエリアまたはコントロールを、非表示にします。
CheckFocus | エリアのデータチェックを実施。エラーがある場合、エラーコントロールにフォーカス移動。
CheckData | エリアのデータチェックを実施。ステータスを戻り値にする。

データ表示のメソッド

メソッド | 説明
PutFormData | DataSetオブジェクトのフォームデータをコントロールに表示します。
PutDataTable | DataTableオブジェクトのデータを、フォームのリンクコントロールに表示します。
PutData | コントロールにデータを表示します。
Clear | エリアまたはコントロールのデータをクリアします。

データ取得のメソッド

メソッド | 説明
GetFormData | エリアのコントロールデータを、DataSetオブジェクトとして保存します。
GetDataTable | ataTableオブジェクトに、フォームのリンクコントロールのデータを保存します。
GetData | コントロールのデータを取得します。
GetDataXXXXX | コントロールのデータをメソッドのデータ型で取得します。

明細エリアのメソッド

メソッド | 説明
RowDim | 明細エリアの行数を変更
RowInsert | 明細エリアの明細行を１行挿入
RowDelete | 明細エリアの明細行を１行削除
RowPush | 明細エリアの明細行データを１行後方にずらす
RowPop | 明細エリアの明細行データを１行前方にずらす
RowSum | 明細エリアのフィールドの合計

データベース関連のメソッド

メソッド | 説明
ReadTable | テーブルSQL情報でクエリーを実行します。DataTableオブジェクトが戻り値になります。
ReadSql | SQL文によるデータベースクエリーを実行します。DataTableオブジェクトが戻り値になります。
UpdateTable | DataTableオブジェクトの変更内容をデータベースに更新します。

コンポーネントのメソッド実行

メソッド | 説明
ExecuteDLL | サーバーコンポーネントのメソッドを実行します。

その他のメソッド

メソッド | 説明
GetAreaFirstName | エリアの先頭フィールド名を取得します。
GetWinArea | エリア情報を取得します
GetWinField | フィールド情報を取得します
GetWinCont | フィールドに結びつくコントロール情報を取得します


LWinForm.CheckDataメソッド

LForm.CheckDataメソッド

指定されたエリアまたはコントロールのデータチェックを行い、チェック結果を戻り値とします。
フォーム全体、エリア単位、明細行単位、フィールド単位でのデータチェックが可能です。
データチェックでエラーがあっても、CheckFocusのようにフォーカス移動しません。

[VB.NET]
Public Function CheckData() As Boolean
Public Function CheckData(ByVal contName As String) As Boolean
Public Function CheckData(ByVal contName As String, ByVal row As Integer) As Boolean

[C#]
public bool CheckData();
public bool CheckData(string contName);
public bool CheckData(string contName, int row);

引数 | 説明
contName | エリア名またはフィールド名を設定します。 引数を省略するとフォーム全体がチェック対象になります。
row | 明細エリアをデータチェックする場合、明細行番号でチェックする明細行を指定できます。 引数を省略すると全明細行がチェック対象になります。
戻り値 | チェック結果。正常=True、エラー=False

使用例

[VB.NET]

[C#]


LWinForm.CheckFocusメソッド

LForm.CheckFocusメソッド

指定されたエリアまたはコントロールのデータチェックを行い、チェック結果を戻り値とします。
フォーム全体、エリア単位、明細行単位、フィールド単位でのデータチェックが可能です。
データチェックでエラーがある場合、エラーフィールドにフォーカス移動します。

[VB.NET]
Public Function CheckFocus() As Boolean
Public Function CheckFocus(ByVal contName As String) As Boolean
Public Function CheckFocus(ByVal contName As String, ByVal row As Integer) As Boolean

[C#]
public bool CheckFocus();
public bool CheckFocus(string contName);
public bool CheckFocus(string contName, int row);

引数 | 説明
contName | エリア名またはフィールド名を設定します。 引数を省略するとフォーム全体がチェック対象になります。
row | 明細エリアをデータチェックする場合、明細行番号でチェックする明細行を指定できます。 引数を省略すると全明細行がチェック対象になります。
戻り値 | チェック結果。正常=True、エラー=False

使用例

データエリア(LDATA)のデータチェックをし、データエラーがあれば、該当コントロールにフォーカス移動します。

[VB.NET]

[C#]


LWinForm.Clearメソッド

LForm.Clearメソッド

指定されたエリアまたはコントロールの、データをクリアします。
フォーム全体、エリア単位、明細行単位、またはコントロール単位で、データクリア可能です。

[VB.NET]
Public Sub Clear()
Public Sub Clear(ByVal contName As String)
Public Sub Clear(ByVal contName As String, ByVal row As Integer)

[C#]
public void Clear();
public void Clear(string contName);
public void Clear(string contName, int row);

引数 | 説明
contName | データクリアするエリア名、またはコントロール名を設定します。 省略するとフォーム全体をエリアとしてデータクリアします。
row | 明細エリアまたは、明細エリアのコントロールのデータをクリアする場合、明細行番号でクリアする明細行を指定できます。 引数を省略すると全明細行をクリアします。

使用例

キーエリア(LKEY)とデータエリア(LDATA)を初期化します。

[VB.NET]

[C#]


LWinForm.ReadTableメソッド

LForm.ExecuteDLLメソッド

  サーバーコンポーネントを実行するメソッドです。通常はメインデータベースのWebサービスサイト上のサーバーコンポーネントを実行します。引数でデータベース名を指定すれば、メインデータベース以外のサーバーコンポーネントを実行することも可能です。引数としてアセンブリ名・クラス名・メソッド名を指定することで実行するコンポーネントメソッドを指定します。

  メソッド実行で引数として使用するデータは、ひとつのDateSetに設定します。設定方法として以下の手順を参考にして下さい。

  1. LForm.GetFormDataメソッドを使用して、画面データをDataSetの形式で保存します。
  2. データベースから取得したDataTable等は、DataSetのTables.Addメソッドを使用してDataSetに追加します。
  3. その他のデータは、DataSetのExtendedPropertiesを使用することができます。

  メソッドの戻り値は、ひとつのDataSetです。使用方法として以下の手順を参考にして下さい。

  1. DataSetに設定された画面データを表示する場合、LForm.PutFormDataメソッドを使用すると一括して表示可能です。
  2. DataSetに設定されたデータベースのDataTable等は、DataSetのTables.Removeメソッドを使用し切離してから使用します。
  3. その他の戻り値として、DataSetのExtendedPropertiesを使用することができます。
[VB.NET]
Public Function ExecuteDLL(ByVal assemName As String, ByVal classMethod As String, ByVal cmdDs As DataSet) As DataSet
Public Function ExecuteDLL(ByVal dbName As String, ByVal assemName As String, ByVal classMethod As String, ByVal cmdDs As DataSet) As DataSet

[C#]
public DataSet ExecuteDLL(string assemName, string classMethod, DataSet cmdDs);
public DataSet ExecuteDLL(string dbName, string assemName, string classMethod, DataSet cmdDs);

引数 | 説明
dbName | データベース情報名。データベース情報名を省略した場合、メインデータベース情報が使用されます。
assemName | 実行するアセンブリ名を設定。
classMthod | 実行するアセンブリメソッドを "クラス名.メソッド名" で設定。
cmdDs | メソッドのパラメータデータは、DataSetにして渡します。
戻り値 | メソッドの戻り値は、DataSetにして戻されます。

使用例

フォームデータをDataSetの引数として、コンポーネント・メソッドを実行し、その結果をフォームデータのDatSetで受取り、フォームのListDataエリアにデータ表示します。サーバーコンポーネントで実行エラーがある場合、ExtendedPropertiesのErrorにエラー文字列を返すようにコンポーネントでプログラムされている場合の例です。

[VB.NET]

[C#]


LWinForm.Focusメソッド

LForm.Focusメソッド

  指定されたエリアまたはコントロールに、フォーカス移動します。
エリア名の場合、フォーカス可能な先頭コントロールにフォーカス移動します。

[VB.NET]
Public Function Focus(ByVal contName As String) As Boolean
Public Function Focus(ByVal contName As String, ByVal row As Integer) As Boolean

[C#]
public bool Focus(string contName);
public bool Focus(string contName, int row);

引数 | 説明
contName | フォーカス移動するエリア名、またはコントロール名を設定します。
row | 明細エリアまたは、明細エリアのコントロールにフォーカス移動する場合、明細行番号を指定できます。引数を省略すると先頭明細行にフォーカス移動します。
戻り値 | フォーカス結果。正常=True、エラー=False

使用例

キーエリア(LKEY)のフォーカス可能な先頭コントロールにフォーカス移動します。

[VB.NET]

[C#]


LWinForm.FocusDisableメソッド

LForm.FocusDisableメソッド

  指定されたエリアまたはコントロールを、フォーカス不可にします。

[VB.NET]
Public Sub FocusDisable(ByVal contName As String)
Public Sub FocusDisable(ByVal contName As String, ByVal row As Integer)

[C#]
public void FocusDisable(string contName);
public void FocusDisable(string contName, int row);

引数 | 説明
contName | フォーカス不可にするエリア名、またはコントロール名を設定します。
row | 明細エリアまたは、明細エリアのコントロールをフォーカス不可にする場合、明細行番号を指定できます。

使用例

処理モード(LMODE)とキーエリア(LKEY)をフォーカス可能にし、データエリア(LDATA)をフォーカス不可にします。

[VB.NET]

[C#]


LWinForm.FocusEnableメソッド

LForm.FocusEnableメソッド

  指定されたエリアまたはコントロールを、フォーカス可能にします。

[VB.NET]
Public Sub FocusEnable(ByVal contName As String)
Public Sub FocusEnable(ByVal contName As String, ByVal row As Integer)

[C#]
public void FocusEnable(string contName);
public void FocusEnable(string contName, int row);

引数 | 説明
contName | フォーカス可能にするエリア名、またはコントロール名を設定します。
row | 明細エリアまたは、明細エリアのコントロールをフォーカス可能にする場合、明細行番号を指定できます。

使用例

処理モード(LMODE)とキーエリア(LKEY)をフォーカス可能にし、データエリア(LDATA)をフォーカス不可にします。

[VB.NET]

[C#]


LWinForm.GetAreaFirstNameメソッド

LForm.GetAreaFirstNameメソッド

指定したエリア名のフォーカス可能な先頭フィールド名を取得します。

[VB.NET]
Public Function GetAreaFirstName(ByVal areaName As String) As string

[C#]
public string GetAreaFirstName(string areaName);

引数 | 説明
areaName | エリア名
戻り値 | エリアのフォーカス可能な先頭フィールド名

使用例

キーエリア(LKEY)のフォーカス可能な先頭フィールド名を取得します。

[VB.NET]

[C#]


LWinForm.GetDataメソッド

LForm.GetData()

  指定コントロールのデータを取得します。戻り値はObject型です。メソッド内部ではフィールドのデータ型に変換されています。

（参考）戻り値のデータ型を指定できる「GetDataデータ型」メソッドも用意されています。

[VB.NET]
Public Function GetData(ByVal contName As String) As Object
Public Function GetData(ByVal contName As String, ByVal row As Integer) As Object

[C#]
public object GetData(string contName);
public object GetData(string contName, int row);
引数 | 説明
contName | コントロール名を設定します
row | 明細エリアのコントロールの場合、明細行番号を指定する必要があります。
戻り値 取得データをフィールドのデータ型に変換したObject値です。例外として以下の場合があります。
  • Ｎｕｌｌの場合
    • コンボボックス等のリスト選択フィールドが未選択の場合
    • リストデータによるデータ変換ができない場合
    • 日付型のフィールドで日付データが未設定の場合

  • 下記状態の場合、データ取得エラーとしてExceptionが発生します。
    • データ取得時にコントロールエラーが発生した場合
    • 取得データがフィールドのデータ型に変換できない場合

使用例

[VB.NET]

[C#]


LWinForm.GetDataデータ型 メソッド

LForm.GetDataデータ型メソッド

コントロールから 「GetDataメソッド」　を内部使用してデータ取得します。その後、指定データ型に変換します。
使用できるデータ型は以下のとおりです。

String, Boolean, Byte, Char, DateTime, Decimal, Double, Single
Int16, Int32, Int64, UInt16, UInt32, UInt64, SByte

「GetDataメソッド」で取得したデータがＮｕｌｌの場合、下記の値が使用されます。

  • Byte, Decimal, Double, Single, Int16, Int32, Int64, UInt16, UInt32, UInt64, SByte= 0
  • Boolean = False
  • String = ""
  • Char = '\0'
  • DateTime = DateTime.MinValue

指定データ型が数値型の場合、0～9、-、 小数点以外の文字を削除して変換します。論理値はTrue=1、False=0と変換します。この変換を行なった結果、「-」一字など、数値として解釈不能な値の際はNull値を取得した場合と同様の挙動を示します。

数値型以外のフィールドで、指定データ型に変換できないデータの場合、データ取得エラーとしてExceptionが発生します。

[VB.NET]
Public Function GetDataデータ型(ByVal contName As String) As Object
Public Function GetDataデータ型(ByVal contName As String, ByVal row As Integer) As Object

[C#]
public object GetDataデータ型(string contName);
public object GetDataデータ型(string contName, int row);

引数 | 説明
contName | データ取得するコントロール名を設定します
row | 明細エリアのコントロールの場合、明細行番号を指定する必要があります。
戻り値 | メソッドのデータ型に変換した取得データ

使用例

明細行コントロールの単価(TANKA)をDouble型、数量(SURYO)をSingle型に変換してデータ取得。

[VB.NET]

[C#]


LWinForm.GetDataTableメソッド

LForm.GetDataTableメソッド

指定されたDataTableオブジェクトに、フォームのリンクコントロールのデータを保存します。

DataTableオブジェクトのテーブル名が、フォーム制御プロパティのリンクテーブルと一致する場合、

  • DataTableオブジェクトのカラム名と、フィールド制御プロパティのリンクカラム名が一致するコントロールのデータが保存対象になります。明細エリアのコントロールは対象外です。
  • DataTableオブジェクトに、１レコードで保存されます。レコードが存在する場合、データを上書き保存します。

DataTableオブジェクトのテーブル名が、明細エリア制御プロパティのリンクテーブルと一致する場合、

  • DataTableオブジェクトのカラム名と、フィールド制御プロパティのリンクカラム名が一致するコントロールのデータが保存対象になります。明細エリア以外のコントロールは対象外です。
  • 明細エリアの明細行数分のレコードを保存します。ただし、明細エリア制御プロパティの有効判定フィールドのデータが有効でない明細行は保存されません。
  • すでにレコードが存在する場合、それらのレコードは削除します。
  • 引数のrow(明細行番号)を指定した場合、指定した明細行の１レコードのデータを保存します。
[VB.NET]
Public Sub GetDataTable(ByVal dataTable As DataTable)
Public Sub GetDataTable(ByVal dataTable As DataTable, ByVal row As Integer)

[C#]
public void GetDataTable(DataTable dataTable);
public void GetDataTable(DataTable dataTable, int row);

引数 | 説明
dataTable | データを保存するDataTableオブジェクト
row | 明細行エリアの１明細行をデータ保存する場合、明細行番号を引数に使用します。(明細行番号は、１～ｎ) 省略した場合、全明細行が保存対象になります。

使用例

メインテーブルと明細テーブルに、フォームのリンククコントロールのデータを保存します。

[VB.NET]

[C#]


LWinForm.GetDataメソッド

LForm.GetDetailBaseContObj()

  明細行数が増加する際に、新たに配置されるコントロールのプロパティを定義する基準となるコントロールのインスタンスを返します

[VB.NET]
Public Function GetDetailBaseContObj(ByVal contName As String) As Control

[C#]
public Control GetDetailBaseContObj(string contName);

引数 | 説明
contName | 明細フィールド名を設定します
戻り値 | 指定されたフィールドのコントロールのインスタンス値です。

使用例

[VB.NET]

[C#]


LWinForm.GetFormDataメソッド

LForm.GetFormDataメソッド

指定したエリアのコントロールデータを、DataSetオブジェクトとして保存します。
DataSetオブジェクトに含まれるDataTableオブジェクトは、以下のとおりです。

  • 明細エリアを除くコントロールデータを保存する１レコードのDataTable
  • 明細エリアのコントロールデータを保存する明細行数レコードのDataTable
[VB.NET]
Public Function GetFormData() As DataSet
Public Function GetFormData(ParamArray areaNames As String) As DataSet

[C#]
public DataSet GetFormData();
public DataSet GetFormData(params string[] areaNames);

引数 | 説明
areaNames | データ保存するエリア名を設定します。カンマで区切り複数のエリアを設定できます。省略すると、フォーム全体をエリアとして保存します。
戻り値 | データ保存したDataSetオブジェクト

使用例

[VB.NET]

[C#]


LForm.GetWinDbメソッド

  データベース情報名のLWinDbオブジェクトを取得します。

  LWinDbのデータベースアクセスは、最終的にはデータベース制御コンポーネントの同名メソッドを使用してデータベースアクセスします。データベースがリモートにある場合、LWinDbオブジェクトはWebサービスを経由してデータベースアクセスを実行します。

[VB.NET]
Public Function GetWinDb(ByVal dbName As String) As LWinDb

[C#]
public LWinDb GetWinDb(string dbName);

引数 | 説明
dbName | データベース情報の情報名
戻り値 | データベース制御オブジェクト

使用例

メインデータベース情報(dbMain)のデータベース制御オブジェクトを取得

[VB.NET]

    Dim dbMain As LWinDb = LForm.GetWinDb("dbMain")
[C#]


LWinForm.PutDataメソッド

LForm.PutDataメソッド

指定したコントロールに、データを表示します。
配列フィールドのコントロールにデータを表示する場合、配列を表示データに使用できます。

[VB.NET]
Public Sub PutData(ByVal contName As String, ByVal data As Object)
Public Sub PutData(ByVal contName As String, ByVal row As Integer, ByVal data As Object)
Public Sub PutData(ByVal contName As String, ByVal data[] As Object)

[C#]
public void PutData(string contName, object data);
public void PutData(string contName, int row, object data);
public void PutData(string contName, object[] data);

引数 | 説明
contName | コントロール名を設定します
row | 明細エリアのコントロールの場合、明細行番号を指定する必要があります
data | 表示データを設定します。 配列フィールドにデータ表示する場合、配列データを使用できます。

使用例

消費税(SHOZEI_GK)と合計金額(GOUKEI_GK)を表示します。

[VB.NET]

[C#]


LWinForm.PutDataTableメソッド

LForm.PutDataTableメソッド

指定されたDataTableオブジェクトから、フォームのリンクコントロールに、データ表示します。

DataTableオブジェクトのテーブル名が、フォーム制御プロパティのリンクテーブルと一致する場合、

  • DataTableオブジェクトのカラム名と、フィールド制御プロパティのリンクカラム名が一致するコントロールのデータが表示対象になります。

DataTableオブジェクトのテーブル名が、明細エリア制御プロパティのリンクテーブルと一致する場合、

  • DataTableオブジェクトのカラム名と、フィールド制御プロパティのリンクカラム名が一致するコントロールのデータが表示対象になります。
  • DataTableオブジェクトのレコード数分の明細行を表示します。
  • 引数の明細行番号を指定した場合、指定した明細行にデータを表示します。

明細エリアでページ制御する場合（LLL/.net ver2.00以降）

  1. フォームに直接表示せずに、表示データを仮想明細テーブルに保存します。
  2. 表示データを仮想明細テーブルに保存後に、各明細行のエリアイベントを発生させます。（このとき行番号は１を使用します。）
  3. 仮想明細テーブルから先頭ページの明細を表示します。

仮想明細テーブルとは、明細エリアのフィールド名をカラム名とするDataTableオブジェクトです。

[VB.NET]
Public Sub PutDataTable(ByVal dataTable As DataTable)
Public Sub PutDataTable(ByVal dataTable As DataTable, ByVal row As Integer)

[C#]
public void PutDataTable(DataTable dataTable);
public void PutDataTable(DataTable dataTable, int row);

引数 | 説明
dataTable | データ表示するDataTableオブジェクト
row | 明細エリアの１明細行にデータ表示する場合、明細行番号を引数に使用します。 省略した場合、全明細行が表示対象になります。

使用例

メインテーブル(DtMain)と明細テーブル(DtSubs)のデータを表示。

[VB.NET]

[C#]


LWinForm.PutFormDataメソッド

LForm.PutFormDataメソッド

DataSetオブジェクトに保存されているフォームデータを、カラム名と一致するコントロールに表示します。
DataSetオブジェクトに含まれるDataTableオブジェクトは、以下のとおりです。

  • 明細エリアを除くコントロールデータを保存した１レコードのDataTable
  • 明細エリアのコントロールデータを保存した明細行数レコードのDataTable
[VB.NET]
Public Sub PutFormData(ByVal dataSet As DataSet)
Public Sub PutFormData(ByVal dataSet As DataSet, ParamArray areaNames As String)

[C#]
public void PutFormData(DataSet dataSet);
public void PutFormData(DataSet dataSet, params string[] areaNames);

引数 | 説明
dataSet | フォームデータ保存したDataSetオブジェクト
areaNames | この引数を省略した場合、DataSetオブジェクトの全データを表示します。エリア名を設定した場合、DataSetオブジェクトの指定エリアに含まれるコントロールデータを表示します。

使用例

[VB.NET]

[C#]


LWinForm.ReadSqlメソッド

LForm.ReadSqlメソッド

SQL文によるデータベースクエリーを実行します。クエリー結果として、DataTableオブジェクトが戻り値になります。

[VB.NET]
Public Function ReadSql(ByVal tableName As String, ByVal sqlText As String) As DataTable
Public Function ReadSql(ByVal tableName As String, ByVal sqlText As String, ByVal row As Integer) As DataTable
Public Function ReadSql(ByVal dbName As String, ByVal tableName As String, ByVal sqlText As String) As DataTable
Public Function ReadSql(ByVal dbName As String, ByVal tableName As String, ByVal sqlText As String, ByVal row As Integer) As DataTable

[C#]
public DataTable ReadSql(string dbName, string tableName, string sqlText);
public DataTable ReadSql(string dbName, string tableName, string sqlText, int row);

引数 | 説明
dbName | データベース名。省略時は先頭のデータベース情報を使用します。
tableName | 取得するDataTableオブジェクトにつけるテーブル名を設定します。
sqlText | クエリーを実行するSQL文を設定します。SQL文にはフィールド変数を設定することが可能です。 フィールド変数は、{フィールド名} の形式で記述します。
row | SQL文に明細エリアのフィールド変数がある場合、明細行番号を引数に設定します。
戻り値 | クエリーで取得したDataTableオブジェクト

使用例

[VB.NET]

[C#]


LWinForm.ReadTableメソッド

LForm.ReadTableメソッド

  フォーム制御情報に登録したテーブルSQL情報のSQL文で、データベースクエリーを実行します。クエリー結果として、DataTableオブジェクトが戻り値になります。

[VB.NET]
Public Function ReadTable(ByVal tableName As String) As DataTable
Public Function ReadTable(ByVal tableName As String, ByVal row As Integer) As DataTable

[C#]
public DataTable ReadTable(string tableName);
public DataTable ReadTable(string tableName, int row);

引数 | 説明
tableName | テーブルSQL情報のSQL名
row | SQL文に明細エリアのフィールド変数がある場合、明細行番号を引数に設定します。
戻り値 | クエリーで取得したDataTableオブジェクト

使用例

メインテーブル(main)と明細テーブル(subs)をリードし、DataTableオブジェクトに設定

[VB.NET]

[C#]


LForm.ResumeConnectionメソッド

「起動時に自動接続しない」設定によりフォーム起動時の処理が抑制されていたデータベース接続処理を開始します。

[VB.NET]
Public Sub ResumeConnection(ByVal dbName As String)

[C#]
public void ResumeConnection(string dbName);

引数 | 説明
dbName | データベース情報の情報名

使用例

定義済みデータベース接続「DbMain」(データベース種類はMSJETと仮定)の接続先データベースファイルを変更し、接続開始する。
[VB.NET]
    Dim winDb As LWinDb = LForm.GetWinDb("DbMain")
    winDb.ConnectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=;",Path.Combine(Application.StartupPath, "hanbai2.mdb"))
    LForm.ResumeConnection("DbMain")

[C#]
    LWinDb winDb = LForm.GetWinDb("DbMain");
    winDb.ConnectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=;",Path.Combine(Application.StartupPath, "hanbai2.mdb"));
    LForm.ResumeConnection("DbMain");


LWinForm.RowDimメソッド

LForm.RowDimメソッド

明細エリアの明細行数を変更します。
すでに表示されている明細行数よりも増加する場合は、明細行は追加されます。
すでに表示されている明細行数よりも減少する場合は、明細行は削除されます。

[VB.NET]
Public Sub RowDim(ByVal rowName As String, ByVal count As Integer)

[C#]
public void RowDim(string rowName, int count);

引数 | 説明
rowName | 明細エリア名
count | 明細行数

使用例

[VB.NET]

[C#]


LWinForm.RowDeleteメソッド

LForm.RowDeleteメソッド

明細エリアの指定明細行を１行削除します。

[VB.NET]
Public Sub RowDelete(ByVal rowName As String, ByVal row As Integer)

[C#]
public void RowDelete(string rowName, int row);

引数 | 説明
rowName | 明細エリア名
row | 削除する明細行番号

使用例

[VB.NET]


LWinForm.RowInsertメソッド

LForm.RowInsertメソッド

明細エリアの明細行番号に１行挿入します。
明細行番号以降の明細データは１行シフトします。挿入した明細行はクリア表示されます。

[VB.NET]
Public Sub RowInsert(ByVal rowName As String, ByVal row As Integer)

[C#]
public void RowInsert(string rowName, int row);

引数 | 説明
rowName | 明細エリア名
row | 明細行番号

使用例

[VB.NET]

[C#]


LWinForm.RowPopメソッド

LForm.RowPopメソッド

明細エリアの明細データを指定明細行以降を１行ずつ前にシフトします。
最終明細行はクリア表示します。

[VB.NET]
Public Sub RowPop(ByVal rowName As String, ByVal row As Integer)

[C#]
public void RowPop(string rowName, int row);

引数 | 説明
rowName | 明細エリア名
row | 明細行番号

使用例

[VB.NET]

[C#]


LWinForm.RowPushメソッド

LForm.RowPushメソッド

明細エリアの明細データを指定明細行以降を１行ずつ後ろにシフトします。
シフト前の最終明細行のデータは消去され、指定明細行のデータはクリアされます。

[VB.NET]
Public Sub RowPush(ByVal rowName As String, ByVal row As Integer)

[C#]
public void RowPush(string rowName, int row);

引数 | 説明
rowName | 明細エリア名
row | 明細行番号

使用例

[VB.NET]

[C#]


LWinForm.RowSumメソッド

LForm.RowSumメソッド

明細フィールドの合計値を算出します。

[VB.NET]
Public Function RowSum(ByVal fieldName As String) As Object

[C#]
public object RowSum(string fieldName);

引数 | 説明
fieldName | 明細フィールド名
戻り値 | 算出した合計値

使用例

明細行の金額(KINGK)を合算し、小計に保存する。(Double型に変換)

[VB.NET]

[C#]


LForm.ToCSVメソッド

明細エリアの保持データをCSV形式のテキストファイルに出力します。

[VB.NET]
Public Sub ToCSV(ByVal areaName As String, ByVal filePath As String)
Public Sub ToCSV(ByVal areaName As String, ByVal filePath As String, ByVal headerStyle As LCsvHeaderStyle, ByVal quoteStyle As LCsvQuoteStyle, ByVal formatStyle As LCsvFormatStyle)
[C#]
public void ToCSV(string areaName, string filePath);
public void ToCSV(string areaName, string filePath,LCsvHeaderStyle headerStyle , LCsvQuoteStyle quoteStyle,LCsvFormatStyle formatStyle);
引数 | 説明
areaName | CSVとして出力する対象となる明細エリア名を指定します。明細エリア以外を指定した場合はエラーが発生します
filePath | 出力先CSVファイルのパスを指定します
headerStyle 見出しの出力有無、および出力内容を指定します
  • NoHeader
    ヘッダー出力を行いません
  • FieldName
    LLL/.netで定義したフィールド名をヘッダーとして出力します(デフォルト)
  • FieldCaption
    LLL/.netでフィールドに対して定義した見出し文字列をヘッダーとして使用します。定義されていない場合はFieldNameと同様フィールド名を使用します。
quoteStyle 出力データを二重引用符(「"」)で括るか否かを指定します
  • NoQuote
    二重引用符で括りません。
  • QuoteString
    文字列型として定義されているフィールドデータの出力のみ二重引用符で括ります(デフォルト)
  • QuoteAll
    すべての出力を二重引用符で括ります
※二重引用符で括る場合、出力データに含まれる二重引用符は二重引用符を2つ連続して出力します。
formatStyle 数値、日付データの書式を整形するか否かを指定します
  • NoFormat
    書式整形を行わず、内部保持しているデータをそのまま文字列化して出力します(デフォルト)
  • WithFormat
    LLL/.netでフィールドに対して指定した表示フォーマットに従って書式整形します。

使用例

明細エリア「LDET」の内容をアプリケーションと同一パスの「LDET.csv」に出力する
※ヘッダーにはフィールド名を出力、文字列データのみ引用符使用、書式整形無し

[VB.NET]
    LForm.ToCSV("LDET", Path.Combine(Application.StartupPath, "LDET.csv"))

[C#]
    LForm.ToCSV("LDET", Path.Combine(Application.StartupPath, "LDET.csv"));

明細エリア「LDET」の内容をアプリケーションと同一パスの「LDET.csv」に出力する
※ヘッダー出力無し、全データ引用符使用、書式整形あり

[VB.NET]
    LForm.ToCSV("LDET", Path.Combine(Application.StartupPath, "LDET.csv"), LCsvHeaderStyle.NoHeader, LCsvQuoteStyle.QuoteAll, LCsvHeaderStyle.WithFormat)

[C#]
    LForm.ToCSV("LDET", Path.Combine(Application.StartupPath, "LDET.csv"), LCsvHeaderStyle.NoHeader, LCsvQuoteStyle.QuoteAll, LCsvHeaderStyle.WithFormat);


LWinForm.UpdateTableメソッド

LForm.UpdateTableメソッド

  フォーム制御情報のテーブルSQL情報で取得したDataTableオブジェクトに対する変更内容をデータベース更新します。

  • このメソッドを実行する前に、LForm.GetDataTableメソッドや、DataTableのデータ操作メソッドを使用してDataTableオブジェクトに対する変更を実施しておく必要があります。
  • 複数のDataTableオブジェクトを引数にした場合、ひとつのトランザクションとして更新します。
[VB.NET]
Public Sub UpdateTable(ParamArray tables As DataTable)

[C#]
public void UpdateTable(params DataTable[] tables);

引数 | 説明
tables | テーブルSQL情報で取得したDataTableオブジェクト。複数設定可能。

使用例

メインテーブル(main)と明細テーブル(subs)の更新データをデータベースに更新。

[VB.NET]

[C#]


LWinForm.VisibleOffメソッド

LForm.VisibleOffメソッド

  指定されたエリアまたはコントロールを非表示にします。

[VB.NET]
Public Sub VisibleOff(ByVal contName As String)
Public Sub VisibleOff(ByVal contName As String, ByVal row As Integer)

[C#]
public void VisibleOff(string contName);
public void VisibleOff(string contName, int row);

引数 | 説明
contName | 非表示にするエリア名、またはコントロール名を設定します。
row | 明細エリアまたは、明細エリアのコントロールを非表示にする場合、明細行番号を指定できます。

使用例

リードボタン(cmd_READ)を表示、ＯＫボタン(cmd_OK)と取消ボタン(cmd_CAN)を非表示にします。

[VB.NET]

[C#]


LWinForm.VisibleOnメソッド

LForm.VisibleOnメソッド

  指定されたエリアまたはコントロールを表示します。

[VB.NET]
Public Sub VisibleOn(ByVal contName As String)
Public Sub VisibleOn(ByVal contName As String, ByVal row As Integer)

[C#]
public void VisibleOn(string contName);
public void VisibleOn(string contName, int row);

引数 | 説明
contName | 表示するエリア名、またはコントロール名を設定します。
row | 明細エリアまたは、明細エリアのコントロールを表示する場合、明細行番号を指定できます。

使用例

リードボタン(cmd_READ)を表示、ＯＫボタン(cmd_OK)と取消ボタン(cmd_CAN)を非表示にします。

[VB.NET]

[C#]


データベース制御の説明

データベース制御コンポーネントの概要

データベース制御コンポーネントは、データベースアクセスに使用します。データベース制御コンポーネントのデータベース制御オブジェクト(LDbMain)には、以下のプロパティとメソッドがあります。

データベース制御をオウンコーディングする場合は、「データベース制御のプログラミング」を参照してください。

データベース制御オブジェクト(LDbMain)

プロパティ | 説明
DatabaseKind データベース種類（文字列）
  • "MSJET"： Microsoft Access（JETデータベース）
  • "MSSQL"： Microsoft SQL Server
  • "ORACLE"： Oracle
ConnectionString | データベース接続文字列
メソッド | 説明
コネクション
Open | データベースコネクションをオープン
Close | データベースコネクションをクローズ
トランザクション
BeginTransaction | トランザクション開始
Commit | トランザクション完了
RollBack | トランザクション取消
データ取得
ReadTable | SQL文でデータベースをクエリーし、DataTableオブジェクトで戻します。
ReadRowRef | 明細行の参照テーブルを一括リードし、DataTableオブジェクトで戻します。(内部使用)
データ更新
UpdateTable | DataTableオブジェクトの変更内容をデータベースに更新します。
ExecuteNonQuery | クエリー以外のUPDATE, INSERT, DELETE等のテーブル操作コマンドを実行します。


LWinDb.BeginTransactionメソッド

BeginTransactionメソッド

  データベースのトランザクションを開始します。

[VB.NET]
Public Sub BeginTransaction()

[C#]
public void BeginTransaction();

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlConnection->OleDbConnectionになります。

  1. SqlConnectionオブジェクトのBeginTransactionメソッドを使用してトランザクションを開始。
    SqlConnection.BeginTransaction()


LWinDb.Closeメソッド

Closeメソッド

  データベースコネクションをクローズします。

[VB.NET]
Public Sub Close()

[C#]
public void Close();

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlConnection->OleDbConnectionになります。

  1. SqlConnectionオブジェクトのCloseメソッドを使用してクローズ。
    SqlConnection.Close()


LWinDb.Commitメソッド

Commitメソッド

  データベースのトランザクションを完了します。

[VB.NET]
Public Sub Commit()

[C#]
public void Commit();

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlConnection->OleDbConnectionになります。

  1. SqlConnectionオブジェクトのCommitメソッドを使用してトランザクションを完了。
    SqlConnection.Commit()


LWinDb.ExecuteNonQueryメソッド

ExecuteNonQueryメソッド

  クエリー以外のUPDATE, INSERT, DELETE等のテーブル操作コマンドを実行します。

[VB.NET]
Public Function ExecuteNonQuery(ByVal sql As String) As Integer

[C#]
public int ExecuteNonQuery(string sql);

引数 | 説明
sql | テーブル操作コマンドを含むSQL文
戻り値 | SQLの実行で影響を受けたレコード数

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlCommand->OleDbCommandになります。

  1. SQL文からSqlCommandオブジェクトを作成
  2. SqlCommandオブジェクトのExecuteNonQueryメソッドを使用してデータベース更新。
    SqlCommand.ExecuteNonQuery()


LWinDb.Openメソッド

Openメソッド

  データベース情報の接続文字列で、データベースコネクションをオープンします。

[VB.NET]
Public Sub Open()

[C#]
public void Open();

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlConnection->OleDbConnectionになります。

  1. データベース情報の接続文字列からSqlConnectionオブジェクトを作成
  2. SqlConnectionオブジェクトのOpenメソッドを使用してオープン。
    SqlConnection.Open()


LWinDb.ReadTableメソッド

ReadTableメソッド

  フォーム制御情報に登録したテーブルSQL情報のSQL文で、データベースクエリーを実行します。クエリー結果として、DataTableオブジェクトが戻り値になります。

[VB.NET]
Public Function ReadTable(ByVal tableName As String, ByVal sql As String) As DataTable
Public Function ReadTable(ByVal tableName As String, ByVal sql As String, ByVal startRecord As Integer, ByVal maxRecords As Integer) As DataTable

[C#]
public DataTable ReadTable(string tableName, string sql);
public DataTable ReadTable(string tableName, string sql, int startRecord, int maxRecords);

引数 | 説明
tableName | DataTableオブジェクトのテーブル名
sql | データベースクエリーのSQL文
startRecord | 取得を開始する、0 から始まるレコード番号。
maxRecords | 取得するレコードの最大数。
戻り値 | クエリーで取得したDataTableオブジェクト

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlDataAdapter->OleDbDataAdapterになります。

  1. SQL文からSqlDataAdapterオブジェクトを作成。
  2. SqlDataAdapterオブジェクトのFillメソッドを使用してデータベースアクセス。
    SqlDataAdapter.Fill (DataSet, startRecord, maxRecords, tableName)
  3. DataSetオブジェクトのDataTableオブジェクトを戻り値に設定。


LWinDb.Rollbackメソッド

Rollbackメソッド

  データベースのトランザクションを取消します。

[VB.NET]
Public Sub Rollback()

[C#]
public void Rollback();

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlConnection->OleDbConnectionになります。

  1. SqlConnectionオブジェクトのRollbackメソッドを使用してトランザクションを取消。
    SqlConnection.Rollback()


LWinDb.UpdateTableメソッド

UpdateTableメソッド

  DataTableオブジェクトに対する変更内容をデータベース更新します。

  • DataTableオブジェクトは、ReadTableメソッドでリードしたオブジェクトを使用します。
  • DataTableのデータ操作メソッドを使用してDataTableオブジェクトの変更を実施しておきます。
  • 複数のDataTableオブジェクトを引数にした場合、ひとつのトランザクションとして更新します。
[VB.NET]
Public Sub UpdateTable(ParamArray tables As DataTable)

[C#]
public void UpdateTable(params DataTable[] tables);

引数 | 説明
tables | データベース更新するDataTableオブジェクト。複数設定可能。

データベースアクセス

MS-SQL Serverの場合の例で、データベースアクセス手順を記述します。
MS-JETやOracleの場合、SqlDataAdapter->OleDbDataAdapter、SqlCommandBuilder->OleDbCommandBuilderになります。

  1. トランザクション開始
  2. DataTableオブジェクトを作成したSELECT文から、SqlDataAdapterオブジェクトを作成
  3. SqlDataAdapterオブジェクトに、SqlCommandBuilderオブジェクトを使用して更新コマンドを設定
  4. SqlDataAdapterオブジェクトのUpdateメソッドを使用してデータベース更新。
    SqlDataAdapter.Update(DataTable)
  5. DataTableオブジェクトの個数回、2～4の処理を繰り返す。
  6. トランザクション終了


フォーム制御イベントの説明

帳票フォームクラスのイベント

  帳票フォームクラスのイベントエントリの引数としてLPrnEventArgsクラスのオブジェクトが渡されます。このオブジェクトを参照することで、イベント種類やイベント発生個所をなどを特定することが可能です。

LPrnEventArgsクラス

メンバ | 説明
Kind | イベント種類(LPrnEventKind列挙体)。
Name イベントのグループ名またはレコード名。
  • グループ名の"*" は入力明細全体の開始または終了です。
  • レコード名の"_main"は固定フィールド、"_subs"は明細レコードです。
Cancel | イベント種類（RecordBefore）でTrueをセットすると、該当レコード出力をキャンセルすることができます。

LPrnEventKind列挙体

メンバ名 | 説明
PrintOpen プリント開始。(Name="")
  • プリント開始処理のあとに発生します。
PrintClose プリント終了。(Name="")
  • プリント終了処理のあとに発生します。
GroupStart グループ開始。（Name=グループ名、Name=*は明細全体の開始です。）
  • 入力明細データのグループデータ値が変化して最初に発生します。
  • 「明細グループ定義」で設定した「開始時の出力レコード」は、このイベント後に編集出力されます。ただし、改ページ(@NP)の指定がある場合は改ページ済みです。
GroupEnd グループ終了。（Name=グループ名、Name=*は明細全体の終了です。）
  • 入力明細データのグループデータ値が変化した場合に発生します。
  • 「明細グループ定義」で設定した「終了時の出力レコード」は、このイベント後に編集出力されます。
Detail 明細処理。（Name=_subs）
  • 入力明細データの明細レコードごとに発生します。
  • このイベントの後に出力明細レコードが出力されます。
  • 出力明細レコードのフィールドデータは、「出力文字列」、「リンクカラム」、「テーブル参照」のパラメータ順番で編集済みです。
RecordBefore レコード出力前に発生します。（Name=レコード名）
  • 出力レコードのフィールドデータは、「出力文字列」、「リンクカラム」、「テーブル参照」のパラメータ順番で編集済みです。
  • Cancel=True を設定するとレコード出力をキャンセルします。
RecordAfter | レコード出力後に発生します。（Name=レコード名）
PageStart ページ開始。
  • 改ページ後に発生します。
  • 改ページ後の固定フィールド値は、最初の明細レコード出力前に編集出力されます。
PageEnd ページ終了。
  • 改ページ前に発生します。
  • ページフィールドにデータが設定されてない場合は、ページ出力しません。この場合、このイベントも発生しません。
PageOutput ページプリント出力。（Name=ページ番号）
  • 編集済みページデータから、帳票フォームにデータ設定後に発生します。
  • こにイベント後に、指定した出力先（プリンタ・画面・ファイル）に出力します。


帳票制御メソッドの説明

帳票フォームクラスのプロパティ

  帳票フォームクラスは、下記の帳票制御プロパティを使用することができます。

プロパティ一覧

プロパティ | 説明
FormNumber 編集中の帳票フォーム番号
  • 0=メインフォーム、1=継続フォーム）
PageNumber 編集中のページ番号（１～）
  • 帳票クラスのイベント処理でPageNumberを設定することで、@PAGEで表示するページ番号を変更することができます。
LineNumber | 編集中の明細行番号（１～）
DetailRow | 編集中の明細テーブルのDataRowオブジェクト
CoReport 下記オブジェクトを参照することができます。
  • CoDraw：CoReportsのCrDrawオブジェクト
  • CoForm：CoReportsのCrFormオブジェクト
  • PrinterName：CoReportsのプリンタ名(CoDraw.Printer.PrinterName)
  • PageErrors：下記のPageErrorsと同じものです。
PageErrors ページ出力中にCoReportsのデータ設定エラーがあった場合に、エラー情報をPageErrors(ArrayList)に保存します。エラー情報は下記データをタブ文字で接続した文字列です。プリントオープンで初期化され、プリントクローズ後も保持されます。
  • CoReportsエラーメッセージ
  • Page=ページ番号
  • field=フィールド名
  • row=明細行番号
  • data=データ文字列


帳票制御メソッドの説明

帳票フォームクラスのメソッド

  帳票フォームクラスは、下記の帳票制御メソッドを使用することができます。

メソッド一覧

メソッド | 説明
PrintOut | 簡単にプリントアウトを実行します。
PrintOpen | プリント処理を開始。
PrintClose | 編集済みのプリントデータを出力し、プリント処理を終了。
PrintData | 画面データやＳＱＬデータを取得後に、プリントデータを編集します。
PrintTable | 引数の編集用データからプリントデータを編集します。
PrntPages | 編集済みのプリントデータを出力します。
PurgePages | 編集済みのプリントデータを破棄します。
PurgeData | 編集中のページデータを初期化します。
NewPage | 改ページ。
LineFeed | 改行。
PrintRecord | 指定したレコードを出力。
SetData | 指定したフィールドにデータ設定。
SetDataArray | 指定した配列フィールドに配列データから設定。
GetData | 指定したフィールドのデータ取得。
GetDataArray | 指定した配列フィールドのデータを配列データとして取得。
AddSubForm | サブ帳票オブジェクトを登録。
GetSubForm | サブ帳票オブジェクトを取得。


LWinForm.GetDataメソッド

PrintOut()

   最も簡単に帳票出力することができるメソッドです。このメソッドは 内部で以下のメソッドを連続して実行します。

  1. PrintOpenメソッドを実行。（引数にプリントモードを設定します）
  2. PrintDataメソッドを実行。
  3. PrintCloseメソッドを実行。

[VB.NET]
Public Function PrintOut(ByVal printMode As LPrnMode) As Boolean
Public Function PrintOut(ByVal printMode As LPrnMode, noProgress As Boolean) As Boolean

[C#]
public bool PrintOut(LPrnMode printMode);
public bool PrintOut(LPrnMode printMode, bool noProgress);

引数 | 説明
printMode プリント出力モードをLPrnModeの値で設定します。
  • LPrnMode.Print：プリントデータをプリンタ出力します。
  • LPrnMode.Preview：プリントデータを「印刷プレビュー画面」に表示します。
  • LPrnMode.File：シーオーリポーツのドキュメントファイル形式で出力します。
  • LPrnMode.PDF：PDF形式で出力します。
noProgress 出力処理中に進行状況表示ダイアログの表示を表示するか否かを設定します
  • True：ダイアログを表示しません。そのため、出力中のキャンセルもできません
  • False：ダイアログを表示します。既定ではこちらの挙動になります
戻り値 | True=キャンセル（現在は、常にfalseが戻り値です）

使用例

フォームのボタンをクリックして納品書を発行します。

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PrintOpen()

  プリント出力の開始処理を実行します。プリンタ出力を開始する場合は、このメソッドを最初に実行します。

  1. プリント出力モードを初期設定
  2. 帳票フォームファイルをオープン。

[VB.NET]
Public Function PrintOpen(ByVal printMode As LPrnMode) As Boolean
Public Function PrintOpen(ByVal printMode As LPrnMode, noProgress As Boolean) As Boolean

[C#]
public bool PrintOpen(LPrnMode printMode);
public bool PrintOpen(LPrnMode printMode, bool noProgress);

引数 | 説明
printMode プリント出力モードをLPrnModeの値で設定します。
  • LPrnMode.Print：プリントデータをプリンタ出力します。
  • LPrnMode.Preview：プリントデータを「印刷プレビュー画面」に表示します。
  • LPrnMode.File：シーオーリポーツのドキュメントファイル形式で出力します。
  • LPrnMode.PDF：PDF形式で出力します。
noProgress 出力処理中に進行状況表示ダイアログの表示を表示するか否かを設定します
  • True：ダイアログを表示しません。そのため、出力中のキャンセルもできません
  • False：ダイアログを表示します。既定ではこちらの挙動になります
戻り値 | True=キャンセル（現在は、常にfalseが戻り値です）

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PrintClose()

編集済みのプリントデータを出力し、プリント終了処理をします。

  1. PrintPagesメソッドを実行し、編集済みのプリントデータを出力します。
  2. 帳票フォームファイルをクローズします。

[VB.NET]
Public Function PrintClose() As Boolean

[C#]
public bool PrintClose();

引数 | 説明
戻り値 | True=キャンセル（プリンタ出力エラーが発生）

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PrintData()

親画面フォームのデータ取得や、明細テーブル用のＳＱＬ文を実行して編集用データを作成後に、PrintTableメソッドを実行してプリント出力します。
  1. 親画面フォームのフィールドデータをGetFormDataメソッドを実行し、DataSetとして取得 します。
  2. 明細データのSQL文の設定がある場合、そのSQL文を実行し、DataTableを取得します。
  3. 親画面フォームのDataSetと明細データのDataTableを引数にしてPrintTableメソッドを実行し 、プリントデータを編集します。

[VB.NET]
Public Function PrintData() As Boolean

[C#]
public bool PrintData();

引数 | 説明
戻り値 | True=キャンセル（現在は、常にfalseが戻り値です）

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PrintTable()

  引数の編集用データからプリントデータを編集します。引数の編集用データには、親画面フォームや明細テーブル等のデータをDataSetとDataTableで設定します。

  1. 引数の編集用データから、帳票フォーム情報に登録した明細テーブル名のDataTableを取得します。
  2. 明細テーブルがある場合、DataRowを順次取得して、プリントデータを編集します。

[VB.NET]
Public Function PrintTable(ByVal ParamArray dts() As DataTable) As Boolean
Public Function PrintTable(ByVal ds As DataSet, ByVal ParamArray dts() As DataTable) As Boolean

[C#]
public bool PrintTable(params DataTable[] dts);
public bool PrintTable(DataSet ds, params DataTable[] dts);

引数 | 説明
ds | DataSet
dts() | DataTable(複数可)
戻り値 | True=キャンセル

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PrintRecord()

  編集中ページの明細フィールドに、指定した帳票レコードを出力します。

[VB.NET]
Public Sub PrintRecord()
Public Sub PrintRecord(ByVal recordName As String)

[C#]
public void PrintRecord();
public void PrintRecord(string recordName);

引数 | 説明
recordName | 帳票レコード名を設定します。帳票レコード名を省略した場合、明細レコードになります。

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PrintPages()

  編集済みページデータを指定した出力先に出力します。

  • PrintCloseメソッド 実行時に編集済みページがある場合、このメソッドが自動実行されます。
  • PrintCloseメソッド実行前に編集済みページを出力したい場合、このメソッドを実行してください。
  • 編集済みデータを帳票フォームに設定するときにデータエラーがあった場合、帳票フォームのPageErrors(ArrayList)プロパティにエラー情報が蓄積されます。

[VB.NET]
Public Function PrintPages() As Boolean

[C#]
public bool PrintPages();

引数 | 説明
戻り値 | True=プリント出力をキャンセルした。

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PurgePages()

  編集済みページデータを破棄します。

[VB.NET]
Public Sub PurgePages()

[C#]
public void PurgePages();

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

PurgeData()

  編集中のページデータを初期化します。

[VB.NET]
Public Sub PurgeData()

[C#]
public void PurgeData();

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

GetData()

  編集中ページのフィールド名の文字列データを取得します。

  • 明細フィールドの場合、明細行番号（１～）を指定します。
    明細行番号＝0の場合、現在編集中の明細行データを取得します。
  • 編集中ページが継続フォームでフィールドが存在しない場合、メインフォームの編集ページに戻ってデータ取得します。
  • 戻り値の文字列データを演算等に使用する場合は、各データ型のParseメソッドを使用して変換する必要があります。

    [VB.NET]
    Public Function GetData(ByVal fieldName As String) As String
    Public Function GetData(ByVal fieldName As String, ByVal row As Integer) As String

    [C#]
    public string GetData(string fieldName);
    public string GetData(string fieldName, int row);

引数 | 説明
fieldName | フィールド名を設定します
row | 明細フィールドの場合、明細行番号（１～）を指定します。明細フィールドで0を引数とした場合、現在編集中の明細行データを取得します。
戻り値 | String型のデータ。正常に取得できない場合はNullです。

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

GetDataArray()

  編集中ページの配列フィールドの文字列データを取得します。

  • 明細フィールドの場合、明細行番号（１～）を指定します。
    明細行番号＝0の場合、現在編集中の明細行データを取得します。
  • 編集中ページが継続フォームでフィールドが存在しない場合、メインフォームの編集ページに戻ってデータ取得します。

[VB.NET]
Public Function GetDataArray(ByVal fieldName As String) As String()
Public Function GetDataArray(ByVal fieldName As String, ByVal row As Integer)
As String()

[C#]
public string[] GetDataArray(string fieldName);
public string[] GetDataArray(string fieldName, int row);

引数 | 説明
fieldName | 配列フィールド名を設定します
row | 明細フィールドの場合、明細行番号（１～）を指定します。明細フィールドで0を引数とした場合、現在編集中の明細行データを取得します。
戻り値 | String型の配列データ。正常に取得できない場合はNullです。

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

ＳetData()

編集中ページのフィールドにデータを設定します。

  • 明細フィールドの場合、明細行番号（１～）を指定します。
    明細行番号＝0の場合、現在編集中の明細行にデータを設定します。
  • 編集中ページが継続フォームで指定フィールドが存在しない場合、メインフォームの編集ページに戻って、データ設定します。

[VB.NET]
Public Function SetData(ByVal fieldName As String, ByVal data as Object) As Boolean
Public Function SetData(ByVal fieldName As String, ByVal row As Integer, ByVal data as Object) As Boolean

[C#]
public bool SetData(string fieldName, object data);
public bool SetData(string fieldName, int row, object data);

引数 | 説明
fieldName | フィールド名を設定します
row | 明細フィールドの場合、明細行番号（１～）を指定します。明細フィールドで0を引数とした場合、現在編集中の明細行にデータを設定します。
data | 編集出力するデータ。
戻り値 | True：正常 False:データ設定不可

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

ＳetDataArray()

編集中ページの配列フィールドに配列データを設定します。

  • 明細フィールドの場合、明細行番号（１～）を指定します。
    明細行番号＝0の場合、現在編集中の明細行にデータ設定します。
  • 編集中ページが継続フォームで指定フィールドが存在しない場合、メインフォームの編集ページに戻って、データ設定します。

[VB.NET]
Public Function SetDataArray(ByVal fieldName As String, ByVal data as
Object()) As
Boolean
Public Function SetDataArray(ByVal fieldName As String, ByVal row As Integer,
ByVal data as Object()) As Boolean

[C#]
public bool SetData(string fieldName, object[] data);
public bool SetData(string fieldName, int row, object[] data);
引数 | 説明
fieldName | 配列フィールド名を設定します
row | 明細フィールドの場合、明細行番号（１～）を指定します。明細フィールドで0を引数とした場合、現在編集中の明細行にデータを設定します。
data | 編集出力する配列データ。
戻り値 | True：正常 False：データ設定不可

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

NewPage()

改ページ処理をします。

  1. 編集用ページデータを編集済みページデータとして追加します。
    ただし、ページデータのフィールドにデータが設定されてない場合は追加しません。
  2. 新規に編集用ページデータを初期設定します。

[VB.NET]
Public Sub NewPage()
Public Sub NewPage(ByVal formNumber Integer)

[C#]
public void NewPage();
public void NewPage(int formNumber);

引数 説明
formNumber 新規ページのフォーム番号を設定します。
  • 0=メインフォーム
  • 1=継続フォーム
  • 省略した場合はメインフォームです。

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

LineFeed()

  編集中の明細フィールドの明細行番号を進めます。

  • 明細行番号がページ明細行数をオーバーしたときは改ページします。
  • 継続フォームの設定がある場合は、改ページで継続フォームが使用されます。

[VB.NET]
Public Sub LineFeed()
Public Sub LineFeed(ByVal feedCount Integer)

[C#]
public void LineFeed();
public void LineFeed(int feedCount);

引数 | 説明
feedCount | 改行数を設定します。省略した場合の改行数は１行です。

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

AddSubForm()

     帳票オブジェクトのプリントデータに、別の帳票オブジェクトのプリントデータを追加したい場合に使用します。このメソッドを実行する帳票オブジェクトをメイン帳票オブジェクト、追加する帳票オブジェクトをサブ帳票オブジェクトと呼びます。
    サブ帳票オブジェクトのメソッドを実行して出力されるプリントページは、メイン帳票オブジェクトのプリントデータとして作成されます。

  • メイン帳票オブジェクトのPrintOpenメソッドの前に、必ず実行しておく必要があります。
  • メイン帳票オブジェクトのPrintOpen・PrintCloseメソッドで、サブ帳票オブジェクトもオープン・クローズされます。
  • サブ帳票オブジェクトを取得する場合は、GetSubFormメソッドを使用します。

[VB.NET]
Public Sub AddSubForm(ByVal subForm As LPrnForm)

[C#]
public void AddSubForm(LPrnForm subForm);

引数 | 説明
subForm | サブ帳票オブジェクトにする帳票オブジェクトを設定します。
戻り値 | なし

使用例

[VB.NET]

[C#]


LWinForm.GetDataメソッド

GetSubForm()

    メイン帳票オブジェクトのイベント処理の中で、サブ帳票オブジェクトを取得してプリントデータを出力する場合に使用します。
    サブ帳票オブジェクトのメソッドを実行して出力されるページデータは、メイン帳票オブジェクトのプリントデータに追加されます。

  • サブ帳票オブジェクトは、メイン帳票オブジェクトのAddSubFormメソッドで登録しておく必要があります。

[VB.NET]
Public Function GetSubForm(ByVal formID As String) As LPrnForm

[C#]
public LPrnForm GetSubForm(string formID);

引数 | 説明
formID | 取得する帳票クラスの帳票フォーム情報にあるSetFormメソッドの第1引数（フォームＩＤ）を使用します。 SetForm("<formID>", "<フォームパラメータ>")
戻り値 | なし

使用例

[VB.NET]

[C#]


フォーム制御の概要

印刷プレビュー

  下図は、印刷プレビューの表示例です。ツールバーの操作で、表示倍率の変更、表示ページの移動が可能です。

「印刷」ボタンをクリックすると、下図ダイアログが表示されます。印刷範囲を指定してプリンタ出力することが可能です。

印刷範囲で「すべてのページ」を選択した場合、プリントモードがプリンタ出力に変更され、プレビュー表示は終了します。


辞書項目の追加

  他のデータベース情報の辞書項目を追加する場合に表示される画面です。分類ごとにツリー表示されます。辞書項目は分類全体または項目ごとに登録可能です。すでに登録済みの項目名は、警告が表示され登録できません。


代用拡張子の設定

    配布対象ファイルがＷｅｂサーバーでスクリプトファイル等と判断される場合、正常にファイルを配布することができません。 このようなファイルを配布する場合、拡張子を変更した代用ファイルを複写作成することで配布することができます。 配布された代用ファイルはクライアント側で元の拡張子ファイル名に戻されます。 この機能を使用する場合、この画面で代用ファイルの拡張子とスクリプトファイル等の拡張子をそれぞれ設定する必要があります。

  ダウンロードリスト保存時に該当する拡張子の配布ファイルが存在する場合、自動的に代用ファイルが作成されます。 代用ファイル名は、(ファイル名)_(拡張子).(代用拡張子)　となります。　（例：abcdef.asp ---> abcdef_asp.lsub）

  注意事項として、代用ファイルのオリジナルの配布ファイルを変更したときは、必ずダウンロードリストの保存を実施し、代用ファイルも更新する必要があります。

項目 | 説明
代用拡張子 | ファイル配布に使用する代用拡張子を設定します。空白にすると代用ファイルによるプログラム配布をしません。
代用拡張子を使用する拡張子 | スクリプトファイルなどの拡張子をカンマ(,)で区切って設定します。
[登録] | 登録。
[取消]] | 取消。


配布対象ファイルのプロパティ

配布対象ファイルのコメントやオプションを設定する画面です。

項目 | 説明
配布対象ファイル | クライアントに配布するファイル。
説明 | 配布対象ファイルのコメント。(省略可能)
ファイルの上書き禁止 | クライアントにファイルが存在する場合、ファイルの上書きを禁止します。
[登録] | 登録。
[取消]] | 取消。


エディタのメイン画面

  ダウンロードリストの全体情報と配布ファイルの明細を設定する編集画面です。

  ダウンロードリストを新規に作成する場合、配布ディレクトリにあるファイルが配布対象ファイルとして初期表示されます。これは、"PAT\LcmEditor.DEF"ファイルの[Files]セクションに登録されたファイルが対象です。また、配布ディレクトリが「LLL/.net 開発キット」の開発ディレクトリの場合、フォルダー名、ユーザ名、システム名、実行ファイルのプログラム名などが初期表示されます。

項目 | 説明
システム登録情報 |
配布ディレクトリ | 配布対象のディレクトリを表示します。
ダウンロードリスト名 | 編集中のダウンロードリスト名を表示します。
URLアドレス | ホームページのリンクからシステム登録する場合、ダウンロードリストへのディレクトリパスをURLアドレス形式で設定しておく必要があります。
フォルダー名 | システム登録するフォルダー名。「LLL/.netクライアントマネージャ」のシステム保存ディレクトリのサブディレクトリとして使用されます。省略時は、システム名が代用されます。
ユーザ名 | システムのユーザ名。
システム名 | システムのシステム名。デスクトップアイコン名に使用されます。必須設定項目です。
デスクトップアイコン | クライアントPCのデスクトップに作成するアイコンファイルを設定します。アイコンファイルは、配布対象ファイルとして登録されている必要があります。
開始プログラム | システム起動時に開始するプログラムファイルを設定します。プログラムファイルは、配布対象ファイルとして登録されている必要があります。
オフライン実行可能 | チェック状態にすると、システム起動時にインターネットに接続できなくても、開始プログラムを起動します。
配布ログ出力 | チェック状態にすると、プログラム配布状況のログ出力が可能になります。詳細は後述を参照して下さい。
配布対象ファイルの明細 |
配布対象ファイル名 | 配布対象ファイルのファイル名です。配布ディレクトリ下のサブディレクトリのファイルも含むことができます。
説明 | プロパティで設定したコメントを表示します。
オプション | プロパティで設定したオプションを表示します。上書き禁止モードなど

プログラム配布状況のログ出力

ログファイルはWeb公開ディレクトリのサブディレクトリ(weblog)に、lnxxxxxx.log （xxxxxx=yyMMdd）のファイル名で作成されます。下記はログ出力に必要なサーバーやクライアントの環境です。

  • Web公開ディレクトリがスマートクライアントとしてWebサービスを使用可能な状態に設定されている。
  • Web公開ディレクトリのプロパティの「セキュリティ設定」で、Webサービスユーザー( ”ASPNET”, "Authenticated Users"等）に「書き込み」許可が与えられている。
  • 「クライアントマネージャ」のバージョンが1.50以降である。

ログデータの形式

yyyy/MM/dd hh:mm:ss type=download files=n user=ユーザ名 host=ホスト名 ip=IPアドレス client=1.50 error=n

  filesはクライアントに配布されたファイル数です。files=-1の場合、新規にシステム全体を配布したことを示します。files=0の場合、クライアントからのシステムログイン時にプログラム配布更新がなかったことを示します。errorは配布が正常にできなかったファイル数で、正常に配布完了した場合は表示されません。

（例）

2004/11/20 18:35:44 type=download files=-1 user=inoue host=MARS ip=192.168.10.24 client=1.50
2004/11/20 18:37:00 type=download files=7 user=inoue host=MARS ip=192.168.10.24 client=1.50
2004/11/20 18:37:04 type=download files=0 user=inoue host=MARS ip=192.168.10.24 client=1.50 error=1


メニューとツールバー

  ダウンロードリストエディタのメニューとツールバーコマンドの操作説明です。

メニュー・ツールバー | 説明
ディレクトリ選択 | ディレクトリ選択ダイアログから配布対象のディレクトリを選択します。選択したディレクトリにダウンロードリストが存在する場合、自動的にオープンされます。
ダウンロードリストを新規作成 | 新規作成するダウンロードリスト名をダイアログから入力します。デフォルトとして "download(n).lcm" が設定されます。nは１～９
ダウンロードリストを開く | 作成済みのダウンロードリストをダイアログから選択しオープンします。
ダウンロードリストを保存 | 編集中のダウンロードリストを保存します。
終了 | エディタを終了します。
配布ファイル追加 | 配布対象ファイルをファイルオープンダイアログから選択します。選択したファイルは配布対象ファイルの明細に追加されます。
配布ファイル取消 | 選択中の配布対象ファイルを明細から削除します。
配布ファイルプロパティ | 「配布対象ファイルのプロパティ」を表示します。
アイテムを上移動 | 選択中の配布対象ファイルの明細順番を上移動
アイテムを下移動 | 選択中の配布対象ファイルの明細順番を下移動
代用拡張子の設定 | 「代用拡張子の設定」を表示します。
ヘルプ・ドキュメント | ヘルプドキュメントを表示。
ヘルプ・バージョン | バージョン情報の表示。


ダウンロードリストエディタ

   ダウンロードリストエディタは、プログラム配布機能で使用するダウンロードリストを編集します。ダウンロードリストは拡張子に”.lcm”をもつファイルで、配布システムの全体情報と配布ファイルのリストが登録されます。ダウンロードリストはひとつの配布システムに、必要に応じて複数作成することが可能です。

ダウンロードリストエディタの操作方法は下記の画面説明を参照して下さい。

  • エディタのメイン画面
  • メニュー・ツールバー
  • 配布対象ファイルのプロパティ
  • 代用拡張子の設定


色の選択

文字修飾

帳票フィールドに出力する文字列の修飾を設定します。

項目 | 説明
「太字」 | 太字(Bold)。
「斜体」 | 斜体(Italic)。
「下線」 | 下線(Underline)。
「横倍角」 | 横倍角。
[登録] | 設定を登録。
[取消]] | 設定を取消。


クライアントＰＣの設定

  クライアントＰＣには、「LLL/.netクライアントマネージャ」（以下「クライアントマネージャ」）がインストールされている必要があります。クライアントＰＣに 「クライアントマネージャー」をインストールすると、ダウンロードリストの拡張子（.lcm)と関連付けされ、クライアントＰＣでのシステム登録が可能になります。

  ※クライアントマネージャのインストーラは自動解凍圧縮ファイル "ClientManager\CM_Setup.exe"　に含まれます。このファイルを実行すると、Setup.exe, Setup.ini, LClientSetup.msi の各ファイルが展開されます。

（１）「クライアントマネージャー」のセットアップ

クライアントＰＣに必要な動作環境

  • Windows XP, Windows 2000
  • .NET Framework1.1 がインストールされ、正常に動作するクライアント。

セットアップ手順には以下の２つの方法があります。

  • 「クライアントマネージャー」のインストーラ "ClientManager\Setup.exe" を実行する方法。
  • ホームページのリンクからセットアップする方法。
        Webサーバーのホームページにて、「クライアントマネージャー」のセットアップモジュール（ClientManager\LClientManager.msi）へのリンクを公開しておきます。クライアントＰＣでこのリンクをクリックすると、下記ダイアログが表示されます。このダイアログの[開く]をクリックすると、セットアップが開始されます。

（２）クライアントＰＣでのシステム登録手順

WebサーバーからクライアントＰＣにシステム登録するには以下の方法があります。

  1. ホームページのリンクからシステム登録する方法。
  2. 「クライアントマネージャ」のメニュー操作によるシステム登録。
  3. 「クライアントマネージャ」のコマンドライン起動によるシステム登録。

   クライアントＰＣでのシステム登録が完了すると、デスクトップにシステム起動用のアイコンが作成されます。デスクトップアイコンを作成しない場合は、「クライアントマネージャ」のコマンドライン起動によるシステム起動も可能です。

商品の仕様は予告なく変更になることがあります。


コマンドライン起動によるシステム登録

３．コマンドライン起動によるシステム登録

    「クライアントマネージャ」のコマンドライン起動によるシステム登録を説明します。

（１）ダウンロードリストのURLアドレスを引数にして起動すると、システム未登録の場合にシステム登録されます。

例： （プログラムディレクトリ）\LClientManager.exe http://www.xxxxxx.co.jp/sample/download1.lcm

（２）Webサーバーのアクセスに認証情報が必要な場合、認証情報ダイアログが表示されます。適切な認証情報を入力して下さい。[パスワードを記憶する]をチェックすると次回からは自動的に認証します。

（３）ダウンロードリストが正常に取得できると、保存先のフォルダーを作成の為、下記メッセージが表示されます。このダイアログの[OK]をクリックします。

（４）ダウンロードリストの設定に従い、下記手順でシステム登録されます。

  1. 配布ファイルのダウンロード。
  2. デスクトップアイコンの作成。
  3. 開始プログラムの起動。

（５）登録済みシステムをコマンドライン起動するには、以下の２つの方法があります。この方法によりデスクトップアイコンを使用しないシステム起動が可能になります。

  1. ダウンロードリストのURLアドレスを引数にする。システム未登録の場合にはシステム登録されます。
    例：　（プログラムディレクトリ）\LClientManager.exe http://www.xxxxxx.co.jp/sample/download1.lcm
  2. ダウンロードリストのフォルダー名を引数にする。システム未登録の場合エラーになります。
    例： （プログラムディレクトリ）\LClientManager.exe サンプル

商品の仕様は予告なく変更になることがあります。


メニュー操作によるシステム登録

２．メニュー操作によるシステム登録

「クライアントマネージャー」のメニュー操作でシステム登録する方法を説明します。

（１）メイン画面のメニューから[ファイル][システム登録]を選択すると、登録システムのURL入力画面が表示されます。Webサーバーのダウンロードリスト へのURLアドレスを入力して、[OK]ボタンをクリックします。

（２）Webサーバーのアクセスに認証情報が必要な場合、認証情報ダイアログが表示されます。適切な認証情報を入力して下さい。[パスワードを記憶する]をチェックすると次回からは自動的に認証します。

（３）ダウンロードリストが正常に取得できた場合、ダウンロードリストのフォルダーを確認します。フォルダーを新規作成する場合は、下記メッセージが表示されます。このダイアログの[OK]をクリックします。

[OK]をクリックすると、ダウンロードリストの設定に従い、下記手順でシステム登録します。

  • 配布ファイルのダウンロード。
  • デスクトップアイコンの作成。

（４）システム登録が完了すると、下記画面が表示されます。

商品の仕様は予告なく変更になることがあります。


ホームページによるシステム登録

１．ホームページによるシステム登録

    ホームページに作成したダウンロードリストへのリンクからシステム登録する方法を説明します。

（１）ダウンロードリストのリンクをクリックすると、下記ダイアログが表示されます。このダイアログの[開く]をクリックします。

（２）Webサーバーのアクセスに認証情報が必要な場合、認証情報ダイアログが表示されます。適切な認証情報を入力して下さい。[パスワードを記憶する]をチェックすると次回からは自動的に認証します。

（３）ダウンロードリストに関連付けされた「クライアントマネージャ」が起動します。「クライアントマネージャ」はダウンロードリストのフォルダーを確認します。フォルダーを新規作成する場合は、下記メッセージが表示されます。このダイアログの[OK]をクリックします。

（４）ダウンロードリストの設定に従い、下記手順でシステム登録されます。

  1. 配布ファイルのダウンロード。
  2. デスクトップアイコンの作成。
  3. 開始プログラムの起動。

（注意）クライアントＰＣの環境によっては、うまく動作しないことも考えれます。この場合は、「クライアントマネージャー」の操作でシステム登録してください。

商品の仕様は予告なく変更になることがあります。


プログラム配布機能について

  プログラム配布機能は、Webサーバーに配置したプログラムファイル等を、インターネットを経由してクライアントＰＣに配布します。スタンドアロン、クライアントサーバー、スマートクライアント型の各システムの配布が可能です。

    プログラム配布を実施するには、Webサーバーに配布対象ファイルとダウンロードリストを配置する必要があります。ダウンロードリストの作成には、「ダウンロードリストエディタ」を使用し、配布システムの全体情報と配布ファイルのリストを登録します。そしてダウンロードリストのリンクをホームページに公開しておきます。

    Webサーバーに配置した配布システムをクライアントＰＣにダウンロードする方法は３つあります。（１）ホームページのリンクからシステム登録する方法、（２）「クライアントマネージャ」のメニュー操作による方法、（３）「クライアントマネージャ」のコマンドライン引数による方法です。いずれの場合も、クライアントＰＣには「LLL/.netクライアントマネージャー」をインストールしておく必要があります。Ｗｅｂサーバから取得したダウンロードリストの内容に従って、「クライアントマネージャー」がシステム登録を実施します。

   クライアントＰＣでのシステム登録が完了すると、デスクトップにシステム起動用のアイコンが作成されます。このアイコンをクリックすると、まずWebサーバーに配布対象ファイルに変更がないかチェックします。変更があればWebサーバーからクライアントＰＣにダウンロードします。その後、システムの開始プログラムを実行します。つまり、システム起動時に自動的にシステムを最新状態にアップデートした後に開始プログラムが実行します。

    配布システムがオフライン実行可能な設定で、インターネット接続状態でない場合は、オフライン状態で開始プログラムを実行することも可能です。

デプロイメントツールの詳細については下記の説明を参照して下さい。

（１）ダウンロードリストの作成

（２）Webサーバーの設定

（３）クライアントＰＣの設定


「スマートクライアント型」

「スマートクライアント型」システムとは

  「スマートクライアント型」システムとは、クライアントとサーバ間のデータ交換にXML Webサービスを使用し、クライアントへのプログラム配信機能を実現しているシステムをさします。これまでの「クライアントサーバー型」はLAN環境で運用可能でしたが、インターネットを経由することはできませんでした。この課題を「スマートクライアント型」では、XML-Webサービスを使用することで解決し、データベースアクセスやサーバーコンポーネントをインターネット経由で実行することを可能にしました。プログラム配信機能は、LLL/.netでは「プログラム配布機能」を提供することで実現しています。

  「スマートクライアント型」システムの主な特徴は以下のとおりです。

  • インターネット経由でありながらクライアントサーバーと同様なリッチクライアントを実現しユーザーの操作性を向上します。
  • クライアントPCのプリンタやデータベースなど、クライアントリソースを活用したシステム構築が可能。
  • プログラム配布機能による運用保守コストの軽減。
  • Webサーバーのアクセス回数減による負荷軽減。

  LLL/.netの「スマートクライアント型」システムのコンポーネント関連図です。スマートクライアント型システムの開発方法は、基本的にクライアント・サーバー型と変わりません。データベース情報にWebサービスの設定があれば、LLL/.netで提供するコンポーネントで自動的にXML-Webサービスの処理を実行してデータベースアクセスを実行しますので、特に意識する必要はありません。ただし、複雑なデータベース更新処理などでトランザクションが必要な場合は、セッションの関係上、サーバーコンポーネントを作成してトランザクション処理する必要があります。


サーバーライセンスの登録

スマートクライアントのWebサーバーとして使用する場合、Webサーバーマシンでサーバーライセンスファイルを登録する必要があります。以下の手順で登録してください。

（１）Webサーバーとして登録するマシンで、LLL/.netの「Enterprise\LServerManager.exe」を起動してください。

（２） 「サーバーの種別」 を選択して、「登録するマシンＩＤの取得」ボタンをクリックします。
システムの開発用として使用する場合にみ、「開発用サーバー」を選択してください。

（３）「マシンＩＤ」が表示されますで、弊社サポートに「マシンＩＤ」を連絡し、サーバーライセンスファイルを取得してください。

（４）サーバーライセンスファイルを取得したら、これを公開ディレクトリ直下に複写してください。

（５）再度「Enterpris\LServerManager.exe」を起動し、「ライセンスファイルの登録」ボタンをクリックしてください。

（６）下図のダイアログから、公開ディレクトリのライセンスファイルをオープンしてください。

（７）ライセンスファイルが正常ならば、下図のような画面が表示されます。内容確認後、「ライセンス登録」ボタンをクリックしてください。

（８）正常にライセンス登録できると下図の確認ダイアログが表示されます。

（注意）Ｗｅｂサーバーの公開ディレクトリが変更になったり、追加で公開ディレクトリを作成する場合、同じマシンであれば同じライセンスファイルを使用して、「ライセンスファイルの登録」を再実行することが可能です。


Webサーバーの設定

「スマートクライアント型」システムのＷｅｂサーバーの設定方法について説明します。

Webサーバーに必要な動作環境

  • IIS5.0, IIS6.0
  • .NET Framework1.1

（１）サーバーライセンスの登録

スマートクライアントのWebサーバーとして使用する場合、サーバーライセンスファイルを登録する必要があります。「サーバーライセンスの登録」の手順で登録してください。

（２）公開用ディレクトリの設定

ＩＩＳの設定方法についての詳細はIISのマニュアルをご参照ください。

  1. Ｗｅｂサーバーにシステムの公開用ディレクトリを新規作成します。
  2. 公開ディレクトリに、開発システムの以下のサブディレクトリとファイルを複写します。
    • binサブディレクトリ全体（必須）
    • Global.asax, LServerMain.asmx, Web.config （必須）
    • ダウンロードリストとプログラム配布対象の全ファイル（プログラム配布する場合）
  3. 公開ディレクトリをＩＩＳの仮想ディレクトリとして新規登録します。
    • 仮想ディレクトリの「実行アクセス権」を「スクリプトのみ」に設定してください。
    • 「スクリプトおよび実行可能ファイル」と設定した場合、プログラム配布でエラーが発生します。どうしても「スクリプトおよび実行可能ファイル」に設定する必要がある場合は、プログラム配布用の公開ディレクトリを別途作成して運用する必要があります。
  4. プログラム配布ログをとる場合は、「プログラム配布機能について」を参照してください。
  5. JETデータベースの場合、適切なＷｅｂサービスユーザー(ASPNET等)にmdbファイルの書き込み許可の設定必要です。(JETデータベースは開発テストのみに使用し、本番運用に使用することはお勧めできません。)

【制限事項】

  • 配布対象ファイルの拡張子により正常に配布できないファイルが存在します。この場合は、ダウンロードリストエディタの代用拡張子の設定を使用して下さい。（初期設定の拡張子は、asp, aspx, asax, asmx, config, resx, vbproj, csproj, vb, cs）
  • 配布対象ファイルがBINサブディレクトリにある場合、正常に配布できません。この場合、配布元のディレクトリ名 "BIN" を "BIN_代用拡張子"（例:BIN_lsub） に変更して設定して下さい。配布先では自動的にBINディレクトリとして格納します。

IIS6.0以降の設定

  ＩＩＳ6.0以降は、MIMEタイプが設定されていないファイルのダウンロードができなくなり、そのままではプログラム配布時にエラーメッセージが表示されます。これを回避するには、以下の手順でMIMEタイプを設定してください。

  1. 「インターネットインフォメーションサービス(IIS) マネージャ」を起動します。
  2. 「インターネットインフォメーションサービス」配下の「ローカルコンピュータ」の「Web サイト」の「既定のWeb サイト」から公開ディレクトリを選択しプロパティ画面を起動します。
  3. プロパティ画面の[HTTP ヘッダー]タブの[MIME の種類]ボタンをクリックします。
  4. MIME の種類画面で、以下のMIME タイプを追加します。
    • 拡張子：lcm MIMEタイプ：application/lllnet
    • 拡張子：lsub MIMEタイプ：application/lllnet
    • 拡張子：def MIMEタイプ：application/lllnet
    • 拡張子：crf MIMEタイプ：application/lllnet
    • プログラム配布するファイルにMIMEタイプの設定のない拡張子のファイルが含まれる場合は追加して下さい。(拡張子：xxx MIMEタイプ：application/xxxx)