_maria_ 0 Denunciar post Postado Maio 20, 2010 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
sublyer 0 Denunciar post Postado Maio 21, 2010 Maria, posta teu código pra gente analisar. Att Compartilhar este post Link para o post Compartilhar em outros sites
_maria_ 0 Denunciar post Postado Maio 21, 2010 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
_maria_ 0 Denunciar post Postado Maio 21, 2010 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
quintelab 91 Denunciar post Postado Maio 24, 2010 É 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
_maria_ 0 Denunciar post Postado Maio 24, 2010 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