dポイントプレゼントキャンペーン実施中!

ACCESSでクエリを使って読み込んだデータの持っているフラグによって
テキストボックスの表示を変えたいのですがどうしたらいいのでしょうか。

例えば、フラグ=1の時はテキストボックスに「有」と表示・・・というような
感じです。
プロパティで条件付できないのでしょうか。
それとも、リストボックスを使った方がいいのでしょうか。

教えてください。
宜しくお願いします。

A 回答 (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関数が楽。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/11 17:11

クエリで取って来るときに「IIf関数」で変更してしまうのが一番てっとり早いです。


iif(フラグ=1,"有","") みたいな感じで。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/11 17:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す