• ベストアンサー

Access2007のデータ型

Access2007の独学を、参考書2冊を片手に始めたばかりです。 幼稚な質問かもしれませんがお願いします。 商品コードとか社員コードのような主キーを設定するデータのデータ型に、1つの参考書ではテキスト型を採用し別の参考書では数値型を採用しています。 一般的にプロパティーの設定の仕方として、計算の対象になるものは数値型を設定するという建前からすると、商品コードとか社員コードのようなデータはテキスト型にするのが自然ではないかと思います。 あえて数値型にする意図はなんでしょうか? 著者に聞くのがよいことは分かっているのですが、実際の設計に当たっておられる経験者の方のご意見をお待ちします。 また、実際の設計ではどちらを使っているのが多いのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • euph90
  • ベストアンサー率13% (2/15)
回答No.1

商品コードが文字を含むようなものであれば数値型にはできませんね。 そうでなければどっちでもいいわけですが、一般に数値型の方が処理が高速ですし、容量も小さくてすみます。 しかし、今時のコンピュータは十分高速ですから、データ量が膨大でない限りあまり差は感じられないでしょう。

Eloisa
質問者

お礼

ご回答ありがとうございます。 数値型の特徴を教えてくださりありがとうございました。 結論はどちらでも構わないということですね。 ありがとうございました。

その他の回答 (1)

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

システム設計においてコード体系をどうするかというのは結構重要なところです コードを見てある程度ものを類推できる(記憶しやすい) 将来性を考えておく(例えば新製品が出てきたときに迷わずコードを割り振れる) というようなものにしようとすると数字だけでは不足でテキスト型になるでしょう ユニークでありさえすれば何でもいいというような時には簡易にオートナンバー の使用も考えられます(当然数値型) ケースバイケース、こうでなければいけないというものはありません >計算の対象になるものは数値型を設定する 主キーを使って計算するというのは無いでしょうね

Eloisa
質問者

お礼

ご回答ありがとうございます。 ご教示のように意味を持たせるということは必要なことですね。 たとえば車のナンバーとか。 でもどちらの型にしても大して差がないことだということがわかりました。 ありがとうございました。

関連するQ&A

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

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

  • アクセス2003 ルックアップについて

    下記のテーブルで次のようなことをしています。 <商品分類> ・商品ID(オートナンバー)・・・入力順に自動で入ってます。 ・コードA(数値型)・・・商品の種別を約10種類の番号で振り分けています。 ・コードB(数値型)・・・メーカーごとに分けられるように番号をつけています ・コードC(数値型)・・・コードA・Bが共通なもの同士を個別番号で分けています。 ・商品名(テキスト型)・・・商品名を入力しています。 ・商品コード(テキスト型)・・・仕入先からの伝票上のコードを入力しています。 ・備考(テキスト型)・・・商品名・商品コードだけでは分かりにくい時の補足を記入しています。 <仕入記録> ・仕入記録ID(オートナンバー)・・・入力順に自動で入ります。 ・仕入年月日(日付型)・・・仕入年月日を入れています。 ・仕入先(テキスト型)・・・仕入先を入力しています。 ・商品名(ルックアップ/テキスト型)・・・<商品分類>の商品名が表示されるようにしています。 ・数量(数値型)・・・商品の数量を入れています。 ・単価(通貨型)・・・商品の単価を入れています。  現在<商品分類>に約1000商品のデータを入れてあります。 ルックアップの表示はコードA・B・Cの昇順で表示し、選択後は商品名が表示されるようにしてあります。 (コードA~C・商品名・コードA~Cの7列で最初の3列の列幅を0cmにしてます) (1)この状態で<商品分類>の商品名やコードA~Cを書き換えた場合、仕入記録の商品名にはすべて反映されるのでしょうか? 特にコードCを変えた場合はどうなるんでしょうか? 例:コードA  コードB  コードC  商品名     10     5     1   大根              ↓    コードA  コードB  コードC  商品名      10     5     1  ニンジン    コードA  コードB  コードC  商品名      10     5     2    大根 上記のようにした場合、既に入力された<仕入記録>のデータの商品名大根はどうなるんでしょうか?  (2) <仕入記録>でクエリを作成し、商品ごとの仕入金額を出そうとしているんですが、(1)のようなデータの変更をした場合どのように反映されるんでしょうか? 書き方がややこしいと思いますが宜しくお願いします。

  • Accessで一致したデータを表示させたい

    Accessについて教えてください。 Accessで以下のようなテーブルを作っております。 (T1)テーブル1(社員データ) 社員NO オートナンバー 所属 テキスト型 氏名 テキスト型 (T2)テーブル2(面談データ) NO オートナンバー 日付 日付/時刻型 面談者氏名 テキスト型 面談者企業名 テキスト型 社員NO1 数値型 社員NO2 数値型 社員NO3 数値型 社員NO4 数値型 社員NO1,2,3,4はテーブル1の社員NOとリレーションでつながっています。 (T1)社員NO、(T2)NO以外のデータを最終的にレポートで表示します。 ここで、クエリ、フォーム、レポートをいづれでも作成するときですが、 日付(T2) 面談者氏名(T2) 面談者企業名(T2) 社員NO(T1)(非表示) 社員NO1の所属(T1) 社員NO1の氏名(T1) 社員NO(T1)(非表示) 社員NO2の所属(T1) 社員NO2の氏名(T1)・・・(社員NO3、4と続けて) という風に作りたいです。 クエリ、フォーム、レポートで作成すると、社員NO1(T2)の所属(T1)氏名(T1)、しか表示されません。(これでは当たり前かもしれませんが・・・) 社員NO2、3、4の所属、氏名も表示させたいです。 フォームやクエリ、レポートで社員NO2、3、4(T2)のデータと一致する社員NO(T1)の所属、氏名を表示させる方法はどのようにしたらよろしいでしょうか。 どうかよろしくお願い致します。

  • VB6でのSQLでのアクセスデーターの追加について

    abc = "insert into 社員テーブル(コード,名前) values ('0002','Takeda')" c1.Execute abc 上記のようにプログラムで直接データーを入力すると データーは追加で登録できるのですが 下記のように、テキストボックス1(tx1.Text)とテキストボックス2(tx2.Text)にデーターを入力して、入力した 内容を追加しようとするとエラーになります。 どこが間違っているのでしょうか? abc = "insert into 社員テーブル(コード,名前) values (tx1.Text,tx2.Text)" c1.Execute abc

  • エクセルで、テキストデータと数値データを加工したい

    いつもお世話になります。 エクセルに、下記の表があります。 商品コード 商品名 空白行 幅 高 奥行 4901234567890 A商品 30 60 20 このデータを、 商品コード 商品名 空白行 幅 高 奥行 "4901234567890" "A商品" "" 30 60 20 という形にマクロで自動的に加工したいのです。 やりたいことをまとめると、 ・商品コード(8ケタ~13ケタの数値)と、商品名などのテキストデータには、データの頭と後ろにタブをつけたい。 ・サイズ情報など、3ケタ程度の数値はそのままにしたい。 ・空白行には、タブを2コ入れたい。 以上の3つを同時に行うマクロの作成は可能でしょうか。 以上宜しくお願い致します。

  • アクセス2000です。クエリについて教えて下さい!!

    アクセス初心者です。クエリについて教えて下さい!! 注文書を作成できるものを作りたいのですが、 テーブルで M商品 ・グループコード(テキスト型) 主キー ・品番(数値型) 主キー ・サイズ(テキスト型) 主キー ・品名(テキスト型) ・単位コード(数値型) ・現在庫数(テキスト型) ・下限在庫数(テキスト型) T注文 ・伝票No.(テキスト型) 主キー ・日付(日付/時刻型) ・注文状況(数値型) ・希望納期(日付/時刻型) ・仕入先コード(テキスト型) ・納入場所コード(数値型) ・担当者コード(テキスト型) ・備考(メモ型) WT明細 ・伝票No.(テキスト型) 主キー ・行番号(数値型) 主キー ・グループコード(テキスト型) ・品番(数値型) ・サイズ(テキスト型) ・数量(テキスト型) ・単位(テキスト型) ・備考(テキスト型) T単位 ・単位コード(数値型) 主キー ・単位(テキスト型) があって クエリで WT明細とM商品とT単位を結合して ・伝票No. ・行番号 ・グループコード ・品番 ・サイズ ・品名 ・数量 ・単位コード ・単位 ・備考 としているのですが、フォームで入力する時に グループ、品番、サイズに値を入力したときはちゃんと品名がでるのですが、サイズに何も記入しないときは空白になるんです。 説明すると M商品 グループコード 品番 サイズ 品名 15 、3、 25.5bl、 靴黒25.5 の時は「靴黒25.5」が品名にでてくるのですが グループコード 品番 サイズ 品名 99、 999、(サイズ空白)、 その他 の時に「その他」が品名にでてきません。 どうしたらいいですか? ちなみに「その他」と出てきても名前を変更する場合がありますが そのときにその場では「その他」を「靴エナメル」も変更しても M商品の「その他」は「その他」のままにしておきたいです。 分かりづらい説明ですが、どなたかご教授下さい。

  • アクセスで複数フィールドを結合して1フィールドを作る際

    こんにちは。 OSはWIN2KでAccess2000を使用しております。 「T_データ」テーブルには、 社員コード(数値型)、社員名(テキスト型)、 給料(数値型)、住所(テキスト型)フィールドがあります。 この4つのフィールドを以下の条件を満たしつつ 「T_結合」テーブルの「結合データ」フィールドという 一つのフィールド(テキスト型)に追加したいのです。 ------------------------------------------------ 1.社員コードは 5桁、社員名は半角30桁、 給料は10桁、住所は全角20桁。 2.社員コード、給料は右詰とし残りは0で、 社員名、住所は左詰とし、残りは空白("")で埋める。 ------------------------------------------------- 最終的に「T_結合」テーブルを1レコード85バイトの レコードとしてエクスポートするのが目標です。 アクセスはUnicodeで管理されているというので単純には いかなそうなので、どなたかご教授願います。

  • Accessのフォームで

    教えてください。下のようなテーブルがあり、これを元にフォームを作成したいのですがいい方法が見つかりません。 【テーブル】  品物テーブル(品物ID、品物、製作所)  社員テーブル(品物ID、社員コード、氏名) このテーブルを元にして下のようなフォームを作りたいのです。 【フォーム】  品物ID [テキストボックス]  品物 [テキストボックス]  製作所 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス] ※社員コード、氏名が3つあるのは、同じ品物を3人が作成することがあるため。(この部分で悩んでいます) このようなフォームを作ることは可能でしょうか? また参考になるようなサイトなどあれば教えてください。 よろしくお願いします。

  • Excel→Accessへの日付データのインポート

    Excelで作った下のようなデータを、Access2000のテーブルにインポートしようとしています。 グループ名(文字列) 納期(日付) 商品(標準) ()内は書式設定 納期の日付書式は「yyyy/m」に設定しているのですが、Accessにインポートすると、テキストとして認識されて「38565」のようの数値が返されてしまします。 Excelの日付データをAccessに日付型データとして 認識させる方法を教えてください。 なるべくシンプルな方法だと助かります。当方、 VBAなどの知識はほとんどありませんので・・・・。 よろしくお願いします!!!

  • アクセスのレポートでの設定

    会社ID[数値型] 会社名[テキスト型] 受注ID[数値型] 受注商品[テキスト型] 受注額[通貨]・・・ とデータがあります。 これを、レポートで、会社ごとに1ページに印刷したいときはどのように設定したらいいでしょうか? 会社IDにてグループ化するところまではわかったのですが、同一ページに印刷されてしまいます。

専門家に質問してみよう