• ベストアンサー

アクセス フィールド 500個

アクセスでは、1テーブルでフィールド個数が255までと、制限があるようですが、1レコードに500個のフィールドが必要となりました。2個のテーブルを開いて、500個のフィールドに対して、レコードを単票形式で入力できる様にするには、どうしたらよろしいか?よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

フィールド数が500を超えるのですか? リレーショナルデータベース(RDB)では フィールド数の少ないテーブルが沢山できるという傾向があります 255というのもそういう意味で十分な余裕を持った制限です これを超えるという場合まず考えられるのは 正規化が十分に行われていないということですね そんなことは分かっている、正規化を十分に行っても500を超えるのだという場合は データベースを乗り換えるしか方法は無いですね

fusigi2
質問者

お礼

素人で、根本的にデーターベースの作り方を勉強しないといけないのかなあ、と思っています。正規化から勉強ですねえ。ありがとうございました。

その他の回答 (3)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.4

単票で500項目も入力する方に同情を禁じ得ませんが、エクセルのシートを単票に見立て、ADOで二つのテーブルに対して書き込むのはいかがでしょうか。 データの入力も、コピーとかが簡単にできて、楽かもしれません。ご参考まで。

参考URL:
http://home.att.ne.jp/zeta/gen/excel/c04p02.htm
fusigi2
質問者

お礼

素人のため、チンプンカンプンでイメージが湧きませんが、なんとなく良さそうです。すみません。有り難うございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

ファイル設計を考え直すことが必要だと思うが、詳細は仕事の秘密とかで公表出来ないか、文章にすると長くなるのかもしれない。 一部のフィールドのレコード化、Excelでたとえて言えば列に並べるのを下の行に並べるようなアイデアは、後の処理が複雑になるかな? またはキーを設けてファイルを2つ以上に分けるとか。 どうせ時系列などの繰り返し項目で(COBOLのOccurs句のような)は無いのかな。 等性質で等長である項目でしょうから、メモ型フィールドに出来ないかなど。 ただし後後の処理がADOなどのプログラムで無いと処理できないと思うが。

fusigi2
質問者

お礼

頭を丸めて考え直します。ありがとうございました。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

確か無理です それと、クエリも同じく、255で制限があったような・・・ で、DAO、ADOなどを使って書き込みするとなりますが・・・ 多い、コントロール数が扱うと・・・ 判ると思いますが、挙動が、おかしくなります で、代用をどう考えるか? アイディア次第でしょうね 質問事項では、どういう状況なのか?判りませんので、そのアイディア提示も、しようがないです 普通は、ポップアップで、フォームを開いて、フォーム上のコントロール数の軽減するのが、通常だと思うけどね

fusigi2
質問者

お礼

ありがとうございます。説明不足で申し訳ありません。ポップアップ考えてみます。今後ともよろしく。

関連するQ&A

  • アクセスのテーブルのレコードをひとつのフォームにすべて表示ししたい

    アクセス2002を使っています。 ひとつのテーブルに登録しているレコードの値(日付順のフィールドにより数値を入力たレコードです)をひとつの単票形式のフォームにすべて表示するようにしたいのですが、できますか? よろしくお願いします。

  • ACCESSでコピーしたレコードのフィールド置換作業の繰返しを簡素化したいです

    ACCESS2000を使っています。テーブルには必ず「Nenndo」というフィールド名(数値型十新型)で西暦4桁が入力されています。(このフィールドはキーにもインデックスにもなってません)たとえば、 T_M001テーブルのNendoフィールドに2007が入力されたレコードが340件 T_M002テーブルのNendoフィールドに2004が入力されたレコードが823件 こんな感じでNendoフィールドがあるテーブルが沢山あります。 これらのテーブルのNendoフィールドに格納されているレコードをコピー置換作業して2004から2008までのデータを作成したいです。 T_M001であれば2007が入力されてるレコードをコピーして、貼付たレコードNendoフィールドの2007を2004へ置換、また2007のレコードをコピーして2005へを繰り返の作業してます。レコード数は340件が1360件増えて1700件。 テーブルが沢山あって作業に苦慮してます。 ACCESSのモジュールでもマクロでも構いませんので対応策等ご教授願います。

  • アクセスのテキスト型フィールドの初期値

    アクセスのテーブルにテキスト型フィールド「●●日付」を作成しました。さらに、定型入力の方法として、日付(____/__/__)を指定しています。 このテーブルから、クエリでデータを取得する際、●●日付にデータを入力していないレコードのみを取得したいと思い、クエリの抽出条件として=""(ダブルクォーテーション)や=''(シングルクォーテーション)と記載したのですが、レコードが1件も抽出されません(もちろん●●日付にデータを入れていないレコードは複数あります)。一方で、<>""や<>''で、●●日付にデータが入力されているレコードを抽出しようとした場合は、●●日付にデータが入力されているレコードが抽出されます。 テキスト型フィールドにデータが入力されていないレコードを抽出するクエリはどのようにしたら作成できるのでしょうか?

  • accessでフィールドを連携させたい

    access2002をつかっています。 テーブルAの中のリストに、IDのフィールドがあり、 そこにひもづいたテーブルBがあります。 (例えば、テーブルAが人のデータで、  テーブルBがその人との対応履歴です。) フォームで、テーブルAの一覧リスト(表形式)がまず見られるものをつくりました。 そこから、「詳細をみる」というボタンをつけて、 押すと、リストBの中でひもづいているものだけ見えます。(単票形式で) 見る分にはこれでよかったのですが、 そこから新規にテーブルBに書き込むときに、 AのIDを勝手に書き込んでほしいのです。 (引き継いでほしい。) でも、現状では、そのボタンを押して、 その先で新規に、Bへデータを書き込もうとすると、 ID部分は引き継がれません。 最初からサブフォームなどのウィザードでつくれば よかったのかもしれませんが、 この状態からうまくできる方法はありませんか? とっても分りづらい説明で申し訳ないのですが、 もしわかる方がいらっしゃいましたら、教えてください。

  • アクセス2000について

    アクセス2000でデータベースを作成しています。 幾つかのテーブルをリンクさせて、リンクしたテーブルからフィールドを選択してクエリを作り、そのクエリに基づいて単票形式のフォームを作成しました。 単票フォームの基になっているクエリを使って、表形式のフォームをオートフォームウィザードで作成しようとすると、「インデックスが有効範囲にありません。」というメッセージが出てきてフォームが作成できません。 どうしたらいいのでしょうか?誰か教えてください。

  • アクセス作成について

     アクセスについて質問します。  フォームで入力する場合で、例えばテーブルのレコードを100までとし、101を超えた場合またレコード1にデータを入力することは可能でしょうか。 テーブル フィールド1 フィールド2  1       6  2       8   .      .   .      . 100       55 フィールド1は固定し、フィールド2にデータを入力していき101番目にデータを入力する時はまた1行目の6を上書きしてデータを更新していくようなことは可能でしょうか。(もちろんフィールド1、フィールド2を別テーブルとしクエリーを活用することでもok) アクセス初心者です。よろしくおねがいします。

  • Accessフォームの入力について

    Access2000・単票形式でのフォーム入力について教えてください。 入力の途中で、カーソルが次のページ(レコード)へ移動してしまいます。(例:レコード9の内容入力中、レコード10やレコード11などへ移動) どうしたらなおるでしょうか。 よろしくお願いします。

  • アクセスのテキスト型フィールドサイズ指定方法

    アクセス2003を使用しています。 選択クエリAのレコードを追加クエリBを使用してテーブルCに追加しているのですが、 テーブルCのフィールドサイズを「半角40文字、全角20文字」に制限したいです。 フォームを使ってテーブルに入力する場合はテーブルの入力規則に式を入れればできる ということは調べてわかったのですが、追加クエリを利用する場合どのようにしたらよいかわかりません。 お分かりの方、お教えいただければ幸いです。 よろしくお願いいたします。

  • accessのフィールドに10桁の数字は入らない??

    あるCSVからAccessのテーブルに読みこんだのですが 一部のフィールドで文字の欠落がありました。 元のCSVの内容どおりに、手入力で欠落した箇所に 値を入れようとしたのですが、どうも9ケタの数字は入るのですが 10桁の数字は入らないようでエラーが出ます。 ★メッセージは以下の通りです。  このフィールドに入力した値が正しくありません。  たとえば、数値型のフィールドに文字列を入力しました。 Accessの仕様として、数字の桁数制限があるのでしょうか? また、解決策は何かないでしょうか? XP2、ACCESS200です

  • ACCESS2000 テキストフィールドの一括化

    ACCESS2000で経理関係のDBを作成中です。入力テーブルの構造はおおよそ下記のとおりです。 フィールド1:科目コード(数値型) フィールド2:金額(数値型) フィールド3:備考(テキスト型) 今、科目コードごとに集計するためのクエリー及びレポートを作ろうと思っていて、金額の合計はできるのですが、備考欄も科目コード単位でまとめたいと思っています。どうすればよいのでしょうか。 (テーブル)       科目コード 金額 備考 レコード1:11    100 AAAAA レコード2:11    200 BBBBB レコード3:12     50 CCCCC レコード4:12    500 DDDDD            ↓ 集計(クエリ、レポート)       科目コード 金額の合計 備考の列記       11    300     AAAAABBBBB       12    550     CCCCCDDDDD こんな感じです。 よろしくお願いいたします。

専門家に質問してみよう