Несколько IF Если результаты в одном текстовом поле - PullRequest
0 голосов
/ 03 декабря 2011

В Access 2007 VB возможно ли объединить результаты нескольких операторов If Then в одно текстовое поле?Этот код дает три результата, но мне нужно, чтобы три были объединены в txtLOB в конце.

Private Sub Report_Load()

    If CSBB <> "No Impact" Then
        txtCSBB = "CSSB"
    End If

    If HL <> "No Impact" Then
        txtHL = "HL"
    End If

    If GWIM <> "No Impact" Then
        txtGWIM = "GWIM"
    End If

    txtLOB.Text = txtCSSB.Text & txtHL.Text & txtGWIM.Text

End Sub

Ответы [ 2 ]

2 голосов
/ 03 декабря 2011

Если вы хотите избежать лишних трех текстовых полей, попробуйте следующее:

Private Sub Report_Load()
    Dim sText As String

    If CSBB <> "No Impact" Then
        sText = "CSSB"
    End If
    If HL <> "No Impact" Then
        sText = sText & "HL"
    End If
    If GWIM <> "No Impact" Then
        sText = sText & "GWIM"
    End If

    txtLOB = sText

End Sub
2 голосов
/ 03 декабря 2011

Да, это так.Пропустить 'text'

txtLOB = txtCSSB & txtHL & txtGWIM

Если это имена текстовых полей в форме, для которой это модуль, лучше всего использовать Me:

Me.txtLob

Вы можете использовать только .textсвойство для текстового поля, которое имеет фокус, и оно ссылается на текущее содержимое, не обязательно совпадает со свойством .value.

...