Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

_maria_

[Resolvido] combox vb.net

Recommended Posts

Olá.

 

Estou começando a desenvolver com vb.net 2008 e tenho uma dúvida, se puderem me ajudar, agradeceria muito!

 

Tenho um banco com duas tabelas, uma de clientes e outra de cidade. Na tabela clientes eu preciso identificar a cidade (tenho um campo código cidade - chave estrangeira).

 

Estou fazendo um formulário no vb e já fiz a conexão arrastando os campos da janela data sources, e já tentei configurar a combo em suas propriedades, mas não funciona. O formulário até carrega, mas não é atualizado sempre que navego pelos registros, e se eu tentar alterar a cidade na combo, trava tudo.

 

Alguém tem alguma dica? Já procurei material, mas todos ensinam apenas utilizando a conexão programada (ado).

 

Obrigada.

 

Maria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maria, posta teu código pra gente analisar.

 

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jáder,

 

Não fiz a conexão no modo programado (ado) fiz a conexão com o banco e depois, pelo assistente, arrastando os campos para o formulário coloquei os labels e os textbox e uma combo. Então, na combo, selecionei a opção "use data bound itens", e preenchi as opções datasource, display member, value member e select value.

 

O formulário, na hora que eu carrego, não mostra o valor do primeiro registro na combo, só se eu navegar pelos registros. Outro problema, é que não consigo editar esse campo que está vinculado na combo.

 

Quando fiz isso no vb.net 2003 eu só consegui por meio da conexão no modo programado, sem utilizar o modo interativo. No 2008 também?

 

Obrigada pela atenção!

 

Maria

 

Maria, posta teu código pra gente analisar.

 

 

Att

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,

Consegui fazer rodar, mas apelei...! Fiz a conexão programada (ADO), mas tenho ainda duas dúvidas:

 

- ao carregar o formulário, a combo não mostra a descrição do campo, só se eu navegar pelos registros.

- os objetos de conexão que são criados quando arrasto um campo do DataSources estão no formulário, mas o formulário só funciona se eu tiver essa conexão programada... Por quê? A conexão que é criada pelo assistente deveria funcionar...

 

Vejam o código:

----------------------------------------------------

Imports System.Data.OleDb


Public Class Form3
    'Provider=Microsoft.ACE.OLEDB.12.0;Data Source="|DataDirectory|\Banco de Dados1.accdb"
    Dim Conexao As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Banco de Dados1.accdb;"
    'variável que armazenará a conexão
    Dim Conn As New OleDbConnection(Conexao)

    'oleDbDataAdapter -> armazena as informações da tabela
    Dim ODACidade As New OleDbDataAdapter("Select Código, Campo1 From Tabela2", Conn)

    'dataSet -> interface
    Dim DataSetCidade As New DataSet()

    'commandBuilder -> utilizado no módulo para habilitar do DataAdapter 
    'para trabalhar com edit, delete, update direto nas linhas da tabela
    Dim cmdBldr As New OleDbCommandBuilder(ODACidade)


    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'Banco_de_Dados1DataSet.Tabela2' table. You can move, or remove it, as needed.
        Me.Tabela2TableAdapter.Fill(Me.Banco_de_Dados1DataSet.Tabela2)

        'TODO: This line of code loads data into the 'Banco_de_Dados1DataSet.Tabela1' table. You can move, or remove it, as needed.
        Me.Tabela1TableAdapter.Fill(Me.Banco_de_Dados1DataSet.Tabela1)

        'tratamento de erro
        'dentro do try as linhas em que podem ocorrer algum tipo de erro
        Try

            'habilita o commandBuilder no DataAdapter
            cmdBldr = New OleDbCommandBuilder(ODACidade)

            'alimenta os datasets
            ODACidade.Fill(Me.DataSetCidade, "Tabela2")

            'caso ocorra erro, jogar para uma messagebox a descrição do mesmo.
        Catch Ex As Exception
            MessageBox.Show(Ex.Message)
        End Try

    End Sub

   

End Class
----------------------------------------------------

 

Obrigada,

 

Maria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É dificil saber pq a conexão com o assistente não esta funcionando, pois não temos código para avaliar.

Mas o ideal é criar seu próprio código de conexão, não recomendo a ninguém a usar o assistente.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada pela atenção!

 

Vou me habituar a fazer sempre a conexão programada.

 

Um abraço,

 

Maria.

 

É dificil saber pq a conexão com o assistente não esta funcionando, pois não temos código para avaliar.

Mas o ideal é criar seu próprio código de conexão, não recomendo a ninguém a usar o assistente.

 

Abraços...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.