• ベストアンサー

ACCESSでの桁数を指定して数値を抜き出し、カンマ区切り表示にする方法

30246kikuの回答

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

#1です > 数式を入力する方法も合わせて教えて 失礼しました。 ユーザ定義関数は記述できたものとして、以下手順を。 クエリのデザイン画面を開いているとします。 そこには、対象のテーブル/クエリが四角いテーブルの様な形で表示されているとします。 変更したいフィールドを1つダブルクリックすると、下の方にそのフィールドが表示されると思います。 ここで、クエリをSQLビュー表示に切り替えてみます。 そこに表示されているのは、 SELECT テーブル名.そのフィールド名 FROM テーブル名; のようになっていると思います。 ここを自力で、 SELECT CutAndKamma(テーブル名.そのフィールド名) AS XXXX FROM テーブル名; と書き換えてみます。 その後、クエリをデータシートビュー表示に切り替えてみます。 すると、7つの文字がカンマ区切りで表示されると思います。 その時に表示されるフィールド名が、XXXX になります。 クエリをデザインビュー表示に切り替えてみます。 すると、フィールドの欄は XXXX: CutAndKamma(テーブル名.そのフィールド名) に書き変わっていると思います。 で、これをメモ帳などに張り付けて、XXXX の部分、そのフィールド名の部分を変更したものを、隣のフィールド欄に張り付けていきます。 #1 で示したものは、SQLビュー表示での書き方になります。 (デザインビューを見たまま説明するのが難しいので、クエリの内容についてはSQLビュー表示での書き方を示すことが多いです) ※その変更したいフィールドが10個あるようなので、XXXX も10通りの名前に変更します。 (同じ名前:フィールド名は付けれないので)

KTN1123
質問者

補足

30246kiku 様 早々の御回答をありがとうございます。 ご指示いただきました手順で「SQLビュー表示」画面で、 テーブル名やフィールド名を書き換えた上で、クエリを データシートビュー表示に切り替えようとしたのですが、 「構文エラー:クエリ式に演算子がありません(構文エラー)」 と表示され、次に進むことが出来ませんでした。 原因として考えられることがあれば、教えて頂けると幸いです。 度々お手数お掛けして申し訳ございませんが なにとぞ宜しくお願い致します。

関連するQ&A

  • 数値データの一括変換方法について

    「EXCEL」または「ACCESS」でのデータ変換について質問です。 下記のような「0」と「1」からなる10桁の数値があり、 それを特定のルールに従い一括変換する方法があれば教えて下さい。 例(1))0000000000 →0 例(2))1111111111 →1|2|3|4|5|6|7|8|9|10 例(3))1010110000 →1|3|5|6 例(4))0000110010 →5|6|9 例(5))0000000001 →10 10桁の数値の左側から順に「1」になっていれば、その桁の数値に置き換える。(1桁目は「1」、3桁目は「3」、10桁目は「10」) また置き換えた数値が2個以上ある場合は、「|」の記号で区切る。 上記のような数値データが数万個あり、それらを一括で変換できる方法があれば教えて頂けると助かります。 お忙しい所 大変恐縮ではございますが、何卒宜しくお願い致します。    

  • 数値データの最後尾の値から判定し一括変換する

    「EXCEL」または「ACCESS」でのデータ変換について質問です。 下記のような「0」と「1」からなる10桁の数値があり、 値の末尾からみて数値を以下のように括変換する方法があれば教えて下さい。 (本来は10桁の数値なのですが、EXCELの仕様で先頭の「0」は非表示) 例(1)0      →0 例(2)1111111111 →1|2|3|4|5|6|7|8|9|10 例(3)1010110000 →1|3|5|6 例(4)110010   →5|6|9 例(5)1000000010 →1|9 例(6)1      →10 10桁の数値の左側から順に「1」になっていれば、その桁の数値に置き換える。(末尾1桁目は「10」、末尾3桁目は「7」、末尾10桁目は「1」) また置き換えた数値が2個以上ある場合は、「|」の記号で区切る。 上記のような数値データが数万個あり、それらを一括で変換できる方法があれば教えて頂けると助かります。 お忙しい所 大変恐縮ではございますが、何卒宜しくお願い致します。

  • accessで数値の表示桁数を指定する方法

    access2007使用です。 テーブルでは数値の指定が出来ますが、それによって計算結果を出すクエリを作ったところ、小数点で表示されてしまいます。 小数点2桁で全て表示を揃えたいのですが、どこの画面でどのような設定をしたらいいのか分かりません。 その設定の画面と設定方法を教えてください。

  • Accessでテキスト型→数値型への変換方法

    Access2000を使用しており、クエリを作成しています。 テーブルから[回答]というフィールドをひっぱってきています。 フィールド[回答]にて、最初の3文字に対応時間を入れており、 Mid関数にて対応時間を抽出しました。 対応時間:Mid([回答],1,3) しかし、Mid関数でとったフィールドは文字列として認識されています。(Ex:001など) この文字列を数値に変換する関数、又は方法などお教えくださいませ。 よろしくお願い致します。 以下にイメージ図を記載致します。 ================================= 回答            対応時間 001 ●●●~        001 ================================= (対応時間を数値で扱えるようにしたい、ということです)

  • ACCESSでの桁数のあわせ方

    EXCELで (1)ERPソフトからの抽出データと (2)手入力で管理しているデータ をACCESSで取り込んで、加工をします。 それぞれ入力方法が (1)のERPからのデータは必ず10桁(0000012345とか0000000123)で (2)は有効分(12345とか123) となっていますのでACCESSへ、インポートする際に 桁数が異なってしまい、クエリーで結び付けられません。 そこで、(2)のデータを(1)のように必ず10桁にして 桁数あわせに0が入るといった方法、つまり12345なら0000012345、123なら0000000123と変換させる 方法はありませんでしょうか。 出来れば、(2)をACESSで取り込んでからACCESSで処理をしたいです。

  • アクセスの数値入力

    アクセス2002で作製したテーブルの フィールドに受注コードを入力したいの ですが、数値が思うように入力できませ ん。 5桁で00001や00234などと入 力したいのですが、1や234と表示さ れてしまいます。 解決方法をご存知の方アドバイスをお願 いいたします。

  • アクセスで桁数を増やしたい

    アクセスで桁数を増やしたい 従業員のデータベースをアクセスで作成しているのですが、 諸般の事情と従業員の出入りが激しいので桁数を増やしたいのですが、 方法がわかりませんのでお願いします 今現在は、 従業員の個人コードを10001の5桁で管理しておりますが、 それを、7桁にしたいのです。 最初の1は、部署を表し、0001は、個人コードです。 部署 1を11と2桁にし 個人コード0001の4桁を00001の5桁にしたいのです たとえば                   旧個人コード  新個人コード 最初の1を11に  10001   1100001    1を11に  12222   1102222       2を12に  23333   1203333    3を13に  32222   1302222    4を21に  43333   2103333    5を22に  51234   2201234    6を31に  68888   3108888    7を41に  70001   4100001したいのです このフィールドのデータ型は数値型で主インデックスです OSはXP ソフトはオフィス2003です。

  • 【Access97】指定した桁数で区切りたい

    txtファイルをAccessへインポートした後、項目毎に区切るためにMid関数を使用していますが、全角文字を2桁として認識してくれず区切り位置がおかしくなってしまいます。 同様の作業をExcelでやっても同じでした(添付画像参照、データは一部項目のみ抜粋)。 項目数=30個、桁数=一行につき255桁(固定)、1つのtxtファイル内のデータ行=200行以上、そのtxtファイル数が数十個あるので毎回Excelの『区切り位置指定ウィザード』を使用するのも大変です。 何とかAccessの更新クエリーで作業したいのですが、指定した位置で区切る方法、もしくは全角文字を2桁として認識させる方法はありませんか?

  • エクセルで桁数の表示について

    エクセルで入力した数字を6桁の表記変換にする事ってできますか? 例  1   →000001  123  →000123  123456→123456 と言う形に変換したいのですが。 目的は、VLOOKUP検索で検索する値がすべて6桁の 表記になっているので、6桁の文字列にしないと いけないからなんですが。 とりあえず、下記に示すif関数で変換してるんですが もっと簡単なやり方ってないものですか? 宜しくお願いいたします。 現在している変換方法 =IF(C2<10,"00000"&C2,IF(C2<100,"0000"&C2,IF(C2<1000,"000"&C2,IF(C2<10000,"00"&C2,IF(C2<100000,"0"&C2,C2))))) (C2セルに数値を入力)

  • Access フィールド内の値で、右端から5桁目の値だけを抽出する方法について

    Accessのフィールド内にある半角英数字(10桁~20桁)の右端から5桁目(または左端から5桁目)だけを抽出する方法を教えて下さい。 以下のように 各フィールド内に値が入力されています。 入力されている桁数は10桁以上20桁未満です。(全て半角) ◆元データ(レコードが10万件以上ある)  フィールド1    フィールド2     フィールド3 (1) 12345678910    11aa22bb33cc44dd55  1010101010101010 (2) 9876540000     aaaaaabbbbbb1111    11111111111111 ◆右端から5桁目だけを抽出する  フィールド1    フィールド2     フィールド3 (1)  7          4          0 (2)  4           1           b よろしくお願い致します。