|
こんな感じでどうでしょう。
開いていないフォームのコントロールにはアクセスできないので、
まずCurrentProject.AllFormsでデータベースファイル中の全ての
オブジェクトを抽出するところから始めています。
Sub test()
Dim f As AccessObject
Dim c As Control
'データベース上の全てのオブジェクトから
For Each f In CurrentProject.AllForms
'フォームを見つけ
If f.Type = acForm Then
'そのフォームを開き
DoCmd.OpenForm f.Name
'フォーム中のコントロールから
For Each c In Forms(f.Name).Controls
'テキストボックスを見つけ
If c.ControlType = acTextBox Then
'そのコントロールソースに「0.08」を含んでいたら
If InStr(c.ControlSource, "0.08") <> 0 Then
'イミディエイトウィンドウにフォーム名と
'テキストボックス名とコントロールソース式を出力
Debug.Print f.Name & ":" & c.Name ":" & c.ControlSource
End If
End If
Next c
DoCmd.Close acForm, f.Name
End If
Next f
End Sub
ここではイミディエイトウィンドウに結果を出力していますが、ここはテキストファイルに出力するなと、Replaceで「0.08」を「0.1」に置換するなと、必要に応じて変更してください。
|
|