ビューから選択肢を読むよ【家計簿を作るよ Vol.4】
はじめに
前回は一般的な値を入力するだけのフィールド(入出力の枠)を配置しました。今回は、新しい値を入力できるだけでなく、過去に入力した値を選ぶことができるフィールドを配置します。といいたいのですが、そのフィールドに必要なビューをつくるところまで進みます。
初回の記事はこちらです。
しくみ
まずは今までに入力された値を表示するビューをつくります。このビューからフィールドの選択肢を得るようにします。ここでつくるビューはユーザーの目にふれることがない隠しビューにします。
次に、ビューに表示された内容を選択肢にするフィールドを、フォームに配置します。
選択肢用にビューをつくる
引き続きデザイナー画面で操作します。
画面の左側の[データベースナビゲータ]から、いま作成している[家計簿]の中にある[ビュー]を開きます。
次に、上部の[新規ビュー]ボタンを押すとダイアログボックスが表示されます。
次のようなダイアログボックスが表示されます。
ビュー名に『(Category)』と入力します。名前を半角の括弧でくくるのがミソです。半角の括弧でくくられたビューは隠されるというルールがあります。
また、ビューの種類は『共有』にしてください。ほとんどのビューは『共有』です。アプリをつくるときに他の種類にすることはあまりありません。
これらの設定をしたあとに、『コピー元』ボタンを押してください。
コピーするスタイル、つまり真新しいビューにするか、既にある別のビューの設計をコピーするか選ぶ画面が表示されます。今回は『-なし-』を選択して、新しいビューを作成します。
続けて『OK』ボタンを押して、前の画面に戻ります。
前の画面に戻って『OK』ボタンを押すと、新しいビューができあがります。
列を配置する
新しいビューをつくると、タイトルが『#』の列がひとつ追加されています。この列を削除して新しく追加しても構いませんが、今回は更新して使おうとおもいます。
列のタイトル『#』を選択します。すると右下に『#(列):列の値』というものが表示されます。表示を『式』へ変更して『categoryTo : categoryFrom』と書き換えてください。『categoryTo』と『categoryFrom』は、前回の記事でフォームに配置したフィールドの名前です。
ここで列の設定を変更します。メニューの[設計]から[列のプロパティ]
を開いてください。キーボード操作でも開くことができますので、慣れてきたら『Alt + Enter』を試してください。
列のプロパティの左から2つめのタブ(ソート)を開いてください。そして『ソート』を『昇順』、『種類』を『カテゴリ別』としてください。『複数値を別のエントリで表示』にチェックが入ったことも確認します。
このビューにはもうひとつ列が必要です。まだ列がない空白のところでマウスの右ボタンを押して、『列の追加』を選択します。
新しい列のタイトルのところを選択して、『無題(列):列の値』の『表示』部分を『式』にします。続けて下図のように『To : From』と入力します。
この列もプロパティを設定します。メニューの[設計]から[列のプロパティ]
を開いてください。
列のプロパティの左から2つめのタブ(ソート)を開いてください。そして『ソート』を『昇順』、『種類』を『カテゴリなし』としてください。今回は『複数値を別のエントリで表示』に自動でチェックが入ることはありません。チェックしてください。
これで必要な列がそろいました。次はビューを仕上げます。
画面中央下あたりの『オブジェクト』タブのなかに『(Category)(ビュー)』を見つけられるでしょうか。その下にある『ビューの選択』を選びます。するとその右側が『(Category)(ビュー):ビューの選択』になります。
『実行』『クライアント』の右側を『式』にします。次に下図のように『SELECT Form = "Slip"』と入力します。
次にビューのプロパティを設定します。メニューの[設計]から[ビューのプロパティ]を開いてください。そして下図のように『詳細』タブにある『索引にユニークなキーを作成する』にチェックを入れます。
これで過去に入力された値を選択肢として表示するフィールドを作成する準備ができました。
まとめ
ビューをつくって列を追加しましたが、わからない操作はありましたか。ものをつくることよりも、新しい開発ツールを使うほうが難しいとおもいます。お気づきの点などありましたらお気軽にコメントを残してください。
カミュプリィのホームページからメッセージを送ることもできます。
注意すべきところ
大筋に影響はないのですが、知っておけばトラブルを避けられたり、ちょっと安定したアプリにすることができるヒントをこれから書きます。
ここから先は
¥ 110
サポートいただければ、記事をもっと充実することができます