アクセス:Dlookup使用での更新クエリ

このQ&Aのポイント
  • Dlookupを使用した更新クエリの方法とは?
  • 合計値を計算してフィールドに書き込む方法を教えてください。
  • DLookup関数を使用して値を表示させる方法がわかりません。
回答を見る
  • ベストアンサー

アクセス:Dlookup使用での更新クエリ

以前↓で文字列を分解して、規則に従った番号に変換する方法を教わりました。 http://okwave.jp/qa/q9074794.html 今回は変換した値を合計して、あるフィールドに書き込むクエリの書き方を教えてください。 例えば、下のようにです。合計は10+0+1=11で計算しております。 番号,1桁,2桁,3桁,合計 A01,10,0,1,11 A02,10,0,2,12 実際は下のように、番号からルールを使って結果(合計)だけを書き込みたいです。 番号,合計 A01,11 A02,12 DLookup("値","ルール","キャラクター='" & [1桁] & "'")を”合計”というフィールドに更新させても値が表示されません(空欄)。 よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

質問の内容がよくわからない。 前の質問を読ませないで、新たに説明文を下記のように書いたらどうか。 AXY、BXY、CXY・・(X、Yは数字文字)があり 第1桁目の記号には、Aは10、Bは11、Cは12、・・・と置き換え 第2桁目の数はそのまま数として 第3桁目の数はそのまま数として 各々3つの数を足した数を出したい、と表現すればよいのではないか。 ーー アクセスのクエリはSQLと表裏であると思う。 SQL文で 下記のようなのを書けば合計が出るのではないか。 アクセスのクエリのグリッドでSQLを表示し、SQL文で、下記のような文(ADOのSQL)に対応する文を作って、実行すれば、望む結果が出るのではないか。 ーーー SQL文 下記のf1は、CSV読み込みの際の、第1フィールドを表せる記号です。 mSql = "SELECT (asc(mid(f1,1,1))-55)+val(mid(f1,2,1))+VAL(mid(f1,3,1)) from [計算データ1119#csv]" ASC、VAL,MIDはアクセスで使える関数です。 ーー サンプル データ(CSV) 第1フィールド(上記でf1としているもの) A01 A02 A05 A07 A08 A10 ーーー 結果 11 12 15 17 18 11

ticktak
質問者

お礼

アドバイスありがとうございます。 再投稿しようと問題点を整理しておりましたら、自己解決しました。

関連するQ&A

  • アクセス:更新クエリ

    このような番号があり、一桁ずつ分解しています(名称:データ)。 番号,1桁, 2桁, 3桁 A01, A, 0, 1 A02, A, 0, 2 B05, B, 0, 5 D06, D, 0, 6 これをルールに基づき下のように変換します。 番号,1桁, 2桁, 3桁 A01, 10, 0, 1 A02, 10, 0, 2 B05, 11, 0, 5 D06, 13, 0, 6 ルール(名称:コード) キャラクター, 値 0, 0 1, 1 2, 2 3, 3 4, 4 5, 5 6, 6 7, 7 8, 8 9, 9 A, 10 B, 11 C, 12 D, 13 これを更新クエリで一度にする方法を教えてください。 下のように組みましたが失敗しました。 UPDATE データ, コード SET [データ].[1桁] = [値], [データ].[2桁] = [値], [データ].[3桁] = [値] WHERE ((([データ].[1桁])=[キャラクター])) OR ((([データ].[2桁])=[キャラクター])) OR ((([データ].[3桁])=[キャラクター]));

  • アクセスのクエリ フィールドの合計

    フィールドの合計 アクセスのクエリでいくつかのフィールドの合計を出そうとして クエリのフィールドに以下の式をいれております。 ⇒合計:([A])+([B])+([C]) (例えば[A][B][C]のフィールドの合計を出すとして) しかし、[A]の値が1、[B]の値が2、[C]の値が2と入っている場合は5と合計値が当然でますが 例えば[C]のフィールドが空欄の場合、合計値欄が空欄で表示されます。 非常に簡単な質問かと恐縮ですがおしえてください!

  • Access Dlookupでエラー

    選択クエリAのレポートを作成し、 レポート内のテキストボックスに値を表示させたいです。 ●表示させたい値 クエリA フィールド名[集計]が"昨年"の値を持つ、フィールド名[1月]の値を表示させる。 フィールド[集計]の書式は文字列、[1月]は数値です。 テキストボックスのコントロールボックス?に、 =dlookup("[1月]",[クエリA],"[集計]='昨年'' ) と入れたところ、エラー表示もなにも表示されませんでした。 どこが間違っているか、自分ではわからず困っています。 どうか教えていただきますようお願いいたします。

  • アクセス DLookup関数 なぜエラーになるのか

    アクセス DLookup関数 なぜエラーになるのかわからないです。 testと言うテーブルがあり、a・bと言うフィールドがあります。 aフィールドにあああと入ってる場合のbフィールドの値を取得したいのですが Debug.Print DLookup("[b]", "test", "[a] = あああ") だと、 実行時エラー2471「クエリ パラメータとして指定した式でエラー'[あああ]'が発生しました。」 になります。 どこがおかしいのか教えていただけますか?

  • Access DLookup関数 行で指定

    Access2000 DLookup関数のcriteria部でクエリ指定行の値を求めたいのですが分かりません。 <参考> DLookup("フィールド", "クエリ", "指定行=10") クエリの10行目に有るフィールドの値を求める場合、criteria部の書き方を教えて下さい 検索で探したのですが見つける事が出来ませんでした・・。

  • ms access クエリの集計について

    こんにちは ms accessのクエリで、文字列として入力されている数字を数値扱いに直してその合計を出そうとしているのですが、特定の値を指定して合計を出そうとすると値がマイナスになってしまいます。 例 式1:sum(val(nz[フィールド名]))=1) フィールドに1とあるレコードを足して合計を出す場合です。値がマイナスになってしまいます。nzは別のクエリ使用時に空欄があるとまずいので入れてあります。 左隣で別のフィールドでグループ化し、ここでは演算を選択しています。

  • ACCESSのDLOOKUPについて

    ACCESS超初心者です。クエリーでDLOOKUP関数を使って式を作っていますが、エクセルのLOOKUP関数のように使いたいのです。DLOOKUP関数は参照する値が一致しないと表示しません。LOOKUP関数は検査範囲として検査値を検索し、検査値が見つかると、配列の次の行または列の同じ位置にあるセルに含まれている値を返します。簡単な表を使うと A  B 10  100 20  200 =LOOKUP(10,A1:A2,B1:B2) であれば100が表示されます。エクセルのLOOKUP関数ならここで10を11や12になおしても100と表示されます。しかしアクセスのDLOOKUP関数はこのような範囲をつけられません。10から19までなら100、20以上なら200と表示する方法はあるのでしょうか。初心者なのでVBやSQLなどの高度な技はわかりません。ご指導お願いします。

  • AccessのDlookup関数の使い方を教えて下さい。

    超初心者です。どうぞよろしくお願いします。 教職員で出欠記録の管理をAccessでやろうと思っています。 AccessのDlookup関数の使い方が分かりません。 テーブルA:      フィールド名:授業日      データ   :2009/4/7            :2009/10/5 テーブルB:      フィールド名:期間名称   初日   最終日      データ   :前期    2009/4/1  2009/9/30            :後期    2009/10/1  2010/3/31 があるとします。クエリーの中でテーブルBの条件を見ながら テーブルAのデータを判断させて             授業日      期間名称      データ   :2009/4/7  →→→ 前期            :2009/10/5 →→→ 後期 と表示させたいのです。Dlookup関数でやれると思っているのですが うまくいきません。何とかならないでしょうか。今までは手入力していましたが無駄に思えます。 1.クエリーの中で 2.できるだけ簡単に を条件として何とかなりませんか。 モジュールとかVBAは全く分かりません。”簡単”というのを第一にお願いします。 なお,うまくいくようなら当然Dlookup関数にはこだわりません。 以上,よろしくお願いします。          

  • アクセスでクエリ実行後の空欄について

    こんにちは。 アクセス初心者の者です。 アクセスを用いてクエリを作成しています。 テーブルAとBがあります。 Aの1フィールドと、Bの1フィールドを結合して、 Aの2フィールドと3フィールドを表示させるようなクエリです。 (結合プロパティで、Bの空欄を無視するようにしています。) しかし、結果を表示してみると、Bの1フィールドはちゃんと値が入っているにもかかわらず、 Aの2フィールドと3フィールドの値が挿入されず、 空欄になっているところが「ところどころ」あります。 入ってるところもあれば抜けているところもあり、不思議です。 データ量が多く、エクスポートすると10Mバイト以上あるのですが、そういうのが影響しているのでしょうか。 ちょっと説明しずらく、わかりずらいかもしれませんが、 その際はもっと説明させていただきますので、 どうぞよろしくお願いいたします。

  • ACCESSのクエリで値の読み換え

    お世話になります。 例えば、フィールドAの値が 1なら”可” 2なら”不可” 3なら”保留” 4なら”検討中” 5なら”分からない” とフィールドBに変換したい場合は どのようにすれば良いでしょうか? クエリの関数で実行できればうれしいのですが。 よろしくお願い致します。

専門家に質問してみよう