none
Tabela Access 2007 RRS feed

  • Pergunta

  • Estou com muita dificuldade com minha tabela, bom criei essa tabela aparti da plan1 onde tem diversos campos( Data, af,modelo,série, fabricante,local, endereço, contato, tel, equipamento, O.S e Ocorrência), Porém tenho outra plan2 que contém os dados do equipamento (af,modelo,série, fabricante,local). fiz uma caixa de combinação para tentar puxar esses dados da plan2 de forma que fiquem certos com a plan1. Assim que eu puxar atravez do AF já me traz todas as outras informaçoes modelo, serie, fabricante e local, e eu preecher o restante, tentei alguns codigos, relacionar mas sem sucesso! se alguém puder me ajudar agradeço!

    terça-feira, 14 de agosto de 2012 17:46

Respostas

  • Olá Ronaldo,

    O código abaixo popula os dados de um ComboBox com os dados de um modelo.

    Dim connetionString As String Dim cnn As OleDbConnection Dim cmd As OleDbCommand Dim sql As String Dim dt As DataTable Dim da As OleDbDataAdapter connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AQUI VAI O CAMINHO PARA O SEU BANCO DE DADOS;" sql = "SELECT modelo FROM SuaTabelaDeEquipamentos" cnn = New OleDbConnection(connetionString) Try cmd = New OleDbCommand(sql, cnn) da = new OleDbDataAdapter(cmd) dt = new DataTable() da.Fill(dt); Me.ComboBox1.DataSource = dt Me.ComboBox1.DisplayMember = "modelo" Catch ex As Exception MsgBox("Can not open connection ! ") End Try

    O que vc terá de fazer neste código para ele funcionar na sua aplicação é:

    -  adaptar a sua connection string, apontando para o caminho do seu arquivo do ACCESS.
    - no comando SQL trocar a palavra "SuaTabelaDeEquipamentos" pelo nome da sua tabela no access.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    • Marcado como Resposta Ronaldo S. Lima segunda-feira, 20 de agosto de 2012 14:10
    sexta-feira, 17 de agosto de 2012 12:37
    Moderador

Todas as Respostas

  • Olá Ronaldo,

    Pelo o que entendi vc quer relacionar essas duas tabelas do seu Access via código?

    É isso mesmo?

    Elas tem algum campo em comum?

    Qual código vc ja escreveu?

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    terça-feira, 14 de agosto de 2012 17:58
    Moderador
  • Bom dia! Fernando tenho apenas uma tabela para duas plan, uma plan quero fazer os registro, e na outra puxar os dados( fazer uma consulta). Na hora de criar a tabela eu jogo apenas os campos da plan 1, conseguetemente não consigo puxar os dados da plan2.

    Em um dos teste que fiz criei um filtro, usando o seguinte código.

    Private Sub Consulta_AfterUpdate()
    DoCmd.ApplyFilter , " Identificação = " & Me!Consulta.Column(0)
    Me!AF.SetFocus
    Me!Consulta = Null
    End Sub

    Esse código deu certo para puxar os dados ou fazer consultas, porém utilizei apenas a plan2 para criar esse formulário, onde não consigo manda as informações para a plan1.

    é meio complicado.

    Abraços.

    quarta-feira, 15 de agosto de 2012 11:47
  • Olá Ronaldo,

    Pelo o que notei vc tem uma planilha e importou os dados para duas tabelas do Access, correto?

    Percebi também que vc esta programando em VB.Net, correto?

    Vc deseja apenas executar uma consulta relacionando essas duas tabelas?

    Veja se o código abaixo lhe ajuda:

            Dim connetionString As String
            Dim cnn As OleDbConnection
            Dim cmd As OleDbCommand
            Dim sql As String
            Dim reader As OleDbDataReader
    
            connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AQUI VAI O CAMINHO PARA O SEU BANCO DE DADOS;"
            sql = "SELECT A.* FROM NomeSuaTabela1 A INNER JOIN NomeSuaTabela2 B ON A.af = B.af AND A.modelo = B.modelo AND A.série = B.série"
    
            cnn = New OleDbConnection(connetionString)
            Try
                cnn.Open()
                cmd = New OleDbCommand(sql, cnn)
                reader = cmd.ExecuteReader()
                While reader.Read()
                    MsgBox(reader.Item(0) & "  -  " & reader.Item(1) & "  -  " & reader.Item(2))
                End While
                reader.Close()
                cmd.Dispose()
                cnn.Close()
            Catch ex As Exception
                MsgBox("Can not open connection ! ")
            End Try
    
    
    
    
    
    

    []s!

    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    quinta-feira, 16 de agosto de 2012 15:29
    Moderador
  • Ola Fernando!

    Desculpa acho que me expressei errado. Então, eu tenho duas tabelas e um formulário, pórem na tabela1 tem varios campos para registro, e na tabela2 tenho só quatro campos que serve para fazer uma consulta com dados dos equipamentos.

    No formulário quero fazer uma consulta com a tabela2, preecher o restante dos campos de forma manual, onde todo o novo registro fique na tabela1.

    Att.


    quinta-feira, 16 de agosto de 2012 17:24
  • Olá Ronaldo,

    Acredito que entendi seu problema.

    Vc quer utilizar os dados da Tabela 2 para popular os controle de um formulário, para então utilizar estes dados selecionados da tabela 2 para gravar registros na tabela 1.

    Para lhe ajudar a preencher os controle, responda algumas perguntas:

    - Vc esta montando uma aplicação windows forms, asp.net, wpf, silverlight? Qual tecnologia esta utilizando?

    - Vc alguma vez ja fez acesso a dados? quer utilizar entity framework ou ado.net, ou tanto faz?

    - Vc quer popular controles combobox no seu formulário?

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    sexta-feira, 17 de agosto de 2012 00:52
    Moderador
  • Bom Dia!

    Isso mesmo, bom estou montando uma aplicação no windows forms, eu ainda não fiz acesso aos dados então tanto faz, e gostaria de um combobox.

    Abraços.

    sexta-feira, 17 de agosto de 2012 12:22
  • Olá Ronaldo,

    O código abaixo popula os dados de um ComboBox com os dados de um modelo.

    Dim connetionString As String Dim cnn As OleDbConnection Dim cmd As OleDbCommand Dim sql As String Dim dt As DataTable Dim da As OleDbDataAdapter connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AQUI VAI O CAMINHO PARA O SEU BANCO DE DADOS;" sql = "SELECT modelo FROM SuaTabelaDeEquipamentos" cnn = New OleDbConnection(connetionString) Try cmd = New OleDbCommand(sql, cnn) da = new OleDbDataAdapter(cmd) dt = new DataTable() da.Fill(dt); Me.ComboBox1.DataSource = dt Me.ComboBox1.DisplayMember = "modelo" Catch ex As Exception MsgBox("Can not open connection ! ") End Try

    O que vc terá de fazer neste código para ele funcionar na sua aplicação é:

    -  adaptar a sua connection string, apontando para o caminho do seu arquivo do ACCESS.
    - no comando SQL trocar a palavra "SuaTabelaDeEquipamentos" pelo nome da sua tabela no access.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    • Marcado como Resposta Ronaldo S. Lima segunda-feira, 20 de agosto de 2012 14:10
    sexta-feira, 17 de agosto de 2012 12:37
    Moderador
  • Fernando Muito obrigado, consegui fazer o formulário da meneira que planejei,

    apenas alterei alguns dados e ajustei a minha necessidade.

    Vlw.

    sexta-feira, 17 de agosto de 2012 17:21
  • Legal Ronaldo,

    Isso é mto bom!

    Poderia marcar a resposta que mais lhe ajudou como a Resposta desta thread? Isso ajuda a todos os que estão vivendo o mesmo problema que vc a resolver o problema.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    sexta-feira, 17 de agosto de 2012 17:36
    Moderador