COMBOBOX ALTERA DADOS DE OUTRO CAMPO
                    Olá!
Minha dúvida é a seguinte:
Num form tenho um Combobox e um Textbox.
No Load do form são adicionados ao cmbUsuarios os itens do campo Login da tabela Usuarios.
Quero que ao ser selecionado um item de cmbUsuarios o txtTipo seja alterado para o Tipo correspondente ao Login.
A tabela seria assim:
Login | Tipo
joao | Usuário
jose | Administrador
Haida | Usuário
Alguem sabe como fazer isso?
            Minha dúvida é a seguinte:
Num form tenho um Combobox e um Textbox.
No Load do form são adicionados ao cmbUsuarios os itens do campo Login da tabela Usuarios.
Quero que ao ser selecionado um item de cmbUsuarios o txtTipo seja alterado para o Tipo correspondente ao Login.
A tabela seria assim:
Login | Tipo
joao | Usuário
jose | Administrador
Haida | Usuário
Alguem sabe como fazer isso?
                    Esses dados ja estao cadastrados na tabela ?
Seria os campos da tabela:
Usuario (chave primaria - IndUsuario)
Tipo
entao voce faria assim:
Entao voce colocaria esse sub no evento Click no combo
com isso seria assim a lógica:
no sub Mostrar eu puxo os dados de acordo com que esta na tabela.
no evendo click do combo, eu faço a procura de acordo com o texto do combo
com isso ele puxa o sub mostrar e mostra de acordo com o procurado na tabela.
bem simples assim
seria isso o que queria ?






 
                
            Seria os campos da tabela:
Usuario (chave primaria - IndUsuario)
Tipo
entao voce faria assim:
Private sub Mostrar()
     combo1.text = tabela!usuario
      text1.text= tabela!tipo
end subEntao voce colocaria esse sub no evento Click no combo
Private sub Combo1_Click()
tabela.index(indusuario)
tabela.seek [Ô]=[Ô], combo1.text
   mostrar
end subcom isso seria assim a lógica:
no sub Mostrar eu puxo os dados de acordo com que esta na tabela.
no evendo click do combo, eu faço a procura de acordo com o texto do combo
com isso ele puxa o sub mostrar e mostra de acordo com o procurado na tabela.
bem simples assim
seria isso o que queria ?






 
                
                    errei la em cima seria 
tabela!index = [Ô]indusuario[Ô]
 
                
            tabela!index = [Ô]indusuario[Ô]
 
                
                    Charleston,
Obrigado pela ajuda,
Fiz o que você disse, mas na execução ele não reconheceu a tabela usuário.
Meu código ficou assim:
Private Sub cmbUsuario_Click()
Usuarios!Index = [Ô]idusuario[Ô]
Usuarios.Seek [Ô]=[Ô], cmbUsuarios.Text
Call Mostrar
End Sub
Private Sub Mostrar()
cmbUsuario.Text = Usuarios!login
txtTipo.Text = Usuarios!tipo
End Sub
porque não reconheceu a tabela?
                
            Obrigado pela ajuda,
Fiz o que você disse, mas na execução ele não reconheceu a tabela usuário.
Meu código ficou assim:
Private Sub cmbUsuario_Click()
Usuarios!Index = [Ô]idusuario[Ô]
Usuarios.Seek [Ô]=[Ô], cmbUsuarios.Text
Call Mostrar
End Sub
Private Sub Mostrar()
cmbUsuario.Text = Usuarios!login
txtTipo.Text = Usuarios!tipo
End Sub
porque não reconheceu a tabela?
                    Barreto, posta como vc preenche a cmbUsuários?.
                
            Citação::
Barreto, posta como vc preenche a cmbUsuários?.
Marcelo, faço da seguinte forma:
Private Sub Form_Load()
Dim r As New ADODB.Recordset
If r.State <> 1 Then [ô]o banco de dados está fechado
r.Open [Ô]Usuarios[Ô], c, adOpenDynamic, adLockOptimistic, adCmdTable
End If
r.MoveFirst
Do While Not r.EOF
cmbUsuario.AddItem r![Login]
r.MoveNext
Loop
End Sub
                    Entendi!
Voce tem a tabela usuario criada ?
Caso sim.
No momento do codigo vc tem q chamar de acordo com q vc declarou no seu projeto
imagine existe uma tabela Usuario no seu banco de dados porem vc declarou ela como [Ô]User[Ô] no seu projeto,
entao sempre no codigo vc tem que chamar como User nao com o nome da tabela
Pelo que eu vi vc declarou a tabela Usuarios como [txt-color=#0000f0][Ô]r[Ô][/txt-color], faça assim
na codificação puxa com o [Ô]r[Ô]
Exemplo:
acima !
O nome da tabela é Usuarios no bd mas vc declarou a tabela como r , entao faça o codigo com o r.
;]
é só isso mesmo, até mais - abç
                
            Voce tem a tabela usuario criada ?
Caso sim.
No momento do codigo vc tem q chamar de acordo com q vc declarou no seu projeto
imagine existe uma tabela Usuario no seu banco de dados porem vc declarou ela como [Ô]User[Ô] no seu projeto,
entao sempre no codigo vc tem que chamar como User nao com o nome da tabela
Pelo que eu vi vc declarou a tabela Usuarios como [txt-color=#0000f0][Ô]r[Ô][/txt-color], faça assim
na codificação puxa com o [Ô]r[Ô]
Exemplo:
Private Sub cmbUsuario_Click()
  r!Index = [Ô]idusuario[Ô]
   r.Seek [Ô]=[Ô], cmbUsuarios.Text
       Call Mostrar
End Sub
Private Sub Mostrar()
    cmbUsuario.Text = r!login
    txtTipo.Text = r!tipo
End Subacima !
O nome da tabela é Usuarios no bd mas vc declarou a tabela como r , entao faça o codigo com o r.
;]
é só isso mesmo, até mais - abç
                    Oi, Charleston,
Mais uma vez obrigado.
O código deu erro no médoto seek
[Ô]Compile error:
Method or data member not found[Ô]
Me parece que este método não está relacionado nos
do recordset.
E agora? 
                
            Mais uma vez obrigado.
O código deu erro no médoto seek
[Ô]Compile error:
Method or data member not found[Ô]
Me parece que este método não está relacionado nos
do recordset.
E agora?
 
                
                    A propósito, estou usando o
Microsoft ADO Data Control 6.0 (OLEDB).
Isso influencia?
            Microsoft ADO Data Control 6.0 (OLEDB).
Isso influencia?
                    Eu testei aqui no meu computador, sei qual é o erro, o erro é que estava usando metodo DAO e nao ADO, é que eu estou acostumado e estou mudei a pouco tempo para ADO,
Arrumei aqui e deu certo, quando eu seleciono o Usuario automaticamente muda o campo categoria de acordo com o usuario que escolhi, veja abaixo o código:
Tabela: USUARIOS
Campos: LOGIN, CATEGORIA
 
            Arrumei aqui e deu certo, quando eu seleciono o Usuario automaticamente muda o campo categoria de acordo com o usuario que escolhi, veja abaixo o código:
Tabela: USUARIOS
Campos: LOGIN, CATEGORIA
  Option Explicit
Dim Banco As New ADODB.Connection [ô]BD
Dim tbUser As New ADODB.Recordset [ô]Tabela Usuarios
Dim SQLUsuarios, SQLSEEK As String [ô]SEEK = PROCURA
Dim Conexao, Caminho As String
Private Sub cmbUsuarios_Click()
    tbUser.Close
    SQLSEEK = ([Ô]SELECT * FROM USUARIOS WHERE LOGIN = [ô][Ô] & cmbUsuarios.Text & [Ô][ô][Ô])
    tbUser.Open SQLSEEK, Conexao, adOpenDynamic, adLockOptimistic
    Mostrar
End Sub
Private Sub Form_Load()
        AbrirBD
        SQLUsuarios = [Ô]SELECT * FROM USUARIOS[Ô]
        tbUser.Open SQLUsuarios, Conexao, adOpenDynamic, adLockOptimistic
        PreencheCombo       
End Sub
Private Sub AbrirBD() [ô]Abrir Banco de dados
    On Error GoTo erro
    
    Caminho = (App.Path & [Ô]\banco.mdb[Ô])
    Conexao = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Caminho & [Ô][Ô]
    
    Banco.ConnectionString = Conexao
    Banco.Open
    
erro: [ô]Erro ao abrir banco de dados
    If Err.Number <> 0 Then
        MsgBox Err.Description & vbCrLf & Err.Number, vbCritical
    End If
End Sub
Private Sub FecharBD() [ô]Fechar Banco de dados
    On Error GoTo erro
       Banco.Close
    Set Banco = Nothing [ô]fecha o banco de dados tirando-o da memoria
erro:
    If Err.Number <> 0 Then Exit Sub
End Sub
Private Sub PreencheCombo()
     Do While Not tbUser.EOF
        cmbUsuarios.AddItem tbUser![login]
        tbUser.MoveNext
    Loop
End Sub
Private Sub Mostrar()
  lblCategoria.Caption = tbUser![categoria]
End Sub
 
                    Charleston, 
Muito obrigado!
O código operou perfeitamente
e fez o que eu precisava.
Tenha um feliz natal e
um excelente 2011!
Abraços
            Muito obrigado!
O código operou perfeitamente
e fez o que eu precisava.
Tenha um feliz natal e
um excelente 2011!
Abraços
                        Tópico encerrado , respostas não são mais permitidas
                    
                

