• ベストアンサー

MS Access 何となく不安なんですが。。

ykkw_2001の回答

  • ベストアンサー
  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.1

>レコード数がいくら多くなっても大丈夫だと自信を持ってもいいのでしょうか?  多くなるというのは、 >何百何千と増えた時  のことでしょうね。  自分(または自分がそばにいる環境)で使って行くなら、適宜改良して行く事で、利用しつづける事は可能でしょうが、シェアウェアとか業務ソフトなど他人が使用するならテストすべきです。(ここで質問してるってことは後者ではないと思いますが・・・)  自分で利用する範囲なら、「だ~いじょうぶ」です。 テーブル破壊さえなければ、数千レコードくらいは、手修正可能ですよ。  ただし、自営業か何かで帳簿を載せようとしておられるなら、要注意。毎日mdb以外のファイルにエクスポートしてバックアップしましょう。  データベース一般に言える事で、レコード数の限界は、意外と少ないです。一概に「何件でこうなる」とは言えませんが、パソコンでは単純なレコード検索でも数万件で、テストとは違った応答時間、連続使用限界になると見ておいたほうがいいです。パソコンRDBでは、もっと少ない件数で限界が来ると思います。 >主キー、リレーション  の部分は、読み飛ばしてしまいましたが、(スイマセン)何をどうしようが、テーブル破壊だけなければ、少々ヒモ付けできてないレコードが残ろうが、大丈夫。(最後は手修正) (オペミスでマスタ、バックアップをDELETEしたなんてのは、論外です) ちなみに、私は、Accessは、信用していないので、テーブルに主キー、リレーションを設定しません。リレーションは、レコード番号を管理して、実現しています。これが、マスタテーブルを保護する最善の方法だからです。 これなら、プログラミングは手間を食いますが、CPU486,128MB,Win95+NTのファイルサーバーで、20万件程度で稼働しているものもあります。

whitemark
質問者

お礼

早速のご回答、ありがとうございます! 実はその問題の自営業だったりするわけです。。。 今まで手作業でこなしていた事を、すべてパソコンに置き換える事で、いろんな面のコストダウンを図ろうとしています。ありきたりですが。。 エクセルで名簿を作るのがやっとのレベルでありながら、アクセスなんて無謀だなっとは思うのですが、やらねばならぬ状況になってしまったので。。 会社内のことをしっかり固め、安心して外へ打って出たいのですが、どうも心配性な性格な為、一応目処がついたと言えども、何か落ち着かなくて。。 バックアップはしっかりとる為に、先日記憶装置も買っておきました。 やはりバックアップは大切ですよね。肝に銘じていこうと思います! それと、なんだかとても読み辛い文章になってしまったことをお詫びします。またこのような文章であるのにご回答を下さって本当にありがとうございました。大感謝しております! もう少しほかの皆さんのご意見も伺いたいと思うので、締め切らないでこのまま置いておこうと思います。

whitemark
質問者

補足

それと書き忘れてしまいましたが、実務でメインで使うのが社長で、この社長がまた「ダブルクリックって何?」というレベルですので、余計に心配しているわけです。。。 出るのはため息ばかりです。。(汗

関連するQ&A

  • リレーションシップで一対多となる条件

    今Access2000を使っているのですが、 リレーションを組む際に、一対一と一対多になる違いを教えてください。 リレーションを組みたいのは、 主テーブルの主キー[登録CD]テキスト型 リレーションテーブル [登録CD]テキスト型 このテーブルの主キーはオートナンバーで[NO]としています いつも通りに作ってハズなのですが、 リレーションを組むと自動的に一対一になってしまいます。 リレーションテーブルになるためにフィールド数の制限などがあるのでしょうか? 宜しくお願いします。

  • 2つのaccessテーブルのレコード数を合わせたい

    一つは200レコードあるリンクテーブルです。 このリンクテーブルとあるテーブル(Bテーブル)を合体させたいと思いました。 そのあるテーブルは主キーであるIDとチェックボックスの2つのフィールドだけです。 このB]テーブルの主キーとリンクテーブルの主キーとリレーションでつなげました。 しかし、そのBテーブルはレコードが全く無いのでチェックボックスが出て来ません。 リンクテーブルのレコード数分、手動で作成したらチェックボックスと組み合わさります。 これでは、毎回毎回リンクテーブルのレコード数を数えて同じ分だけBテーブルでレコードを作成しなくてはいけません。 自動で同じだけのレコードを作ることはできますでしょうか? VBAでレコード数を数えて・・・・とかするのでしょうか?

  • Accessのリレーションシップ

    Access初心者です。 Access2010でデータベースを作っていて、行き詰ってしまいました。 テーブル1にフィールドABCDEFがあって、Aに主キーが付いています。(Aはテキスト型でフィールドサイズ10です。) テーブル2にはフィールドAGHがあり、Aに主キーが付いてます。(Aはテーブル1と同じです。) テーブル3にも同じくフィールドAIJがあり、Aに主キーが付いています。(Aはテーブル1と同じです。) テーブル1のフィールドAを主テーブルとし、テーブル2・3のフィールドAにリレーションを組んでいます。 この時のリレーションシップで参照整合性と連鎖更新と連鎖削除にチェックを入れ、種類が一対一になりました。 その後、テーブル1でレコードを追加しようとすると、「テーブル'2'にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更を行うことができません。」と出ます。 これを解決する方法はどうするのか、お教えお願いします。 分かりにくい説明ですいません。

  • Access2002 参照整合性について

    テーブル間にリレーションシップを設定する場合、リレーションテーブル側に主テーブルにないレコードがあると参照整合性を設定できないにも関わらず、「結合の種類」で「3」(リレーションテーブル側の全レコードと主テーブル側の同じ結合フィールドのレコードだけを含める)を選べるのは何故でしょうか。 参照整合性を設定できた時点で、リレーションテーブル側には主テーブルにないレコードは無いということだと思うのですが・・・。 よくわからなくなってしまいました。 お答え、よろしくお願いいたします。

  • 一対一のテーブル分割(ACCESS2003)

    ACCESS2003にて、フィールド数が上限の255、レコード数がおよそ1万件の商品マスタテーブルを作ったとします。入力必須フィールドは主キーである商品ID、あと商品名ぐらいで、あとは商品によって入力したりしなかったりするフィールドで、テーブルを開くと空欄が非常に多く目立ついわゆるスカスカの状態になっているとします。そこで商品マスタテーブルを数個に分割(商品の価格情報、商品の品質情報等々)し、商品IDを主キーにもたせ一対一の外部結合でつなげて、密度の濃い(?)テーブルを複数作ったほうが、ファイルサイズの縮小やクエリ等のパフォーマンス向上にメリットがあるのでしょうか?(一対一の結合はあまり使用しないのが一般的なようですが、このような場合使用すべきでしょうか?)教えて頂きたくお願いいたします。

  • アクセスについて教えてください。

    アクセス2002 XP使用 Aテーブル ID 氏名 電話番号 住所  などの個人情報入力 Bテーブル ID (リレーションするためのID主キー) 管理ID 購入商品 上記のように今作っているのですが、AテーブルIDとBテーブルは1対多でのリレーションしてます。 フォームで帳票形式で見たとき、 管理NOの数だけレコード表示されるのはいいのですが、 AテーブルID 1に対し、管理IDが111と三件分あるとして、(勿論BテーブルIDには123となってます) AテーブルID1にひとつ、受付NOを追加して、   ID  受付NO  管理ID   1   1    1   1   2    1   1   3    1   2   1    2   2   2    2   3   1    3 見たいに受付NOがIDごとに123。。。と自動入力されル洋にしたいのですがどのようにすればできますか?素人なので説明もうまくできなくわけが変わらないかもしれませんがおしえてください。よろしくお願いします。

  • ACCESSのリレーションが切れてしまいました

    素人で甚だ恐縮ではございますが、社内システムのACCESS2003のデータベースでリレーション定義が無くなってしまい、アプリで削除していないにも拘わらず主たるテーブルのレコードの各項目に"deleted"或いは"#deleted"が入ってしまいました。 リカバリーは、「データベースの最適化/修復」を行い、リレーションを定義していた先のテーブル内のレコードを削除し、再度リレーション定義し再登録にて回復しました。 リレーションが切れる(無くなってしまう)原因がわかりません。 どういったケースで発生しうるかご教示頂ければと存じます。

  • 未定義になるのは主キーじゃないのが原因?

    二つのテーブルを一対多のリレーションシップで繋ぐとき、 一になる方は主キーじゃないと、一対多にならなかったり参照整合性はできないのでしょうか? 主キーではないテーブル1のフィールド(一)と、(多)のテーブル2のフィールドでリレーションを組もうと思ってるのですが、 リレーションシップの種類が未定義になってしまいます。 これは、1になる方のテーブル1が主キーじゃないのが原因なのでしょうか? テーブル1のこのフィールドは、重複することはありませんが、空白も入る為、主キーにできないし、 主キーはほかのフィールドで使っています。

  • Access 一対一リレーションの編集

    こんにちは 現在、Accessと他のソフトとの連携をするために奮闘しています。。。知恵をお貸下さい。 Accessには元々受注テーブルがあります。 主キーID:オートナンバー 受注日:日付型 納期:日付型 図番:テキスト型 数量:数値 単価:数値 とあり、データがすでに存在しています。他のソフトへエクスポートを継続的に行うにあたって 新規にテーブルを作成し、一対一リレーションをしようとしています。 新規テーブルは 主キーID:オートナンバー 取引先コード:テキスト型 担当者コート:テキスト型 区分コード:テキスト型 実出荷日:日付型 エクスポート状況:数値 そして、受注テーブルと新規テーブルのIDを一対一でリレーションしクエリを作成し、エクスポートしようと思っています。 その際、新規テーブルの方はデータが空なのでクエリ結果が得られないと思うのですが。。。 どうやって既存の受注テーブルと一つ一つのレコードを繋げる事が出来ますか❓ 編集方法をどなたか教えて下さい。 素人ですみません。

  • Access フォームで複数テーブルの同時入力

    フィールド項目が多い為に複数のテーブルに分けて 同じフィールド名 [品番] で1対1でリレーションを組んでいます。 フォームの新規レコードで品番を入力の時に 各テーブルの品番に入力するのにはどうしたらいいでしょうか? 後々のことを考えると1つのテーブルにまとめたほうがいのでしょうか? フィールドが300ぐらいあるのでテーブルに分けたほうがわかりやすいので 現在は10テーブルに分けています。 よろしくお願いします。