none
データテーブルへの入力件数を制限する方法 RRS feed

  • 質問

  • いつもお世話になります。今回もよろしくお願いします。

    VB2005とAccess2003で開発しています。

    表題のとおりなのですが、データテーブルに

    業務コード  |  種類  | 単価   |

      1      |     平日  |   10000  |

        2          |    休日    |   15000  |

    というデータがあるのですが、コードが増えすぎると混乱するので、最大件数を10件にしたいのですが、データテーブルへの入力件数を制限する方法ってあるのでしょうか?ACCESSのデータベース自体で制限するのでしょうか?

    わからなくて検索したのですが、キーワードが悪かったのかそれらしきページを見つけられずこちらに書かせていただきました。

     

    2006年11月12日 7:11

回答

  • 登録時に制限しようと思えば、レコード数を実際に数えて、10件未満かどうかで判断するしかないんじゃないでしょうか?

    また、10件のレコードをあらかじめ登録しておいて、その更新のみを許可するという方法もあります。その場合、システムで使うかどうかを判断するフラグも必要でしょう。

    ところでこのテーブルはマスターでしょうか? マスターであれば、単価などは変更できないので(変更すると、過去分のデータも変わってしまう)、常に追加という形にしかできません。その場合でも、10件に制限したいのであれば、やはり有効フラグを用意しておいて、そのフラグが立っている件数を最大10件に制御する方が良いと思います。

    しかし、実際に登録するのはユーザーなので、登録すればするほどユーザーが使いにくく感じるのなら、ユーザーは自ずからたくさん登録するようなことはしなくなると思います。なので、特に制限を付けなくてもいいような気はします。

    2006年11月12日 8:25
    モデレータ

すべての返信

  • 登録時に制限しようと思えば、レコード数を実際に数えて、10件未満かどうかで判断するしかないんじゃないでしょうか?

    また、10件のレコードをあらかじめ登録しておいて、その更新のみを許可するという方法もあります。その場合、システムで使うかどうかを判断するフラグも必要でしょう。

    ところでこのテーブルはマスターでしょうか? マスターであれば、単価などは変更できないので(変更すると、過去分のデータも変わってしまう)、常に追加という形にしかできません。その場合でも、10件に制限したいのであれば、やはり有効フラグを用意しておいて、そのフラグが立っている件数を最大10件に制御する方が良いと思います。

    しかし、実際に登録するのはユーザーなので、登録すればするほどユーザーが使いにくく感じるのなら、ユーザーは自ずからたくさん登録するようなことはしなくなると思います。なので、特に制限を付けなくてもいいような気はします。

    2006年11月12日 8:25
    モデレータ
  • trapemiyaさま、こんばんは、お返事ありがとうございました。

     trapemiya さんからの引用

    ところでこのテーブルはマスターでしょうか? マスターであれば、単価などは変更できないので(変更すると、過去分のデータも変わってしまう)、常に追加という形にしかできません。その場合でも、10件に制限したいのであれば、やはり有効フラグを用意しておいて、そのフラグが立っている件数を最大10件に制御する方が良いと思います。

    しかし、実際に登録するのはユーザーなので、登録すればするほどユーザーが使いにくく感じるのなら、ユーザーは自ずからたくさん登録するようなことはしなくなると思います。なので、特に制限を付けなくてもいいような気はします。

    テーブルはマスターです。よく考えたら単価は変更できないですね。常に追加しかできないということをすっかり忘れていました。その場合にも最大10件に絞るとなると、少々ややこしそうです。

    言われてみればおっしゃるとおりです。使いにくくなるのはユーザー自身になりますよね。他のFormで集計をしなければならないのですが、無制限に増やされると印刷の関係等で困るなぁ、と思っておりました。沢山コードを登録して印刷がやりにくかったり混乱したらいけないと考えて10件に制限しようかと思っておりました。

    trapemiyaさまからのアドバイスを読んで、なるほど!と思いました。お返事いただけてよかったです、ありがとうございました。

     

    2006年11月12日 13:23