質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

6093閲覧

【MS access】DLOOKUP関数のフィールド名(expr)を変数にしたいんです!

version-l

総合スコア15

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2019/09/21 09:50

久しぶりに質問させていただきます。

AccessのDLOOKUP関数についてです。

DLookup( expr, domain [, criteria] )
↑[expr]の部分を変数にして、都度フィールド名を変更したいのですが、うまくできません。

対象テーブルのフィールド名は
0人|1人|2人|3人|4人・・・
と、人数が並んでいるだけです。
取得した数値によって指定するフィールドを変えたいと思っています。

Dim ID As Integer , Kekka As Integer , strMan As String ID = Forms!フォーム名!コントロール名 strMan = ID & "人" Kekka = Dlookup( strMan , テーブル名 , 条件)

"人"がダメなのかもと思い、フィールド名を数字だけにしてみましたが、結果は同じでした。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

数字で始まるフィールド名は[]で囲む必要があります。

vba

1trMan = "[" ID & "人]" 2 3Kekka = Dlookup( strMan , テーブル名 , 条件)

いろいろトラベルトラブルの原因になりかねませんので、可能ならフィールド名の変更をお勧めします。
その際は下記もご参考に。

Access データベースでの作業時に使用すべきでない特殊文字

投稿2019/09/21 13:58

編集2019/09/21 14:56
hatena19

総合スコア33782

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

version-l

2019/09/21 14:37

hatena19 様 []で囲んだら見事に実行できましたw まさか文字が原因だったとは・・・ たまにデータが変になったりする事があったのですが、 今後はこの視点からも検証することが可能になりました。 良い勉強させていただきました。 本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問