
フォームにテキストボックスAがあり、そこに入力した文字(下記テーブルのフィールド1の文字)をクエリーの「抽出条件」にし、同じフォーム上のテキストボックスBに表示しようと思っています。
クエリを開くとパラメータの入力を求めてきて、入力するとうまく抽出されます。
テーブルは
フィールド1|フィールド2
A | 10
B | 20
C | 30
D | 40
のような簡単なものです。
テキストボックスBのコントロールソースに
「=[○×クエリ]![フィールド2]とやっても「#Name?」と表示されてしまいます。
どのようにやればよいのでしょうか?
No.1ベストアンサー
- 回答日時:
クエリは必要ありません。
フォームのレコードソースに無いデータを表示させる
場合には DLookUp を使います。
テキストボックスBのコントロールソースに
=DLookUp("フィールド2","テーブル名","フィールド1='" & [テキストボックスA]) & "'"
上記は「フィールド1」が文字列型の場合です。
数値型の場合は次のようになります。
=DLookUp("フィールド2","テーブル名","フィールド1=" & [テキストボックスA])
DLookUp 関数は コントロールソースに限らず
VBA でも使用し、Access では、非常に使用頻度の高いものです。
ヘルプで調べて、ぜひマスターしてください。
もし Access でなかったら、このレスは無視して下さい。
bonaron様
解答有り難うございます。
DLookUp関数の関数のことは知りませんでした。
これからもよく使用していくことになりそうなのでマスターしようと思います。
ありがとうございました。
No.2
- 回答日時:
No1さんの回答が基本。
実行速度を重視するならばADODB を利用する次のステップへ。
=DBLookUp("フィールド2","テーブル名","フィールド1='" & [テキストボックスA] & "'")
Public Function DBLookup(ByVal strField As String, _
ByVal strTable As String, _
Optional ByVal strWhere As String = "", _
Optional ByVal ReturnValue = Null) As Variant
On Error GoTo Err_DBLookup
Dim DataValue
Dim strQuerySQL As String
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
strQuerySQL = "SELECT " & strField & " FROM " & strTable
If Len(strWhere) > 0 Then
strQuerySQL = strQuerySQL & " WHERE " & strWhere
End If
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
.MoveFirst
DataValue = .Fields(0)
End If
End With
Exit_DBLookup:
On Error Resume Next
rst.Close
Set rst = Nothing
DBLookup = Nz(DataValue, ReturnValue)
Exit Function
Err_DBLookup:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBLookup
End Function
s_husky様
解答有り難うございます。
まだaccessを始めたばかりなのでモジュール関連はもう少し勉強してから使用したいと思います。
そのときには参考にさせて貰います。
今回は有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アクセスの更新クエリでカレントレコードのみ更新したい
- 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま
- Accessクエリで年月フィールドを年のみで抽出する方法について
- Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について
- Dlookupにエラーがでてしまう
- AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成
- Accessテキストボックス内に2つのフィールドの値を比較して大きい方の値を表示させる方法
- capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ
- テキストボックスの値をテーブルに入力したい
- Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Access2013。テキストボックスにクエリの値を表示したい。 ①テーブル「受注情報」 フィールド
Access(アクセス)
-
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
クエリーの結果をフォームに表示させたい(Access2000)
その他(データベース)
-
-
4
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
5
ACCESSのクエリで抽出したデータをテキストボックスに貼り付けるには
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
8
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
9
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
10
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
11
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
12
アクセスVBAのMe!と[ ]
Access(アクセス)
-
13
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
14
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
15
[至急]accessクエリ結果を入力フォームに出力
その他(Microsoft Office)
-
16
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
17
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
18
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
19
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
20
フォームの値をクエリーに反映したい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスで追加した項目に全て...
-
Accessで、1つの項目に複数の...
-
Access:値が求めたい値の2倍...
-
Accessを開きなおすとテキスト...
-
Accessのテーブルのフィールド...
-
Access で 特定の文字の個数を...
-
Accessのクエリでハイパーリン...
-
クエリの計算結果をテーブルに...
-
テキストボックスにクエリ結果...
-
追加クエリで特定フィールドの...
-
テーブルでメモ型になっている...
-
アクセスのクエリ 1文字以上を...
-
Access クエリの演算フィールド...
-
AccessのDLookUpの第3引数の値...
-
Accessで、テーブルに入力した...
-
ACCESSで2つフィールドの日付...
-
アクセスのハイパーリンク
-
オブジェクト名に【】をつけること
-
アクセス クエリのフィールド...
-
Access 選択クエリで「テーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスで追加した項目に全て...
-
Accessで、1つの項目に複数の...
-
Accessを開きなおすとテキスト...
-
テキストボックスにクエリ結果...
-
Accessのテーブルのフィールド...
-
テーブルでメモ型になっている...
-
Access:値が求めたい値の2倍...
-
Access で 特定の文字の個数を...
-
Accessで、テーブルに入力した...
-
アクセスのクエリ 1文字以上を...
-
Accessのクエリでハイパーリン...
-
access フォームを開くと「パ...
-
アクセス クエリのフィールド...
-
accessでの文字列の混ざった連...
-
ACCESSで2つフィールドの日付...
-
追加クエリで特定フィールドの...
-
Access2002の重複クエリで大文...
-
途中で改行されたCSVをAccessに...
-
Accessの電話番号フィールド
-
Access クエリの演算フィールド...
おすすめ情報