• ベストアンサー

ACCESSでフラグによる文字表示

ACCESSでクエリを使って読み込んだデータの持っているフラグによって テキストボックスの表示を変えたいのですがどうしたらいいのでしょうか。 例えば、フラグ=1の時はテキストボックスに「有」と表示・・・というような 感じです。 プロパティで条件付できないのでしょうか。 それとも、リストボックスを使った方がいいのでしょうか。 教えてください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.2

テーブル 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関数が楽。

sprit
質問者

お礼

今回は選択肢が2つ以上だったのでIIF関数を使いましたが、 3つ以上の場合もあるので、とても参考になりました。 ありがとうございました。

その他の回答 (1)

回答No.1

クエリで取って来るときに「IIf関数」で変更してしまうのが一番てっとり早いです。 iif(フラグ=1,"有","") みたいな感じで。

sprit
質問者

お礼

教えていただいた方法で解決できました。 ありがとうございました。

関連するQ&A