
No.3ベストアンサー
- 回答日時:
あまりこういう事はやらないと思うのですが、やってできない事もないので・・・
まず、標準モジュールに以下を記述しておきます
Public Function myCalc(vSrc, ParamArray vA()) As Variant
Dim sS As String
Dim i As Long
myCalc = Null
If (VarType(vSrc) <> vbString) Then Exit Function
sS = vSrc
For i = LBound(vA) To UBound(vA) Step 2
sS = Replace(sS, vA(i), Nz(vA(i + 1), 0))
Next
On Error Resume Next
myCalc = Eval(sS)
End Function
上記関数をクエリから呼び出し利用します。
補足にあったテーブル名を ★★ と仮定します
クエリのSQLビューに以下を記述し、表示してみてどうなりますか
SELECT ID, myCalc(siki, "[a]", a, "[b]", b) AS kekka FROM ★★;
※ myCalc の "[a]", a, "[b]", b 部分は、
sikiに記述している置換え文字列, その値 順のペアで何個でも記述できます。
また、a、b の順は問いません
この回答へのお礼
お礼日時:2015/05/27 14:22
標準モジュール部分は全く理解できていないまま使わせていただきました。
結果、思っていた通りのことが実現できそうです。
感謝します。ありがとうございました。
No.2
- 回答日時:
#1です。
テーブルの中に式を保存する、ということですが、アクセスはデータベースであり、表計算ソフト
であるエクセルとは異なりますのでそのようなことはできないと思います。
テーブルはテーブルとして保存しておき、必要な処理(や計算)をクエリでやるという仕組みでは
ないかと。
あくまでテーブルはデータを格納しておくだけのもの、
で、計算などが必要ならばその都度クエリで求める、という形だと思います。
お書きのことをやろうとするならば、強いて言うなら以下。
テーブル
ID a b
1 1 2
2 2 2
3 2 4
で、クエリを作るときのフィールドとして、
ID kekka:IIF([ID]=1,[a]*100+[b],IIF([ID]=2,[b]-3,[a]-700))
とするのではないかと思います。
(実用的ではないけど無理やり作ってみました)
詳しい方の回答が付くとよいですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) VLOOKUP 構造化参照について 1 2023/04/24 19:39
- その他(Microsoft Office) excel テーブル 4 2023/03/18 16:11
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クエリのデータをテーブルに入...
-
アクセス 項目毎にデータを横...
-
教えてください! アクセスのac...
-
access テーブル作成クエリでテ...
-
アクセスのクエリでSplit関数は...
-
accessでクエリの結果だけをリ...
-
access インポート時、既にある...
-
ACCESS テーブル作成の日付付与...
-
アクセスで新しいレコードの追...
-
Access「レコードが削除されま...
-
アクセス:クエリの結合とリレ...
-
Accessのクロス集計→テーブル作...
-
ACCESSで行数指定(5万行目~8...
-
クエリについて教えてください
-
Access2007 クエリが読み取り...
-
アクセスのクエリとDlookupはど...
-
ACCESS2000 クエリをテーブル化...
-
ハイパーリンクの抽出・印刷に...
-
ACCESSのテーブル作成クエリに...
-
テーブル1にマクロで再クエリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クエリのデータをテーブルに入...
-
クロス集計クエリの結果をテー...
-
デザインビューにてテーブルが...
-
アクセスのクエリでSplit関数は...
-
アクセス 項目毎にデータを横...
-
accessでクエリの結果だけをリ...
-
アクセス:クエリの結合とリレ...
-
access テーブル作成クエリでテ...
-
Access「レコードが削除されま...
-
教えてください! アクセスのac...
-
access インポート時、既にある...
-
更新不可能なクエリに対して更...
-
ACCESSで行数指定(5万行目~8...
-
テンポラリファイルのための空...
-
Access 末尾に0を追加したい
-
Access DAOのExecuteメソッドの...
-
アクセスのクエリとDlookupはど...
-
アクセスで新しいレコードの追...
-
Accessのクロス集計→テーブル作...
-
テーブル1にマクロで再クエリ...
おすすめ情報
うまく説明できずすみません。
ID,a,b,sikiという4つのフィールドを持つテーブルを元に
下記のような結果となるクエリを作りたいのです。
数式を簡単に変更できるようにテーブルに保存しようと考えています。
テーブル
ID a b siki
1 1 2 [a]*100+[b]
2 2 2 [b]-3
3 2 4 [a]-700
クエリ実行結果
ID kekka
1 102
2 -1
3 -698