TRAZER DADOS DE UMA CONSULTA PARA O COMBO
Boa Tarde
Tenho um cadastro de funcionarios, sendo que o cargo coloquei em uma combobox, cujo os dados são carregados da seguinte maneira:
[txt-color=#0000ff]cmbcargo.Clear
If RScargo.EOF = False Then
RScargo.MoveFirst
Do While RScargo.EOF = False
cmbcargo.AddItem (RScargo!titulocargo)
cmbcargo.ItemData(cmbcargo.ListCount - 1) = RScargo!codcargo
RScargo.MoveNext
Loop
End If[/txt-color]
Dai o usuario seleciona e grava as informções no banco de dados.
Como faço em uma consulta, trazer o titulo do cargo no combo1 sendo que eu tenho somente o Itemdata dele????? Lembrando que o conteudo é carregado sempre que abro o programa!!
Tenho um cadastro de funcionarios, sendo que o cargo coloquei em uma combobox, cujo os dados são carregados da seguinte maneira:
[txt-color=#0000ff]cmbcargo.Clear
If RScargo.EOF = False Then
RScargo.MoveFirst
Do While RScargo.EOF = False
cmbcargo.AddItem (RScargo!titulocargo)
cmbcargo.ItemData(cmbcargo.ListCount - 1) = RScargo!codcargo
RScargo.MoveNext
Loop
End If[/txt-color]
Dai o usuario seleciona e grava as informções no banco de dados.
Como faço em uma consulta, trazer o titulo do cargo no combo1 sendo que eu tenho somente o Itemdata dele????? Lembrando que o conteudo é carregado sempre que abro o programa!!
não entendi bem:
você quer buscar os funcionarios que tenham determinado cargo??
você quer saber como gravar o cargo selecionado no combo junto no cadastro de funcionarios??
se não for explique melhor
[S20][S32][S36][S74]
você quer buscar os funcionarios que tenham determinado cargo??
você quer saber como gravar o cargo selecionado no combo junto no cadastro de funcionarios??
se não for explique melhor
[S20][S32][S36][S74]
1Seguinte Imagine seu combo Com vários cargos e sendo que o Itemdata(.listinbdex) destes registros sejam o código deles no banco de dado. Conforme o código que eu postei.
2 - Quando gravo uma informação na tabela de funcionario o que vai para o campo cargo da tabela funcionario é o itemdata(.listindex) que eu configurei no combo1.
3 - Agora quando faço uma consulta no meu programa e seleciono um funcionario os dados são jogados de volta aos seus campos, mas sendo que eu tenho o numero do .itemdata(.listindex) do meu combo1, como fazer para ele mostrar a descrição do cargo.
Espero ter esclarecido!!!!!!!
2 - Quando gravo uma informação na tabela de funcionario o que vai para o campo cargo da tabela funcionario é o itemdata(.listindex) que eu configurei no combo1.
3 - Agora quando faço uma consulta no meu programa e seleciono um funcionario os dados são jogados de volta aos seus campos, mas sendo que eu tenho o numero do .itemdata(.listindex) do meu combo1, como fazer para ele mostrar a descrição do cargo.
Espero ter esclarecido!!!!!!!
Não sei se percebi bem a sua pergunta mas vout tentar responder:
- Guarde o valor do seu itemdata numa variavel.Do tipo:
Dim cod as integer
cod=itemdata
- Depois faça algo do género:
Do While Not RScargo.EOF
If RScargo("codcargo") = cod Then
Combo1.Text = RScargo("titulocargo")
frmTAL.Refresh
End If
RScargo.MoveNext
Loop
End If
End If
- Guarde o valor do seu itemdata numa variavel.Do tipo:
Dim cod as integer
cod=itemdata
- Depois faça algo do género:
Do While Not RScargo.EOF
If RScargo("codcargo") = cod Then
Combo1.Text = RScargo("titulocargo")
frmTAL.Refresh
End If
RScargo.MoveNext
Loop
End If
End If
agora sim, veja bem:
você esta trabalhando com relacionamento entre tabelas > funcionarios e cargos logo teriam que ter duas conexões
na conexão com o banco de cargos você coloca
conexaocargo.recordsource = "select * from TabCargo where CodigoCargo = " & conexao1.recordset(0)
obviamente que a conexao1 deve ser aberta primeira pois a conexao 2 pegara dados dela.
O que a linha a cima faz é selecionar todos os cargos cujo codigo seja igual ao informado na tabela funcionario. O (0) refere - se ao campo na tabela funcionario que contém o relacionamento com a tabela cargo.
valendo lembrar que os recordset carregados começam a ser identificados pelo 0 ou seja o primeiro campo é 0 e não 1, por isso se na tabela o campo é 2 na consulta você coloca 1.
esse codigo eu utilizo com ADO mas lógica também é aplicada a outras conexões bastando observar a identificação do campo para consulta.
você esta trabalhando com relacionamento entre tabelas > funcionarios e cargos logo teriam que ter duas conexões
na conexão com o banco de cargos você coloca
conexaocargo.recordsource = "select * from TabCargo where CodigoCargo = " & conexao1.recordset(0)
obviamente que a conexao1 deve ser aberta primeira pois a conexao 2 pegara dados dela.
O que a linha a cima faz é selecionar todos os cargos cujo codigo seja igual ao informado na tabela funcionario. O (0) refere - se ao campo na tabela funcionario que contém o relacionamento com a tabela cargo.
valendo lembrar que os recordset carregados começam a ser identificados pelo 0 ou seja o primeiro campo é 0 e não 1, por isso se na tabela o campo é 2 na consulta você coloca 1.
esse codigo eu utilizo com ADO mas lógica também é aplicada a outras conexões bastando observar a identificação do campo para consulta.
Tópico encerrado , respostas não são mais permitidas