|
> 作りたい関数は、テーブルAに項目、A・B・C・D・E
> (項目はもっとあります)があり、数字が入っています。
> 関数で、A・B・C・D・Eを設定して、項目が0以外の
> 場合、項目と数字をつなげてひとつのデータにしたいのです。
MID(IIF([A]=0, "", "," & "A" & "・" & [A]) &
IIF([B]=0, "", "," & "B" & "・" & [B]) &
IIF([C]=0, "", "," & "C" & "・" & [C]) &
IIF([D]=0, "", "," & "D" & "・" & [D])
, 2)
そんなに、大変じゃないような ^^;
Function 関数名(ParamArray FLD() As Variant) As String
Dim lngIdx As Long
If UBound(FLD) = 0 Then
関数名 = ""
Exit Function
End If
For lngIdx = 0 To UBound(FLD) Step 2
If FLD(lngIdx + 1) > 0 Then
関数名 = 関数名 & "," & FLD(lngIdx) & "・" & FLD(lngIdx + 1)
End If
Next lngIdx
関数名 = Mid(関数名, 2)
End Function
【使用例】
関数名("A",[A],"B",[B],"C",[C],"D",[D])
のように、フィールド名, フィールド・・・・・と続けて
指定してみてください。
また、分かりやすいように、"関数名" としていますが、実際には
別の名前にしてください。(半角英数で。)
|
|