クライアントは、データベースに 1 から 10 までの数値フィールドを探しています。ただし、「10 を超える」オプションも希望しています。これを数値フィールド (整数) に追加するためのベスト プラクティスはありますか、それとも可能ですか?
これはばかげた単純な質問のように感じます。私はそれを尋ねるのをためらっていますが、検索しても何も明らかにならず、単純なトリックを見逃しているように感じます.
クライアントは、データベースに 1 から 10 までの数値フィールドを探しています。ただし、「10 を超える」オプションも希望しています。これを数値フィールド (整数) に追加するためのベスト プラクティスはありますか、それとも可能ですか?
これはばかげた単純な質問のように感じます。私はそれを尋ねるのをためらっていますが、検索しても何も明らかにならず、単純なトリックを見逃しているように感じます.
いいえ、とにかく Access (および他のほとんどのデータベース アプリケーション) では違います。数値フィールドには有効な数値のみを含めることができ (NULL が許可されている場合は何も入力できません)、「10 を超える」または「> 10」は有効な数値ではありません。
数年前、私はFileMaker Proで少し作業を行いましたが、特定の「タイプ」のフィールドに入力できる内容が非常に「緩い」ものだったことを覚えています。フィールドの「タイプ」は、エントリがどのように解釈されるかについての「提案」のように見えました。これにより、(あなたのようなケースを処理するために)ある程度の柔軟性が開かれましたが、固有の値を解釈するときにソフトウェアが行った仮定に対してユーザーが脆弱になることもよくありました.
いずれにせよ、> 10" は特別なケースとして処理する必要があるため、フィールドをテキスト フィールドにして、コンボ ボックスを使用して値を選択することもできます。
1
2
3
...
9
10
more than 10 (or "> 10")
ユーザーの選択を有効な値、つまり 1 から 10 の間の数値または「10 を超える」値に制限したい場合は、次のようにします。
ID (long)、RecValue (テキスト) の 2 つのフィールドを持つルックアップ テーブルを作成します。
テーブルには 11 のレコードがあり、ID の値は 1 ~ 11 で、RecValue は "1"、"2"、..."10"、"10 を超える" です。
データ入力にはコンボボックスを使用します:
RowSource= ID フィールドにバインドしますが、RecValue フィールドのみを表示します。「リストに制限」プロパティを TRUE に設定します。
ユーザーにはテキストが表示されますが、裏では数値を使用しています。