あなたは、関数名に自分のフィールドのコントロールソースを設定することができます。その関数はSQLを簡単に実行したり、変数を渡したりすることができます。ここでは、SQL文をレコードセットに実行して最初の値を返す関数の簡単なボイラープレートを示します。私の世界では、通常、非常に具体的なwhere句が含まれていますが、あなたはこの関数を必要に応じてより強固にすることができます。
=fnName(sVariable, iVariable)
Public Function fnName(_
sVariable as String, _
iVariable as Integer _
) As String
On Error GoTo Err_fnName
Dim con As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sSQL As String
sSQL = ""
Set con = Access.CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open sSQL, con, adOpenDynamic, adLockOptimistic
If rst.BOF And rst.EOF Then
'No records found
'Do something!
Else
'Found a value, return it!
fnName = rst(0)
End If
rst.Close
Set rst = Nothing
con.Close
Set con = Nothing
Exit_fnName:
Exit Function
Err_fnName:
Select Case Err.Number
Case Else
Call ErrorLog(Err.Number, Err.Description, "fnName", "", Erl)
GoTo Exit_fnName
End Select
End Function
フォームの基礎となるレコードソースにデータを含めないでください。 –