• 締切済み

アクセス:数値フィールドがオーバーフローしました。(Error 3349)

Access2003/SP2にて、選択クエリ実行時に発生します。それも必ず毎回ではなく、あったりなかったりです。 元テーブルはExelからのリンクです。大体4000~5000行のデータとして、列は12あります。 エラーボックスの「ヘルプ」を開くと 「Btrieve フィールドのデータが大きすぎるため、アプリケーションで表示できません。」 とあって、それをグーグルで検索したんですが解決策を示す情報がないのです。 さらにヘルプ情報を詳細で表示すると長ったらしい文章なんですが、ようは何処かのデータベース(WindowsSharePointとか)から拾ったデータの場合におきる、様なことでした。 ですが元テーブルのリンクはExelなので、当てはまらないのです(と思います)。 最適化もしてみましたが意味がないみたいです。テーブルがリンクのためプロパティ変更も出来ないし・・・ クエリを一つのAccessデータベースで作ったり削除したり、テーブルもとっかえひっかえしたのがいけないのでしょうか。 すごく困ってます。 なおAccessデータベースは他の人とは共有していません。デスクトップ上にあります。 分かりそうな人が周囲に居ないので、ぜひお知恵をお貸しください。

noname#85032
noname#85032

みんなの回答

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

>「Btrieve フィールドのデータが大きすぎるため、アプリケーションで表示できません。」 この言葉の通りですね。 Btrieveフィールドが何もので、どのくらいから どのくらいまでの値を期待しているのでしょうか? クエリを発行させているプログラムが、現在ある ある値が大き過ぎて表示できない、うーんメッセ ージ通りですが。 データベースのBtrieveフィールドの属性が、 アプリと不一致とか、そもそもアプリがサポート していない大きな値とか。そういった方向性の 問題ではないでしょうか。 今まで出なかったのは、実際にそんな大きな値が 入っていなかったためとかでしょう、きっと。

noname#85032
質問者

補足

済みません。メッセージ内容自体が理解できないのです。 私はアクセスを最近よく使い始めただけで、とくにエクセルデータが5000件にもなると動作も(色々な面で)悪く、集計も取りにくい状況があったのでアクセスクエリでの作業に移行させたのです。 エクセルデータをベースにして抽出クエリにし、抽出クエリをクロス集計クエリに使っているだけ・・・なのですが。 >今まで出なかったのは、実際にそんな大きな値が入っていなかったためとか 同じデータを取り込んで作成した同じクエリについて、発生したりしなかったりです。つまり入っているものは全く同じということです。 エクセルのデータは普通に会社で使うようなもの、例えて言うなら「商品名・ロット・受注日・発注日・価格・発送先住所・担当者・クレームコメント」みたいなものです(実際は違いますが企業情報なので控えます)。 バグなのかな?とも思ってしまいます。

関連するQ&A

  • アクセス クエリのフィールド名が勝手に変わる

    access 2010を使用しています クエリのフィールド名が[元となるクエリ名].[フィールド名]に勝手に変わってました。 このクエリはリンクテーブル(リンクする側)ひとつから作ったクエリをさらに条件で絞り込んだものです。 今はまだデータベースの開発段階で、大元となるリンク先のテーブルのデータを書き換えることも多々あります。 このフィールド名で不都合が生じるのは、このクエリをもとに作ったフォームのラベル名です。 今は手動でこの[元となるクエリ名].を消しているのですが、この原因はなんなのでしょうか? それからリンクテーブルというのはこういう問題がよくおこるのでしょうか? プロパティなどを見ても全く何がおかしいのかわからないので、どなたかご教示お願いいたします。

  • Microsoft Access:クエリのフィールドが消える

    仕事でWindows XP Professional、Microsoft Access 2003を使用しています。 Accessの知識は低いです(本を見ながらVBAを組んだりする程度)。 データベースは、5年ほど前にAccess 2000で作ったもので、ネットワークドライブにあり、現在、改良等はAccess 2003で行っていますが、データベースを使用するクライアントは、Windows 2000(Access 2000)とWindows XP Pro(Access 2003)の複数環境です。 データベースは、1つのテーブルに、1つの抽出クエリ、レポートはそのクエリから呼び出して表示すると考えてください。 レポートを表示させるときに、クエリからデータを引っ張ってくるのですが、数ヶ月前から、突然必要のない「パラメータの入力」ウィンドウが複数回表示されるようになりました。 直接の原因は、クエリに存在しているはずのフィールドが、数個消滅していて、再度クエリにフィールドを追加すれば直ります。 直してしばらく使えるのですが、4~5日経つと、また壊れるという状況です。 また、データベースには、1年以上大きな変更を加えていません。 レポートのラベル(単なる文字)や位置を変更するのみのメンテナンスしか行っていません。 ちなみに、このデータベースファイルのテーブルへは、別のデータベースファイルからも「テーブルのリンク」としてリンクされていますが、クエリやレポートは単独です。 個人情報を扱うファイルのため、外部に持ち出せず、職場でOK Waveにアクセスしづらい状況で、知識も乏しいことから、あまり詳しく提示できないのですが、勝手にクエリ内のフィールドが消えてしまう原因は、どういうことが考えられますか? 参考程度でも結構ですので、アドバイスをお願いします。 (この程度のレベルの人が、重要なデータベースを管理していることに一番の問題があるのは分かっているのですが…)

  • 400のフィールドをクエリで表示することは可能?

    http://office.microsoft.com/ja-jp/access-help/HA010341462.aspx を見ると、 アクセス2010のテーブルのフィールドの最大値は255個ですが テーブル1が200 テーブル2も200 のフィールドで、 テーブル1と2の主キー同士を繋げて、400のフィールドをクエリで表示することは可能ですか?

  • access フィールドの数値を使って計算したい

    あるテーブル内に様々な数値をフィールドに入力して、それらの数値をフォームでルックアップを使用して計算したいのですが、accessはどうやら主キー(id)の数値(1、2、3…)を使って計算してしまいます。どのように設定すればよいのでしょうか。 テーブル1 id  フィールド1 1    5 2    10 3    15 4    20 フィールド1の数値をフォームにてルックアップで選んで計算したい(クエリ内の計算式に組み込みたい)。 よろしくお願いいたします。 access2010使用

  • AccessでリンクされたExcelのフィールドを修正する方法

    こんにちは。 Access初心者です。 Access2000にExcel2000のデータを リンクテーブルとして読み込んでいます。 読み込んだリンクテーブルを使用しクエリを組んでいます。 フィールド名を修正したく、Excelで修正をすると、Accessのクエリがうまく表示されません。 修正したフィールド名が外れてしまいます。 Excelで修正したフィールド名が自動でクエリにも反映できるような方法があったら教えてください。 お願いします。

  • ACCESSのフォームだけを起動する方法

    ACCESS2000のVBAにて、管理システムのようなものを作成しました。  このままクライアントに渡すと、新規にテーブルを作ったり、新規にクエリを作成したりと、せっかくのデータベース、レポートがぐちゃぐちゃになりそうな気がします。  そこで、おききしたいことがあります。   ・フォームだけを表示できないでしょうか。    ※ACCESS起動後、フォームだけが起動する。    その他、メニューは表示させない。    (テーブルからのデータ入力、フィールド追加、クエリ作成をできないようにする)    "F11"キーでのメニュー表示も無効にする。 データベースは、SQLからテーブルリンクしております。 どうぞよろしくお願い致します。

  • Access2003 クエリ フィールドの比較

    使用しているソフトはAccess2003になります。 テーブル1とテーブル2からデータ(フィールド)を表示してクエリを作成しました。 クエリのフィールド名は以下のようになります。 1、型式(テーブル1) 2、機番(テーブル1) 3、有効期限(テーブル1) 4、測定基準値(テーブル1) 5、機番(テーブル2) 6、紐づけ(テーブル2) ※ 使用者名が記載 テーブル1_機番とテーブル2_機番を比較して同じならば並び変える。 フィールドもしくは抽出条件にどのような式を記入すればよいでしょうか。 データベースソフトの扱いは初心者になります、宜しくお願いします。    

  • Access2002 255以上のフィールドをレポートで表示させたい

    Access2002を使っています。Accessは初心者です。 255以上あるフィールドをレポートでA3用紙(横)1枚におさめたいと思っています。 構造は,下の通りです。 テーブル1,テーブル2,テーブル3,テーブル4 クエリ1(テーブル1~3をもとに)・・・フィールドが200あります クエリ2(テーブル4をもとに)・・・・・フィールドが150あります 初心者判断で,クエリ1とクエリ2をもとに350あるフィールドを1枚のレポートにおさめるには,A3用紙の右側の部分にサブレポートを作成すると解決できるのではと考え,マニュアルを読んで,レポート1にサブレポートを追加する作業を進めました。しかし,「アプリケーション定義またはオブジェクト定義のエラーです」というメッセージが表示され作成できませんでした。 サブレポートの概念がよくわからないのですが,サブレポートにこだわらず,350もあるフィールドをA3用紙(横)1枚にレポートで出力できる最も簡単な方法があったら教えて下さい。何分,Accessは初心者なので,よろしくご教示下さい。よろしくお願いします。

  • Accessの追加クエリのエラーについて

    Accessについて教えてください。 データベースを作成しているのですが複数でデータを閲覧したり情報を入れようとするためA(データ保存ファイル)とB(メニューファイル)の2つを作成しました。Aはデータを保存するテーブルのみでBにはAのテーブルをリンクさせているものとデータを一時保存するテーブルがあります。 Bのデータ一時保存テーブルに一旦データを入れ、その後、追加クエリを実行しAのテーブルに反映させ、削除クエリで不要になったBのテーブルデータを削除していますが、追加クエリが上手く動いていないようです。 テキスト型、日付型等のフィールドは追加されるのですがメモ型フィールドに入れていたデータは削除されてAのテーブルに追加される時があります。(削除クエリはきちんと実行されています。) 私が行う限りは上記のような事象はありませんが、すでに何件か発生しているようです。 その時に表示されるメッセージは『???に失敗しました』と出ていたそうです。 何か思い当たる原因をご存知の方がいっらしゃいましたら教えてください。(上手く説明できてなくて申し訳ありません。) ちなみにAはNWサーバー、Bはローカルサーバーに保存しています。

  • アクセスのフォームに乗っけられるフィールドは216

    アクセスのフォームに乗っけられるフィールドは216個? アクセス2010で、テーブルのフィールドは250個近くあります。 そのテーブルを元に、単表フォームを作ろうとウィザードを立ち上げたのですが どうしても216個目で「フォームを作成できません」になります。 フィールド名がおかしいのかな?と、216個目のフィールド名を適当な文字に変えてみましたが やはりエラーになります。 ヘルプ等にこのような記載はあるのでしょうか? 探せませんでした。

専門家に質問してみよう