最新トピック
8
17 日前
Hatena様にご質問 17 日前
1
2 ヶ月前
排他制御 2 ヶ月前
6
5 ヶ月前
モジュールでカレントフォームのコントロールを使うには 5 ヶ月前
7
5 ヶ月前
日付のテキストボックスからフォームが開けません 5 ヶ月前
9
6 ヶ月前
レポートにおける数値の間隔を広げる方法 6 ヶ月前
12
6 ヶ月前
リストボックスから複数選択しそれをテーブルに格納したい 6 ヶ月前
タグリスト
Markdown テーブル生成
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
Eval 関数が使えるかもしれません
ただし、入力した文字列がVBAの計算式として認識できる場合なら計算結果を求めることができるというものになるので、当然ながら全角の「
×÷」等はそのままでは使えませんIDを数値に変えるのはDLookup 関数でテーブルを参照すればいいでしょう
ただし、入力した文字列の中のどの部分がIDに相当するか?を判断する必要があります
IDの大文字小文字、全角半角が正しく扱えるか?はデータベースの設定に依存する場合があります。数字も数値として認識できるか?は細かな調整が必要になるでしょう
1.入力された文字列を計算式としての「項」と「演算子」に分解する
2.「項」がそのまま使える数値なのか、IDを参照する文字列なのか判定し、必要に応じてテーブルから数値を拾い出し置き換える
3.「演算子」をACCESS(VBA)で認識できる文字に置き換える
4.Eval関数で計算する
「()」(演算の優先順位指定)や「cos()」(よく使われる数学関数)等を考慮していません
「ユーザーが入力した計算式」にどこまでの自由度を設けるかで内容の複雑さが変わります。想定されるパターンの洗い出しが必要になるでしょう