Problema com ListBox

Boa tarde

Estou tendo problema com um Listbox da minha aplicação.

Ao selecionar uma linha e dar dois cliques sobre ela, ele edita os registros que estão inseridos:

A primeira vez ele deixa selecionar. Contudo, a segunda vez não deixa mais.

O que pode estar acontecendo? É algo com o focus do Listbox?

@wagner.dracha, boa tarde.

Como você está fazendo pra editar? No evento DblClick está enviando o valor da linha para os setpoints, modifica e grava novamente?

Não consegui entender o seu problema.

Sds.

Bom dia @Fernando

Segue o código:
Sub ListBox1_DblClick(Cancel)
Dim valor

if Value <> "" then
	valor = Split(Value, "-")
	
	'msgbox Value
	
	Parent.Item("ckUpdateObjDados").Value = True
	
	Parent.Item("spNome").Value  = valor(0)
	Parent.Item("spFiltro").Value 	 = valor(1)
	Parent.Item("ckAlarme").Value    = valor(2)
	Parent.Item("cmbAlarme").Value   = valor(3)
	Parent.Item("spPropriedade").Value = valor(4)
	Parent.Item("spConexao").Value   = valor(5)
	Parent.Item("spFonte").Value 	 = valor(6)
	
	Parent.Item("Grupo1").Item("spMensagemPadrao").Value = valor(7)
	Parent.Item("Grupo2").Item("ckAlarmeDigital").Value = valor(8)
	Parent.Item("Grupo2").Item("cmbSeveridadeDigital").Value = valor(9)
	Parent.Item("Grupo2").Item("cmbValor").Value = valor(10)
	Parent.Item("Grupo2").Item("spMensagemDigital").Value = valor(11)
	Parent.Item("Grupo2").Item("spMensagemPadraoDigital").Value = valor(12)
	
	Parent.Item("Grupo1").Item("ckH").Value = valor(13)
	Parent.Item("Grupo1").Item("ckHH").Value = valor(14)
	Parent.Item("Grupo1").Item("ckL").Value = valor(15)
	Parent.Item("Grupo1").Item("ckLL").Value = valor(16)
	Parent.Item("Grupo1").Item("cmbSeveridadeH").Value = valor(17)
	Parent.Item("Grupo1").Item("cmbSeveridadeHH").Value = valor(18)
	Parent.Item("Grupo1").Item("cmbSeveridadeL").Value = valor(19)
	Parent.Item("Grupo1").Item("cmbSeveridadeLL").Value = valor(20)
	Parent.Item("Grupo1").Item("spMensagemH").Value = valor(21)
	Parent.Item("Grupo1").Item("spMensagemHH").Value = valor(22)
	Parent.Item("Grupo1").Item("spMensagemL").Value = valor(23)
	Parent.Item("Grupo1").Item("spMensagemLL").Value = valor(24)
	Parent.Item("Grupo1").Item("spValorH").Value = valor(25)
	Parent.Item("Grupo1").Item("spValorHH").Value = valor(26)
	Parent.Item("Grupo1").Item("spValorL").Value = valor(27)
	Parent.Item("Grupo1").Item("spValorLL").Value = valor(28)
	
	Locked = True
end if
End Sub

O problema é que eu tenho essas linhas no ListBox, e ao dar um duplo clique em alguma delas, essas informações são quebradas e inseridas no setPoints para edição.

Aí depois, eu clico em gravar para ela salvar e editar a linha do ListBox que você deu duplo clique.

Contudo, ao editar uma segunda linha do listbox, ele não deixa dar o duplo clique.

O que pode ser?

Código do botão gravar:

Sub CommandButton1_Click()
Dim checkValue
Dim ItemList
Dim CheckBoxEscala

if Parent.Item("spNome").Value = "" Then
	Msgbox "Favor inserir valor no objeto de dados"
else
	checkValue = 1
	
	CheckBoxEscala = 1
	if Parent.Item("ckAlarme").Value = 0 then 
		CheckBoxEscala = 0 
	end if
	
	ckAlarmeDigital = 1
	if Parent.Item("Grupo2").Item("ckAlarmeDigital").Value = 0 then 
		ckAlarmeDigital = 0 
	end if
	
	ckH = 1
	if Parent.Item("Grupo1").Item("ckH").Value = 0 then 
		ckH = 0 
	end if
	
	ckHH = 1
	if Parent.Item("Grupo1").Item("ckHH").Value = 0 then 
		ckHH = 0 
	end if
	
	ckL = 1
	if Parent.Item("Grupo1").Item("ckL").Value = 0 then 
		ckL = 0 
	end if
	
	ckLL = 1
	if Parent.Item("Grupo1").Item("ckLL").Value = 0 then 
		ckLL = 0 
	end if
	
	ItemList = Parent.Item("spNome").Value & "-" & _
		Parent.Item("spFiltro").Value & "-" & _
		CheckBoxEscala & "-" & _
		Parent.Item("cmbAlarme").Value & "-" & _
		Parent.Item("spPropriedade").Value & "-" & _
		Parent.Item("spConexao").Value & "-" & _
		Parent.Item("spFonte").Value & "-" & _
		Parent.Item("Grupo1").Item("spMensagemPadrao").Value & "-" & _
		ckAlarmeDigital & "-" & _
		Parent.Item("Grupo2").Item("cmbSeveridadeDigital").Value & "-" & _
		Parent.Item("Grupo2").Item("cmbValor").Value & "-" & _
		Parent.Item("Grupo2").Item("spMensagemDigital").Value & "-" & _
		Parent.Item("Grupo2").Item("spMensagemPadraoDigital").Value & "-" & _
		ckH & "-" & _
		ckHH & "-" & _
		ckL & "-" & _
		ckLL & "-" & _
		Parent.Item("Grupo1").Item("cmbSeveridadeH").Value & "-" & _
		Parent.Item("Grupo1").Item("cmbSeveridadeHH").Value & "-" & _
		Parent.Item("Grupo1").Item("cmbSeveridadeL").Value & "-" & _
		Parent.Item("Grupo1").Item("cmbSeveridadeLL").Value & "-" & _
		Parent.Item("Grupo1").Item("spMensagemH").Value & "-" & _
		Parent.Item("Grupo1").Item("spMensagemHH").Value & "-" & _
		Parent.Item("Grupo1").Item("spMensagemL").Value & "-" & _
		Parent.Item("Grupo1").Item("spMensagemLL").Value & "-" & _
		Parent.Item("Grupo1").Item("spValorH").Value & "-" & _
		Parent.Item("Grupo1").Item("spValorHH").Value & "-" & _
		Parent.Item("Grupo1").Item("spValorL").Value & "-" & _
		Parent.Item("Grupo1").Item("spValorLL").Value
		
	for i = 0 To Parent.Item("ListBox1").ListCount - 1
		if Parent.Item("ListBox1").List(i) = ItemList then
			Msgbox "Este valor já existe!"
			checkValue = 0
			Exit For
		end if
	Next
	
	if checkValue = 1 then
		if Parent.Item("ckUpdateObjDados").Value = True then
			Parent.Item("ListBox1").List(Parent.Item("ListBox1").ListIndex) = ItemList
		else				
			Parent.Item("ListBox1").AddItem ItemList
		end if
	end if
End if

Parent.Item("spNome").Value = ""
Parent.Item("spPropriedade").Value = ""
Parent.Item("ckAlarme").Value = 0
Parent.Item("cmbAlarme").Value = ""
Parent.Item("spConexao").Value = ""
Parent.Item("spFonte").Value = ""
Parent.Item("spFiltro").Value = ""
Parent.Item("ckUpdateObjDados").Value = 0

Parent.Item("Grupo1").Visible = False
Parent.Item("Grupo2").Visible = False

End Sub

@wagner.dracha, bom dia.

Comenta (ou retira) o Locked e verifica se funciona, por favor.

Sds.

1 Like

@Fernando, perdão por isso!

Juro que eu não me toquei!!

Obrigado.