Tenho um formulário que possui uma ListBox de seleção múltipla. No mesmo formulário, há um subform baseado em uma consulta com um campo (CodEmpregador) que deveria filtrar seus resultados a partir da ListBox.
Ao tornar a ListBox seleção múltipla ela passa a retorna null como valor. Então, criei um campo caixa de texto para receber os valores selecionados.
Quando abro o formulário, ocorre erro: "Esta expressão foi digitada de forma incorreta ou é complexa demais para ser avaliada. Por exemplo, uma expressão numérica pode conter um número excessivo de elementos complicados. Tente simplificar a expressão atribuindo partes da expressão a variáveis. (Erro 3071)"
A expressão que uso para inserir os valores da ListBox ma caixa de texto é essa:
Sub BoundData()
Dim frm As Form, ctl As Control
Dim varItm As Variant
Set frm = Forms!frmTrab_AlteraSal
Set ctl = frm!lstEmpregador
Me.CodEmpregador = Null
For Each varItm In ctl.ItemsSelected
If IsNull(Me.CodEmpregador) Or Me.CodEmpregador.Value = "" Then
Me.CodEmpregador = ctl.ItemData(varItm)
Else
Me.CodEmpregador = Me.CodEmpregador & " Ou " & ctl.ItemData(varItm)
End If
Next varItm
End Sub
Ao tornar a ListBox seleção múltipla ela passa a retorna null como valor. Então, criei um campo caixa de texto para receber os valores selecionados.
Quando abro o formulário, ocorre erro: "Esta expressão foi digitada de forma incorreta ou é complexa demais para ser avaliada. Por exemplo, uma expressão numérica pode conter um número excessivo de elementos complicados. Tente simplificar a expressão atribuindo partes da expressão a variáveis. (Erro 3071)"
A expressão que uso para inserir os valores da ListBox ma caixa de texto é essa:
Sub BoundData()
Dim frm As Form, ctl As Control
Dim varItm As Variant
Set frm = Forms!frmTrab_AlteraSal
Set ctl = frm!lstEmpregador
Me.CodEmpregador = Null
For Each varItm In ctl.ItemsSelected
If IsNull(Me.CodEmpregador) Or Me.CodEmpregador.Value = "" Then
Me.CodEmpregador = ctl.ItemData(varItm)
Else
Me.CodEmpregador = Me.CodEmpregador & " Ou " & ctl.ItemData(varItm)
End If
Next varItm
End Sub
Última edição por rgondim em 4/7/2012, 09:53, editado 1 vez(es)