• ベストアンサー

テキスト型数字の置き換えの方法

Access2007で民宿の管理ソフトを作っています。 今まで商品コードをテキスト型で1から番号を振っていましたが 商品数が多くなってくるときちんと番号順に並ばなくなってくるのに気がつきました。 例:1,10,11・・・19,2,20,21・・・29,3,30,31・・・ そこで遅ればせながら1から9までのコードを01から09に振り替えようと思っています。  商品テーブルのプロパティで変更すれば今後の運用には問題ありませんが 今まで積み重ねてきたデータとの整合性が無くなってしまうので頭を痛めてます。よい知恵をお貸しください。  

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

  • ベストアンサー
  • tag1701
  • ベストアンサー率54% (67/123)
回答No.1

商品コードを昇順で表示させるものがいくつあるか不明ですが、 少なく且つクエリをかませてある場合、商品コードの列を val(商品コード)という関数を使い、文字データを数値データに 変換させ、昇順でならばせてはどうでしょうか? 多分複数のテーブルに商品コード入力されているものと推察され、 プロパティも全てのテーブルを変える必要がありますので これが一番簡単かと思います。

kumanosennin
質問者

お礼

ご回答ありがとうございます。 商品コードを記入しているテーブルはそうないんですが 請求明細入力フォームの フォーカス喪失時に ”Private Sub 商品コード_Exit(Cancel As Integer) If Not IsNull(商品コード) Then 商品名 = DLookup("商品名", "商品", "商品コード='" & 商品コード & "'") 単価 = DLookup("単価", "商品", "商品コード='" & 商品コード & "'") End If” の記述を入れてます。 商品コードがテキスト型なのでシングルコーテーションで囲っていますが この場合どうなるのでしょうか

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tag1701
  • ベストアンサー率54% (67/123)
回答No.3

>商品コードがテキスト型なのでシングルコーテーションで囲っていますが この場合どうなるのでしょうか 断言は出来ませんが、請求明細入力フォームという表現ですので 明細を入力するプログラムだと推察いたします。 この部分では並べ替えの記載が無いので(Order By関数)、 いじる必要はありません。 又このフォームを動かす基となるテーブルの商品コードはで 数値に直す箇所があるとすれば商品コード検索?部分がある場合の VBAでOrder By関数のある箇所のみval(商品コード)記述に変わる と思われます。 最初に回答したものは商品コード一覧表みたいなレポート作成 の場合、select [商品コード],[商品名] from 商品データ order by [商品コード]のケースで、order by val([商品コード]) でどうでしょうか みたいなQ&Aでした。 (内容100%理解してないので、質問と一致して無い場合  申し訳ありません)

kumanosennin
質問者

お礼

一応民宿の管理システム、と言うことで 顧客フォーム、請求書発行のため宿泊料、飲食の明細を計算する サブフォームを含む請求フォーム、それを元にした請求書発行レポートを 解説書片手にずぶの素人が5年ほど前に原型を作りました。 なにせ素人仕事なだけに時間が経つとここがおかしい、もっとこうしたい との思いが募るようになり今回改めて見直してみようと思ったわけです。 悲しいかな専門的知識があるわけでなし、年も50を大きくオーバーして 頭がついて行かなくなりました。 私の方こそ的確な質問ができなく申し訳ありません。 Order By関数確認してみましたが「レコードの並べ替え」とはちょっと違うように思えます。 まぁ今のままでも使えてますのでしばらくはこのまま行こうかと思います ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

リレーションシップは設定されていますか。 リレーションシップで「参照整合性」「フィールドの連鎖更新」が設定されていれば、 一側を変更すると、多側も更新されます。 ※試される時にはバックアップは忘れずに

kumanosennin
質問者

お礼

参照整合性が設定できないようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスからテキストファイルにエクスポートしたい。

    お願いします。 会社の商品管理でアクセスを使用しています。 クエリで抽出したデータを、テーブルに保存したものを、取引先に添付データとして送らなくてはいけません。 取引先の指定が、固定長テキストファイルなのですが、幾つかわからないことがありますので教えてください。 (1)事務員に、あまり難しい事をさせたくないのでできるだけ自動化したい。 (2)項目は、伝票日付8桁、伝票番号8桁、商品コード5桁、数量10桁 (3)伝票日付は、現在テキスト型で、定型入力0000/00/00の形式です。  これをyyyymmddの8桁に直さなくてはいけません。 以上、よろしくお願いいたします。

  • アクセスでテーブル内容を書き換えたい

    アクセスで商品管理を行っていますが、商品マスターのテーブルに商品毎のIDを付けて出荷データなどを入力していたのですが、その後商品が増えマスターの空き番号を使うと商品群がバラバラになってしまいます。 そこでIDを付け直したいのですが、番号を変えると当然過去の出荷データの整合性も取れなくなってしまいます。 うまく変更する方法があれば教えてください。 判りづらい質問で申し訳有りません。

  • ACCESSでテキストファイルを出力させる方法

    こんにちは ACCESS初心者のmynannといいます さっそく質問ですが 例えば テーブルに 商品コード 価格  販売 001     \100  yes 002     \300  no 003     \200  yes 004     \250  yes 005     \150  no というデータがあったとして これを元に 「扱ってる商品は001,003,004で    それぞれの値段は  001 \100 003 \200 004 250です」 というようなテキストファイルを出力することは可能でしょうか? できるとしたらマクロやモジュールを使うのでしょうか? 面倒だとは思いますがやり方もしくは勉強すると 参考になる箇所などを教えていただきたいです お願いします!

  • SQLを教えてください。

    以下に5つのテーブルがあるとします。 (1)全体テーブル  ・登録順番号(Key)  ・登録名 (2)商品テーブル  ・項目コード(Key)  ・品名コード(Key)  ・商品登録順番号(Key)  ・商品サイズ(Key)  ・品名 (3)商品単価テーブル  ・項目コード(Key)  ・品名コード(Key)  ・商品登録順番号(Key)  ・商品サイズ(Key)  ・登録順番号(Key)  ・商品単価 (4)新_商品単価テーブル  ・項目コード(Key)  ・品名コード(Key(Key))  ・商品登録順番号  ・商品サイズ(Key)  ・登録順番号(Key)  ・新_商品単価 (5)詳細テーブル  ・登録順番号(Key)  ・品名コード(Key)  ・原価項目コード(Key)  ・商品数量A  ・商品数量B 上記のテーブルから、以下の条件に合致する「(1)の登録名」「(2)の品名」「(4)の新_商品単価×(5)の商品数量※」を取得したい。 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A 【条件1】全てAND条件 新_商品単価テーブルの項目コードが100  新_商品単価テーブルの品名コードが50 新_商品単価テーブルの新_商品単価×詳細テーブルの商品数量※<0 商品単価テーブルの商品単価×詳細テーブルの商品数量※>0 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A 上記で抽出出来るレコードに加えて、以下 【条件2】全てAND条件 新_商品単価テーブルの項目コードが200~300あるいは400~500 新_商品単価テーブルの新_商品単価×詳細テーブルの商品数量※=0 商品単価テーブルの商品単価×詳細テーブルの商品数量※>0 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A どのようなSQLで抽出できますでしょうか?? DBはAccessです。

  • access2000 vba の テキストイベント取得

    access2000 vbaで、プログラムを組んでいます。 画面にテキストボックス1と、表(あるテーブルの内容をあらわしているもの)があります。 [初心者でこの表のうまい言い方がよくわかりません・・] テキストボックス1は、プロパティの、データ/コントロールソースが、あるテーブルのコードになっています。 このテキストボックス1は表のレコードを選択することにより、内容が変わります。(選択したレコードの、コード値になります。) ここで、テキストボックス1の値が変化したときに、イベントを発生したいのですが、なかなかできません。 change,afterupdateではだめでした。 うまくつたわらないかもしれませんが、手入力以外による値の変化は、テキストボックスイベント検知はできないものでしょうか。

  • FM 繰り返しフィールドの数字を取るには

    いつも勉強させていただいてます。 今在庫管理のデータベースを構築しているのですが、 注文処理というテーブルに 商品コード 1・2・3・・・・・と 注文数   1・2・3・・・・・ という二つの繰り返しフィールドがあり、 例えば、「3」の商品を「10」注文した場合に、 商品テーブルの在庫数に10加えたい場合、 どのようにしたらよいのでしょうか。 商品テーブルは1商品1レコードですが、 注文処理は1回の注文を1レコードにしているため、 複数の商品を注文することがほとんどなので繰り返しを使っています。 うまく一度の操作で在庫数を管理することはできないでしょうか。 よろしくお願いします。

  • Accessでのデータ加工方法を教えてください

    アクセス(Microsoft Access)で複数のデータから条件にあったデータを抽出する方法を知りたいです。 1:JANコード,原価 と並んだ20万件のテーブルと、 2:商品番号,JANコード,数量 (商品番号違いの同一JANコードがあり、JANコードなしの商品番号はありません。2のデータのJANコードはデータ1に必ずあります) と並んだ40万件のテーブルがあります 2のデータに1のデータからJANコードを基準にして、原価をもってきて 3:商品番号,JANコード,数量,原価 のデータを作成したいのですが、どのような手順で行えばいいのでしょうか? JANコードを軸にして1のデータから2のデータに当てはめていくのですが、 1のデータの「原価」は1点あたりの原価、 3のデータの「原価」は『1のデータの「原価」』×『2のデータの「数量」』の形にしたいと思っています。 アクセス初心者で説明が上手く出来ないのですが、この説明でわかった方いらっしゃいましたら、お願いいたします。

  • Access DLOOKUPについて

    Access DLOOKUPについて こんにちは。Access2010でのDlookupについてお教えください。 ■注文テーブル オーダーID,商品コード,数量,お店番号 001,A01,1,お店1号 001,A02,5,お店1号 002,B01,3,お店2号 002,B02,3,お店2号 ※同一オーダーIDで商品コードが重複する事は無 ■確認用注文テーブル 商品コード,数量,お店番号 A01ですよ,1お店1号 B02です,3,お店2号 ※なんと、オーダーIDがありません。さらに商品コードに変な文字列も入っています。 ■やりたい事 フォームに「判定」というテキストボックスを配置しました。 コントロールソースで以下の条件にあっているなら○、あっていないなら×と表示したいです。 ○注文テーブル.商品コードと確認用注文テーブル.商品コードを比較。 注文テーブル.商品コードのデータが確認用注文テーブル.商品コードに含まれていること。 ○注文テーブル.数量と確認用注文テーブル.数量がイコールであること。 ○注文テーブル.お店番号と確認用注文テーブル.お店番号がイコールであること。 これらを満たしていれば、○、満たしていなければ×と表示したいです。 Dlookupでなくても、何か他に方法がありましたらお教えください。 宜しくお願いします。

  • accessのコンボボックスについて

    質問があります。下記のようなテーブルがあります。 ▼商品情報テーブル  ・商品ID (番号はオート。キー)  ・商品番号(自社で設定している商品ごとの番号)  ・商品名 これを「受注伝票」フォームに使用します。 商品番号をコンボボックスで指定すると 商品名が別のテキストボックスに自動で表示。 もし登録されていない商品の場合には 商品番号と商品名をその場で登録して商品情報テーブルに反映させたい。 コンボボックスで選択する際はID順ではなく、 商品番号の昇順で並び替えたいと思います。 商品番号は数値ではなくテキストになっています。 弊社では「i0001、i0002...」のように、商品番号の頭に「i」が付くからです。 ACCESSのバージョンは2002です。 どうぞよろしくお願いいたします。

  • ACCESSのテーブル設計とクエリ

    ACCESS初心者です。 ACCESS2010 OSはWindows7です。 パソコンはアクセスとエクセルマクロの入門書を読み終えたレベルです。 只今、注文実績管理表を作成するために、必要な情報を複数のテーブルに 分解してコード化していますが、関連付けできない為にデーターの参照ができません。 対応方法があれば教えていただくようお願いします。 どうしても実現したいので、テーブルの設計が間違えているかもしれませんが写真を掲載します。 ■現在の状況と質問 A)商品だけで300アイテムあります。リストを見ながら商品名と金額を入力するのは、膨大な時間を奪われるので、発注書に書かれている。4ケタの商品番号と注文数量の入力のみに したい。その後に入力した4ケタの数字でデーターを集計し、分析業務につなげていきたい B)【C】と【D】は注文書のイメージです。ひとり最大50個の商品を一枚の注文書で 発注します(ひとりの注文が1か月に1~3回)。一回の注文で最大、50品目のデーターを 格納することは、アクセスで可能なのでしょうか? C)発注実績の抽出ですが、以下内容で実行したいです。どうすれば可能でしょうか?   テーブルの設計と関連付け、リレーションの設定がわかりません。   i)個人別の1か月注文実績。商品名、注文合計数、合計金額を商品別に表示   ii)個人別の注文合計金額(月、年間)の集計。   iii)商品Aの注文実績(月、年間) D)リレーションの状態。 【A】の(2)と【C】の(2)  【B】の(2)と【D】の(3)、(5)、(7)、(9)、(11)、(13)、(15)、(17)、(19)・・・ 【C】の(1)と【D】の(2)のみ参照整合性がとれています。 E)商品テーブルのドリルボタンを押して、下の階層を見ようとすると、画像のような メッセージがでます。これはなんなのでしょうか? ■現在の状況を列挙します。 【A】顧客テーブル (1)顧客ID(オートナンバー・・・長整数型) 主キー(2)発注コード(テキスト型)         ※発注コードは『英数字』のためテキスト型。リンク先も『テキスト型』 (3)氏名(テキスト型) 【B】商品テーブル (1)商品ID(オートナンバー・・・長整数型) 主キー(2)注文番号(数値型・・・倍精度浮動小数点型) (3)品名(テキスト型) (4)金額(通貨型) 【C】注文テーブル 主キー(1)注文ID(オートナンバー・・・長整数型)    (2)日付 (3)発注コード(テキスト型)        ※発注コードは『英数字』のためテキスト型。リンク元も『テキスト型』 【D】注文明細テーブル(注文番号は全て4ケタの数字です。重複Noはありません) 主キー(1)注文明細ID(オートナンバー型・・・長整数型) (2)注文ID(長整数型) (3)注文番号1(数値型・・・長整数型) (4)数量(注文番号1) (5)注文番号2 (6)数量(注文番号2) (7)注文番号3 (8)数量(注文番号3) (9)注文番号4 (10)数量(注文番号4) ・ ・ ・※注文番号50まで続く・・・

プリンターにwifiがつながらない
このQ&Aのポイント
  • プリンターのwifi接続に問題が発生しています。どうすれば解決できるでしょうか?
  • EPSON製のプリンターでwifi接続ができない状況です。どのようにすれば解決できますか?
  • プリンターとwifiの接続がうまくいかず、印刷ができません。解決策を教えてください。
回答を見る

専門家に質問してみよう