Visual FoxPro 内のコンボ ボックスに入力をキャプチャする方法


概要


Microsoft Visual FoxPro を選択するか、フォーム内のデータを入力するフォームでコンボ ボックスを使用することができます。コンボ ボックスは、次のソースから派生するデータを使用します。
  • エイリアス
  • SQL ステートメント
  • クエリ
  • 配列
  • フィールド
  • ファイル
  • 構造体
  • ポップアップ
この資料では、コンボ ボックスコントロールのドロップダウン リストに含まれていない可能性がありますし、コンボ ボックスに入力される値を持つテーブル内のフィールド値を変更し、情報を入力する方法について説明します。

詳細


コンボ ボックスコントロールにデータを入力して、テーブル内のフィールドに値が変更された場合、次の手順を実行します。
  1. 新しいフォームを作成し、Load イベント プロシージャに次のコードを配置します。
          PUBLIC ARRAY aTitle(1)
    SELECT DISTINCT(customer.contact) FROM customer ;
    INTO ARRAY aTitle
  2. \Data ディレクトリから、フォームのデータ環境に顧客テーブルを追加します。\Data ディレクトリは次の場所のいずれかでご覧ください。
       Visual FoxPro 3.x: VFP\Samples\Mainsamp
    Visual FoxPro 5.x: VFP\Samples
    Visual FoxPro 6.0: \MSDN98\98VS\1033\Samples
    Visual FoxPro 7.0,8.0,9.0: \Samples\Data
  3. フォームで、テキスト ボックスを配置し、その"コントロール ソース"プロパティを設定します。
          Customer.Contact
  4. フォームにコンボ ボックスを配置します。ATitle と 5 - 配列の値集合タイププロパティに、値集合ソースプロパティを設定します。
  5. InteractiveChangeの手順では、次のコード行を入力します。
          IF Customer.Contact != Thisform.combo1.DisplayValue
    REPLACE Customer.Contact WITH Thisform.combo1.DisplayValue
    Thisform.Text1.Refresh
    SELECT DISTINCT(customer.contact) FROM customer ;
    INTO ARRAY aTitle
    ENDIF
  6. LostFocusプロシージャでは、次のコード行を入力します。
          IF Customer.Contact != Thisform.combo1.DisplayValue
    REPLACE Customer.Contact WITH Thisform.combo1.DisplayValue
    Thisform.Text1.Refresh
    SELECT DISTINCT(customer.contact) FROM customer ;
    INTO ARRAY aTitle
    ENDIF
    thisform.combo1.displayvalue=""
  7. フォームにコマンド ボタンを追加しに次のコードを入力して、
    イベント プロシージャをクリックします。
          SKIP
    ThisForm.Combo1.DisplayValue=Customer.Contact
    ThisForm.Refresh
  8. 別のコマンド ボタンをフォームに追加し、そのイベント プロシージャに次のコードを配置します。
          SKIP -1
    ThisForm.Combo1.DisplayValue=Customer.Contact
    ThisForm.Refresh
  9. 保存し、フォームを実行します。コンボ ボックスで、値を変更し、コマンド ボタンを使用してテーブルをスキップします。フォームを閉じるし、[得意先] テーブルを参照します。[連絡先] フィールドを確認します。コンボ ボックスに入力された変更は、フィールドに反映されます。

関連情報


詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。

139769コンボ ボックス内の値の一覧に新しい値を追加します。