• ベストアンサー

Accessのデータ格納について

ACCESSについて質問です。 各フィールドに値を格納する際にテキスト型の場合 フィールドサイズが50だったとすると3文字の値が格納されても データ的には50文字格納していることになると言われました。 実際に数値を3文字ならフィールドサイズを3と固定したものと比べてみたのですが あまり変わらない気がします。。。 実際のところデータはどのようにして格納されているのでしょうか? 本当にフィールドサイズに比例して格納されるのならフィールドサイズを修正しなければならないのでお願いします><

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

  • ベストアンサー
noname#181803
noname#181803
回答No.1

Accessを全然知らない+データベースも全然知らない者ですが。 なので、全然参考にならないと思うんですが・・・。(^^;) [環境]Access2002 [テーブル]テーブル1 [テーブル1の構造] フィールド名1:ID データ型:オートナンバー フィールド名2:No1 データ型:テキスト型 フィールド名3:No2 データ型:長整数型 [格納データ] 01 ID:1 No1:test001test001test001 No2:11111 02 ID:2 No1:test002 No2:9999999999 03 ID:3 No1:test003 No2:11111 04 ID:4 No1:test004test004 No2:11111 こんな感じの簡単なデータベース(分かりにくくてすいません。m(_ _)m)を作って、バイナリダンプしてみました。 質問者さんも比較したとあるので、同じことやってたらすいません。m(_ _)m レコード本体の格納位置と思われる場所をざぁ~っと見た結果、 ID:1のレコードのテキスト部分のデータ("test001test001test001")、 ID:2のレコードのテキスト部分のデータ("test002")、 ID:4のレコードのテキスト部分のデータ("test004test004")は それぞれのテキストの文字数に応じてデータの格納バイト数が異なっていたので、たぶん可変長で格納されてるのかなぁ~と思いました。 データが可変長で格納されているのであれば、フィールドサイズを変更しようが、変更しまいが変わらないと思います。 ※※※※※※※※※※※※※※※※※※※※※※ 何度も書いてしまいますが、私はDBについて全然詳しくないし、Accessの構造も全然知りません。 今回の実験(みたいなものは)、私の当てにならない勘100%ですので、間違ってる可能性莫大です。(^^;) おせっかい者のなので、投稿してしまいました。 気分を害されてしまいましたら、すいません。

go_osaruku
質問者

お礼

ありがとうございました^^ Accessもデータベースも知らないと言われてますが 確実に私よりは詳しいと思います>< 参考にさせていただきますね! 実験までさせてしまって申し訳ないです、、、

関連するQ&A

  • アクセス:インポートできないデータ

    色々な型のデータが入ったエクセルデータをアクセスにインポートした時に出るエラーに関してです。 数値と文字列が含まれているためにアクセスのデータ型を”テキスト型”(フィールドサイズ255 書式@)にしております。しかしインポートすると文字列のデータがはじかれます。 アクセス側をテキスト型に設定すればどんなデータが来ても受け入れ可能だと思っていました。 数値、文字列両方のデータがインポートできる設定を教えてください。

  • 長さ0の文字列を格納できません。とエラー発生して困っています。

    アクセスのデータベースのフィールド1~20ぐらいのを各テキストボックスに表示させています。そこでテキストボックス内の文字や数値を変更して更新したいのですが、変更や追加は今の所可能ですが、データを空にすると「長さ0の文字列は格納できません。」と表示されます。 みなさんはこの様な時、空のデータにするにはどの様にされていますか?

  • アクセスのデータ取り込みについて

    UTF8のテキストデータを取り込みする際 データが10フィールドあるとします。 1レコード目の1フィールド目から9フィールド目までデータがあり、10フィールド目はNULL 2レコード目の1フィールド目から10フィールド目までデータがある場合 テキストデータ自体9フィールド目までしか取り込めない場合がございます。 こういったレコード終端がNULLの場合とNULLでない場合に取り込む際 注意することはありますでしょうか?? 因みにデータを取り込む際、文字コードを指定しフィールドの データ型を変更する際 存在するフィールドに比べアクセス上ではフィールド数が足らなくなるのですが・・・ どうぞよろしくお願いします。

  • Access2003にてあるフィールドのデータ型を

    Access2003にてあるフィールドのデータ型を 『数値型:単精度浮動小数点型』にして書式を『固定(0.00)』 にしてデータ格納しているのですがExcelVBAでSQL(SELECT文)を使って抽出すると すごい桁数(小数点以下)で出てきます どのようにすれば小数点以下2桁でデータ取得できますか?

  • Access2007へのデータインポート

    Excel2007で作った、2列だけの40,000行にわたるデータがあります。この1列目には数値が入っていて、複数の行に同じ数値が入っています。2列目は文字列です。 これをAccess2007で作ったデータベースに取り込みたいのです。 データベースにはIDフィールド(固有数値)とメモ型に規定されたフィールドがあり、Excelの1列目の数値がAccessのIDフィールドと一致したら、Excelの2列目の文字列を、メモ型に規定されたAccessのフィールドにインポートする作業を目指しています。 結果的に、メモ型に規定されたAccessのフィールドにはたくさんの文字列が連なるようにしたいのですが、方法がわかりません。 教えていただける方がおられましたらうれしいのですが・・・。どうぞよろしくお願いいたします。

  • 初心者です!エクセルVBAで

    初心者です!エクセルVBAでアクセスのデーターを修正したいのですが。 初心者です!エクセルVBAでアクセスのデーターを修正したいのですが。 データーがテキスト型を空にするには rs!Field1 = "" でいけるのですが 数値型だとエラーが出てしまいます。 フィールドを空文字にしたいのですが・・・

  • stringのデータ型はメモ型とテキスト型どちらがいいのでしょうか?

    こんばんは。 アクセスで 100文字のデータを入力したい場合、 フィールドのデータ型は テキスト型にしてフィールドサイズを100にするのと、 メモ型にするのとどちらがいいのでしょうか?

  • アクセスでのテキストデータ取り込みについて

    アクセスでテキストデータを取り込む際でのご質問がございます。 外部データからテキストデータを指定して 文字コードを指定して指定フィールドを文字列(テキスト型)として取り込もうとする際 例 取り込み前のデータ(文字列の後ろにスペースを含んだ半角20桁の文字列)    "1234567‐11‐2‐3 " "1234567‐234 " " "   *投稿画面ではスペースが表示されません)   文字列(テキスト型)として取り込んだデータ    "1234567‐11‐2‐3" "1234567‐234" "" となりスペースが消されてしまうのですが スペースが消されないでテキストデータを 取り込める方法をご存知の方いらっしゃいますでしょうか? どうぞよろしくお願いします。

  • Access2002でデータのインポートで悩んでいます。

    Access2002を初めて使います。 ファイルメーカーで固定長のデータ出力が出来ないので ファイルメーカーのデータを一旦 DBF形式で吐き出して Access2002に取り込みました。 件数は20万件ほどで、フィールドの数は20ほどです。 インポートは成功して、テーブルの作成はできましたが 固定長のフィールドサイズで出力するためにフィールド サイズの変更を行おうと考えています。 例えば1バイトのデータサイズを14バイトに変更して フィールド定義を保存しようとした場合に、メモリ エラーを起こしました。 1フィールドのデータを1バイトを14バイトに拡張した だけで、こんなエラーが起きるとは今まで思っていなかったので、こんなしょぼいとは思っていませんでした。 Access2002って負荷の多い処理には向いていないのでしょうか? 後からフィールドのサイズの変更を行うとこのようなエラーが発生するので、あらかじめフィールド定義だけを行ったテーブルを作り、そこに流しこむ方法を考えていますが、その方法がわかりません。 もし、その方法があればそれで解決しよいと考えています。 ちなみにマシンは WindowsXP Proでメモリは3Gで ハードディスクの空き容量は1G残っています。 ファイル自体は20MBほどしかありません。 これで、メモリエラーが出るなんて信じられません。

  • Accessのフィールドサイズ

    Access2000を使用していますが、テーブル作成時に 「テキスト型」でフィールドサイズを「10」に設定して データを入力すると、半角でも全角でも「10桁」までの入力に なりますが、フィールドサイズは半角も全角も関係ないのでしょうか? 「テキスト型」の最大フィールドサイズは「半角255文字」と 思っていたのですが、全角でも255文字入力できました。