PEGAR UMA PARTE DA INFORMACAO DO LISBOX
Galera, tenho a seguinte situção que preciso de vossa ajuda.
Tenho o seguinte comando SQL que alimenta uma listbox:
Select cdCargo, DsCargo From Cargo
Exemplo do Resultado dentro do listbox: 01 Comprador
02 Auxiliar Administrativo
O Resultado deste comando estou descarregando no ListBox, então o usuário vai selecionar um ou vários resultados no listbox, porém preciso pegar somente o campo cdCargo para utilizar em outra parte do programa.
Exemplo que coloquei o usuário selecionou as duas linhas no listbox,mais preciso pegar numa variável somente o 01, e 02.
Alguém poderia me ajudar?
Abraço!
Tenho o seguinte comando SQL que alimenta uma listbox:
Select cdCargo, DsCargo From Cargo
Exemplo do Resultado dentro do listbox: 01 Comprador
02 Auxiliar Administrativo
O Resultado deste comando estou descarregando no ListBox, então o usuário vai selecionar um ou vários resultados no listbox, porém preciso pegar somente o campo cdCargo para utilizar em outra parte do programa.
Exemplo que coloquei o usuário selecionou as duas linhas no listbox,mais preciso pegar numa variável somente o 01, e 02.
Alguém poderia me ajudar?
Abraço!
posta o código que carrega o listbox, pois nele pode estar uma solução super prática.
Menudo obrigado, mais ainda não consegui o resultado que preciso, pois se informo 4 posições para os códigos com esta qtde de caracteres da, mais no caso de códigos com 1 ou 2 digitos ele alcança uma letra da descrição, e como preciso dos códigos para jogar numa sentença SQL não dá certo.
Marcelo-Treze segue o código que alimenta o Listbox.
wsql1 = [Ô]SELECT CdCargo, Dscargo[Ô]
wsql1 = wsql1 & [Ô] From Cargos[Ô]
tabAuxiliar1.CursorLocation = adUseClient
tabAuxiliar1.Open wsql1, dbBanco, adOpenDynamic, adLockOptimistic
frmMapaComparativo.Adodc1.ConnectionString = dbBanco
frmMapaComparativo.Adodc1.RecordSource = wsql1
frmMapaComparativo.Adodc1.Refresh
If Not (tabAuxiliar1.BOF And tabAuxiliar1.EOF) Then
Do While Not tabAuxiliar1.EOF
List1.AddItem tabAuxiliar1!cdcargo & vbTab & tabAuxiliar1!DSCARGO
tabAuxiliar1.MoveNext
Loop
If tabAuxiliar1.EOF = True Then
End If
End If
Marcelo-Treze segue o código que alimenta o Listbox.
wsql1 = [Ô]SELECT CdCargo, Dscargo[Ô]
wsql1 = wsql1 & [Ô] From Cargos[Ô]
tabAuxiliar1.CursorLocation = adUseClient
tabAuxiliar1.Open wsql1, dbBanco, adOpenDynamic, adLockOptimistic
frmMapaComparativo.Adodc1.ConnectionString = dbBanco
frmMapaComparativo.Adodc1.RecordSource = wsql1
frmMapaComparativo.Adodc1.Refresh
If Not (tabAuxiliar1.BOF And tabAuxiliar1.EOF) Then
Do While Not tabAuxiliar1.EOF
List1.AddItem tabAuxiliar1!cdcargo & vbTab & tabAuxiliar1!DSCARGO
tabAuxiliar1.MoveNext
Loop
If tabAuxiliar1.EOF = True Then
End If
End If
como dito veja a solução
bom feito isto vc irá reparar que o listbox só conterá os nomes, o codigo dos mesmo estará armazenado no itemdata, que não é visivel.
posteriormente vc poderá capturar o código armazanado no item data usando um for, desta forma
acima postei para exibir os códigos conforme selecionado no listbox, mas vc poderá adaptar para fazer o que deseja bastando alterar a linha do msgbox
teste e veja se é o que deseja
If Not (tabAuxiliar1.BOF And tabAuxiliar1.EOF) Then
Do While Not tabAuxiliar1.EOF
List1.AddItem tabAuxiliar1!DSCARGO
List1.ItemData(List1.NewIndex) = tabAuxiliar1!cdcargo [txt-color=#007100][ô] aqui armazeno o código[/txt-color]
tabAuxiliar1.MoveNext
Loop
[txt-color=#007100] [ô] aqui tinha um if desnecessário
End If[/txt-color]
bom feito isto vc irá reparar que o listbox só conterá os nomes, o codigo dos mesmo estará armazenado no itemdata, que não é visivel.
posteriormente vc poderá capturar o código armazanado no item data usando um for, desta forma
Private Sub Command1_Click()
For f = 0 To List1.ListCount - 1
If List1.Selected(f) = True Then
MsgBox List1.ItemData(f)
End If
Next f
End Sub
acima postei para exibir os códigos conforme selecionado no listbox, mas vc poderá adaptar para fazer o que deseja bastando alterar a linha do msgbox
teste e veja se é o que deseja
Marcelo Treze, muito obrigado!!! Show de bola deu perfeito.... vc é .
Gde Abraço!
Gde Abraço!
Tópico encerrado , respostas não são mais permitidas