Ir para o conteúdo
cmtavares

passar valores de checkbox para textbox

Mensagens Recomendadas

cmtavares

Boas pessoal, estou com o pequeno problema e resolvi vir até aqui pedir alguma ajuda, a minha questão é a seguinte:

Neste momento tenho uma checkbox preenchida com valores provenientes de uma base de dados de clientes em SQL-SERVER.

O que eu gostaria de fazer era ao colocar o visto fazer com que apareça o nome do cliente ou então o email do mesmo para que depois possa ser enviado por lista de espera.

tenho aqui algum código mas isto não está a trabalhar corretamente,

   Private Sub CheckedListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedIndexChanged
       Dim i As Integer
       Dim ponto As String = ";"
       If CheckedListBox1.CheckedItems.Count - 1 Then
           txtPara.Text = CheckedListBox1.SelectedItem
       End If
       For i = 0 To CheckedListBox1.CheckedItems.Count - 1
           txtPara.Text = txtPara.Text + vbNewLine + ponto + CheckedListBox1.SelectedItem
       Next

   End Sub

se me conseguirem ajudar agradeço,

continuação ;)

Editado por thoga31
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Boas,

isso é VBA? Mais parece VB.NET.

Em relação à tua questão, usa antes o evento "SelectedValueChanged".

Podes fazer assim (não testei):

Private Sub CheckedListBox1_SelectedValueChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedValueChanged
	Dim ponto As String = ";"
  	 txtPara.Text = ""
	For Each checkbox As String in CheckedListBox1.CheckedItems
		txtPara.Text = txtPara.Text + vbNewLine + ponto + checkbox
	Next
End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

       If CheckedListBox1.CheckedItems.Count - 1 Then

O VB.NET faz conversão implícita por defeito, pelo que não te vai avisar que aqui não tens uma condição mas sim um número. Apesar de podermos pensar no type casting e pensar que vai dar bem, nunca é de mais dar a condição directamente.


Knowledge is free!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cmtavares

Boas,

isso é VBA? Mais parece VB.NET.

Em relação à tua questão, usa antes o evento "SelectedValueChanged".

Podes fazer assim (não testei):

Private Sub CheckedListBox1_SelectedValueChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedValueChanged
	Dim ponto As String = ";"
  	 txtPara.Text = ""
	For Each checkbox As String in CheckedListBox1.CheckedItems
		txtPara.Text = txtPara.Text + vbNewLine + ponto + checkbox
	Next
End Sub

Boas, o seu código ajudou bastante, mas esta aqui uma pequena coisa que não consigo retirar é que quando da check no primeiro cliente o programa adiciona um ponto e virgula quando não devia colocar.

Atenciosamente, Carlos Tavares

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Como queres que fique?

nome1;

nome2;

nome3

?

Caso seja, experimenta assim:

Private Sub CheckedListBox1_SelectedValueChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedValueChanged
Dim ponto As String = ";"
txtPara.Text = ""
For Each checkbox As String in CheckedListBox1.CheckedItems
	If Not String.IsNullOrEmpty(txtPara.Text) Then
		txtPara.Text = txtPara.Text + ponto + vbNewLine
	Endif
	txtPara.Text = txtPara.Text + checkbox
Next
End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.