• ベストアンサー

Accessのプロパティについて

ExcelからAccessへデータをインポートしてテーブルを作り、フィールドの[データ型]を[テキスト型]から[数値型]へ変更しようとすると、保存時に「レコードが大きすぎる」と弾かれてしまいます。仕方がないのでフォーム上でテキストボックスのプロパティで書式を変更しようとすると、コンボボックスのリストが表示されないため変更できません。これはやはりレコードが大きすぎるためなのでしょうか?また、その解決法を教えていただきたいのですが…。あまりAccessは詳しい方ではないので分かりやすく御願いします。

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

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

Accのバージョンは幾つでしょう? Accのバージョンによってはエラー表示が酷い訳になってるものが、幾つかあります。 もしかすると 「レコードが大きすぎる」 ↓ 「レコードに存在するフィールドの値が大きすぎる」 って事かも・・・って、思ってみたのですが? 数値型の何に変換しようとしているのか確認して、後テキストにその型に当てはまらない数値が存在するかどうか・・・。 「倍精度浮動小数点型」にすれば大体変換は出来ますが、整数系の「整数型」「長整数型」だと、範囲に入らないことが・・・。 また、実際レコード数は、どれぐらいありますか? 実際、型変換でエラーが回避できなかった場合、新たにフィールドを追加&更新クエリーで回避は可能ですが、そちらの手を使う前に確認されたほうが、宜しいかと・・・データが欠落しちゃう前にね^^;

ping-t
質問者

お礼

ありがとうございます。 Dxakさんの回答を読ませていただく前に1つやってみたらどうにか解決できたみたいです。6~7桁くらいの整数が4000件あり、これに桁区切りを入れたかったのですが、エクセル上で入れてインポートしたら解決しました。 お騒がせして本当にすみませんでした。有難うございました。

関連するQ&A

  • フォームのプロパティを設定したい(Access2000)

    Access2000 XPです。 都道府県名が1レコードに1つずつ入っているテーブルと 各都道府県名のテーブルが47コあります。 新規でフォームを作成し(フォームのレコードソースはまだ未設定) コンボボックスを1つ置いて、値集合ソースに都道府県テーブルを設定し コンボボックスで選ばれた都道府県にフォームのレコードソースを変更しようと思っています。 Me.RecordSource=コンボボックス.text 単純にこれで良いと思うのですがエラー(入力された値は、フィールド又はコントロールで定義されている入力規則に従っていません)が出て全然更新されません。 どなたか分かる方、解決法をお願いします。。。

  • Access2003 コントロールの(?)エラーメッセージ

    Access2003 コントロールの(?)エラーメッセージ excelからインポートしたデータでテーブルを作り、そこから、今後もデータを増やしていけるようにフォームを作ろうとしています。 まず、オートフォームでフォームを作りました。 データの中に「カテゴリー」を表示するフィールドがあり、そこはフォーム入力時にプルダウンで選んで登録できるように、コンボボックスを使ってカテゴリーフィールド(コントロール)を作りなおしたところ、「例えば数値型のフィールドに文字列を挿入しようとした」というようなエラーメッセージが出ます。 このフィールドは元からテキスト値が入っていたところで、プルダウンで選べるようにしたカテゴリーリストのテーブルの方もテキスト値で入力しています。 なので、このエラーメッセージが「例えば」と言っているのと全く同じエラー(数値型のフィールドにテキスト値を入れる)がでているわけではないとは思うのですが、他に何が悪のいかがわかりません。 どこをどうしたらいいのでしょうか?

  • [Access2003]コンボボックスのプロパティの「値集合タイプ」について

    [Access2003]コンボボックスのプロパティの「値集合タイプ」について 今、参考書でAccess2003のフォームのコントロールの作成について勉強しています。『コンボボックスのプロパティ』の「すべて」の中の「値集合タイプ」の・・・・ 「テーブル/クエリ」、「値リスト」、「フィールドリスト」は、少しの説明だけで理解できなかったです。 Access初心者なので簡潔に「テーブル/クエリ」、「値リスト」、「フィールドリスト」を教えてくださったら助かります。

  • Access2000(>_<)

    Access2000を使っています。 既存のデータベースからレコードを削除できないように設定したいと思っています。 そこで、フォームのデザインにて、フォームのプロパティを開き、「データ」タブで「削除の許可」を「いいえ」にしてから閉じてみたのですが、試しにテーブルでレコードを削除してみると、削除できてしまいます。 再びフォームのプロパティを見ると、「削除の許可」が「はい」に戻っています。変更が保存されていないようです。 同様に、特定のフィールドの上書きを禁止したいので、同じくフォームのデザインで、上書きを禁止したいフィールドのテキストボックスのプロパティの「データ」タブにて、「編集ロック」を「はい」にしてから閉じましたが、この変更も保存されておらず、編集ができるままの状態です。 どうすれば変更を保存できるのでしょうか…。 またほかに、レコードの削除を禁止する方法、特定のフィールドのみ上書きを禁止する方法があれば教えてください。初心者なのでわかりやすく教えていただけると助かります。よろしくお願いします。

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

  • Access2000でテーブル内のフィールド値を全部読み取ってフォームのコンボボックスにリストとして取り込めるか

    こんにちは Access2000でテーブル内のフィールド値を全部読み取ってフォームのコンボボックスにリストとして取り込めるでしょうか。 フィールドの値は数値で、数値の範囲は変動します。

  • Accessのフォームで…

    Access 2010のフォームのリストボックスで、あるテーブルのフィールドの値を選択した場合に、同じテーブルの同じレコードにある違うフィールドの値を、テキストボックスに読み込みたいのですが、どうすれば出来ますでしょうか? VBAのサンプルソース等でも構いません。回答お願いしますm(_ _)m

  • accessのレポートで…

    レポート(テーブル1から作成)にあるフィールド1には「1・2・3…」という数字が入っています。 この1・2・3はテーブル2(ID・名前)とリンクしています。 フォーム上ではコンボボックスにして、テーブル2の名前も表示するようになっています。 (テーブルに値としては入っていません) これでレポートを作成した場合、テーブル2の名前を表示させたいのですが、テキストボックスで Iif([フィールド1] = "1","****",Iif(… というようにしてしまうと、せっかくリンクにしたのにデータが固定になってしまうのを避けたいんです。 フォームだとコンボボックスの更新後処理とレコードの移動にコードをかけば最新の情報を表示することができたんですが、レポートでもこのようなことはできるんでしょうか? (コードをかいて処理したいです) Access2000です。 よろしくお願いします。

  • accessのコンボボックスのことで質問です。

    accessを勉強しているのですが、ちょっとしたことで分からなくなってしまいました・・。 質問の内容なのですが、まずフォーム上にコンボボックスAとコンボボックスBを配置するとします。 レコードソースには仮に[情報テーブル]というテーブルが選択されているとします。 コンボボックスAには[情報テーブル]のフィールド名が、 例えば[顧客NO]、[商品]、[値段]というフィールド名が入っているとし、フィールドにはそれぞれ10件ずつデータが入力されています。 そしてコンボボックスAで[顧客NO]を選択するとコンボボックスBに[顧客NO]の10件のデータが挿入され、選択できるようにしたいのです。 他のフィールド名を選んだときにも同じようにコンボボックスBにフィールドのデータが入るようにしたいと思っています。 コンボボックスAにテーブル名を入れることはできたのですが、 コンボボックスAで選択されたフィールドのデータを、コンボボックスBで選択できるようにするというやり方がわからないのです・・。 accessは2002を使っています。 よろしくお願いします。

  • アクセスでのリスト表示について。

    アクセス初心者です。フォームのコンボボックスにテキストボックスをつけて、コンボボックスには担当者コードテキストボックスには=cmb_担当者.column(1)等と書いて、担当者名をcolumnで表示するのは可能ですよね。リストボックスの中で一覧表を作成したのですが、今は数値ばかりが見えていて、訳が分かりません。テーブルへのデータはほとんど数値で入っていくようにしています。columnが使えたら、テキストでも表示されるので見やすくなると思うのですが、クエリでのcolumnの作成は可能なのでしょうか?

専門家に質問してみよう