USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  DataCombo, nunca usei...
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 02/06/2005 17:49 hs            
Olá, galera
 
To com uma pequena dificuldade... tenho um form de cadastro onde preencho um combo com uma lista de profissoes de uma tabela Profissoes, e seleciono uma delas pra cadastrar o funcionario... ta funcionando beleza, mas eu quero reduzir o codigo...
 
Entao vamos lá, decidi usar o controle DataCombo, eu acho q ele carrega automaticamente o conteudo da tabela profissoes, e entao eu so teria q selecionar...
 
Mas eu nao estou conseguindo usar ele... se alguem puder me ajudar... eu nao consegui nem sequer carregar os dados... alguem me dá uma luz, por favor...
 
Mais uma coisa: minha tabela tem dois campos, Id e Descricao. Quero exibir a coluna descricao no DataCombo, e qdo o usuario selecionar, quero saber qual a ID daquele registro... tb nao sei como fazer isso...
 
Galera, agradeço a ajuda de vcs... Abraços...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 03/06/2005 12:35 hs            
Elieser,
Nao aconsenho usar o dbcombo pois coloquei em um sistema e depois achei melhor tirar. Ele é lento e nada fexivel. Mais vamos la.
 
* Primeiro voce deve incluir o dbcombo (dbcombo_aux) e um objeto Data (db_aux).
* Configure o DATA1 para acessar o banco e pegar a tabela que voce quer.
   db_aux.DatabaseName = "c:db1.mdb"
   db_aux.RecordSource = "select * from clientes where situacao = 1 order by nome"
* Para se movimentar no dbcombo use
    db_aux.Recordset.MoveMin
    dbcombo_aux.Refresh
* No DBCOMBO voce aponta para o objeto DATA1
    dbcombo_aux.ListField = "Nome" ' campo que sera mostrado na dbcombo
    dbcombo_aux.BoundColumn = "id" ' Campo de indice (itemdata)
    dbcombo_aux.DataChanged = False
    dbcombo_aux.DataField = "id" ' Campo de indice (itemdata)

Para achar um item na dbcombo use
    db_aux.Recordset.FindMin " nome  = 'carlos'"
 
Acho que é so. Nao me lembro de tudo mais acho que ja ajuda.
 

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 03/06/2005 12:54 hs            
Rocha,
 
Valeu, vou testar... eu nao estou usando o DBCombo (Jet), e sim o DataCombo (ADO), mas acho q deve ser igual...
Vc disse q fica lento, pode ser...
Pra ser sincero nao gosto de usar o controle Data ou o ADODC...
Vou testar com um recordset...
 
Obrigado...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 03/06/2005 13:43 hs            
Não consegui vincular o DataCombo a um Recordset ADO...
 
Precisa mesmo ser o objeto Data, não tem como fazer com o Recordset???


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Susana
ANGRA DOS REIS
RJ - BRASIL
Postada em 03/06/2005 17:28 hs            
Elieser,
Também não acho legal usar controle Data, e creio não ser possível usar DataCombo sem o mesmo.
Uma das maneiras eu faria o que você quer (e com certeza usa pouco código e é rápido - com combo) seria:
Combo1.Clear
Dim RSAux As New ADODB.Recordset
Set RSAux = Cn.Execute("SELECT * FROM Profissoes order by profissoes")
If Not RSAux.EOF Then
   do While Not RSAux.EOF
       Combo1.AddItem Right("00000" & RSAux!ID, 5) & " - " & RSAux!profissoes
        RSAux.MoveNext
   loop
End If
Se seu ID é auto numeracao (eu nunca uso esse tipo de campo) use : Right("00000" & RSAux!ID, 5) como acima, se for string use só RSAux!ID (no exemplo ele seria caracter com tamanho 5). Isso serve para voce obter o ID da profissão selecionada com left(combo1.text,5).
Não sei se te ajudou.
 
Susana
 
     
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 04/06/2005 01:41 hs            
Não gosto da ideia de exibir os codigos... mas parece ser realmente a melhor alternativa... nao tinha pensado nisso...
 
Meu problema esta realmente no codigo-fonte. Tenho 4 combos desses no mesmo form, e entao tem muito codigo pra preencher, e manipular arrrays, e selecionar id, depois validar, etc... assim fica realmente mais facil...
Vou tentar implementar desse geito, pra ver se fica melhor...
 
Abraços, e muito obrigado...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página