テーブル tab1:
ID__区分
_1_____1
_2_____2
フォーム tab1:
[ID]______[1]
区分______[________有[v]] <-- コンボボックス
区分______[有___________] <-- テキストボックス
コンボボックス: 区分
値集合タイプ_________値リスト
値集合ソース_________1;有;2;無
列数_________________2
列幅_________________0cm;2cm
テキストボックス: 区分表示
名前_________________区分表示
コントロールソース___=CutStr("有/無","/",[区分])
テキストボックスを利用する場合は、列[区分]は非表示にします。
CurStr関数はAccessでは提供されていませんので標準モジュールに登録します。
Public Function CutStr(ByVal Text As String, _
ByVal Separator As String, _
ByVal N As Integer) As String
Dim strDatas() As String
strDatas = Split("" & Separator & Text, Separator, , 0)
CutStr = strDatas(N * Abs((N <= UBound(strDatas))))
End Function
[イミディエイト]
? CutStr("有/無/その他", "/", 1)
有
? CutStr("有/無/その他", "/", 2)
無
? CutStr("有/無/その他", "/", 3)
その他
IIF関数で[区分表示]を生成しても構わないでしょうが、翻訳が3つ以上の場合はCutStr関数が楽。
お礼
今回は選択肢が2つ以上だったのでIIF関数を使いましたが、 3つ以上の場合もあるので、とても参考になりました。 ありがとうございました。