タイトルがなんか変ですが。
例えばフォーカス取得時のイベントで、
Dim ctlName As String, ctlValue As Variant
ctlName = Me.ActiveControl.Name
ctlValue = Me.ActiveControl
でctlNameにコントロール名格納。
ctlValueに値取得。
サブフォームの場合は、http://www.accessclub.jp/bbs2/0095/beginter29204.htmlにあるように、
Dim ctlName As String, ctlValue As Variant
ctlName = Me!サブフォームコントロール名.Form.ActiveControl.Name
ctlValue = Me!サブフォームコントロール名.Form(ctlName)
ですね。
予断ですが、例えばコントロール名とテーブルのフィールド名が一緒だったら、
sql="select * from test where " & ctlName & " = " & ctlValue & ";"
とかいけるんでしょうかね(未検証)。
一緒じゃなくても
Select Case ctlName
Case ほにゃらら
sql="select * from test where id = " & ctlValue & ";"
Case ふもふも
sql="select * from test where name = " & ctlValue & ";"
End Select
みたいに対応するテーブルのフィールド名と一致したときに対応するsql文を組む、とか。
0 件のコメント:
コメントを投稿