none
Ajuda para salvar dados numa tabela access RRS feed

  • Pergunta

  • Olá
    Como faço para dar o update numa tabela Access utilizando VS 2008? Não sei pq ela nao atualiza meus dados.
    Veja o codigo:

     

    Private Sub btnNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNovo.Click
    mMarcador = CatCManager.Position
    Call definirEstado("Novo")
    CatCManager.AddNew()

     

    End Sub

     

    Private Sub btnSalvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalvar.Click
    If nome.Text.Trim = "" Then
    MessageBox.Show("Informe o Nome.", "Erro Entrada", MessageBoxButtons.OK, MessageBoxIcon.Information)
    nome.Focus()
    Exit Sub
    End If

     

    Dim itemSalvo As String = nome.Text
    Dim linhaSalva As Integer

     

    CatCManager.EndCurrentEdit()
    CatTabela.DefaultView.Sort = "Nome"
    linhaSalva = CatTabela.DefaultView.Find(itemSalvo)
    CatCManager.Position = linhaSalva
    Call definirEstado("Ver")

     

    End Sub


    helio Passos
    sexta-feira, 12 de fevereiro de 2010 22:57

Respostas

  • Desculpa a demora, mas não tinha recebido email de sua resposta.


    Nestes links tem exemplos de como utilizar o OledbCommand para acessar o banco Access e atualizar os dados.

    http://www.macoratti.net/vbn_dat1.htm
    http://www.linhadecodigo.com.br/Artigo.aspx?id=216
    Se sua pergunta foi respondida por favor marque a resposta como certa.
    • Marcado como Resposta HelioPassos sábado, 20 de fevereiro de 2010 20:03
    quinta-feira, 18 de fevereiro de 2010 11:09

Todas as Respostas

  • Mas neste código não tem nenhum local com codigo para salvar.
    Vc pode usar o objeto OleDbDataAdapter ou OleDbCommand, para salvar e buscar objetos do banco access.

    Se sua pergunta foi respondida por favor marque a resposta como certa.
    sábado, 13 de fevereiro de 2010 12:52
  • Olá!

    Vc poderia me passar essa rotina com o update?
    Não é o  .EndCurrentEdit() que atualiza os dados ?

    Obrigado!
    helio Passos
    domingo, 14 de fevereiro de 2010 01:19
  • Desculpa a demora, mas não tinha recebido email de sua resposta.


    Nestes links tem exemplos de como utilizar o OledbCommand para acessar o banco Access e atualizar os dados.

    http://www.macoratti.net/vbn_dat1.htm
    http://www.linhadecodigo.com.br/Artigo.aspx?id=216
    Se sua pergunta foi respondida por favor marque a resposta como certa.
    • Marcado como Resposta HelioPassos sábado, 20 de fevereiro de 2010 20:03
    quinta-feira, 18 de fevereiro de 2010 11:09
  • Obrigado.
    Ainda não consegui resolver este meu problema acho que é Por causa da conf do meu vs 2008 e do vista home premium:
    vou continuar tentando e procurando outras soluções.
    helio Passos
    sábado, 20 de fevereiro de 2010 20:07
  • Poderia postar como está seu código agora(pergunta).
    Talvez possamos ajudar, pois no código que vc colocou prmeiro, não tinha nenhuma chamada a algum metodo que atualizasse em banco.
    Pelo que deu pra perceber vc estava utilizando um dataset, e adicionava linhas no dataset, mas so isso nao vai atualizar no banco automaticamente.

    Se sua pergunta foi respondida por favor marque a resposta como certa.
    domingo, 21 de fevereiro de 2010 14:22
  • sDBstr =

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = c:\cadastro\Cadastro.mdb"
    sSQL = "SELECT * from Catequista Order By Nome"

     

    Dim oCn As New OleDbConnection(sDBstr)
    oCn.Open()

     

    Dim oDa As New OleDbDataAdapter(sSQL, oCn)

    If

    Dim oDa As New OleDbDataAdapter(sSQL, oCn)

    If

     

    txtNome.Text <> "" Then
    Dim oDs As New DataSet()

    oDa.Fill(oDs,

    "Name")

    oDR = oDs.Tables(

    "Name").NewRow

    oDR(

    "Nome") = txtNome.Text
    oDR(
    "Parq") = txtParq.Text
    oDR(
    "Regiao") = txtRegiao.Text
    oDR(
    "Tema") = txtTema.Text
    oDR(
    "Unidade") = txtUnidade.Text

    oDs.Tables(

    "Name").Rows.Add(oDR)

     

    Dim oCB = New OleDbCommandBuilder(oDa)

    oDa.Update(oDs,

    "Name")

    oDa.Dispose()
    oDs.Dispose()
    oCB.Dispose()
    oCn.Dispose()

    Else

    MessageBox.Show(

    "Informar o Nome.", "Erro Entrada", MessageBoxButtons.OK, MessageBoxIcon.Information)

    txtParq.Focus()

    End If

    Inclusão esta ok. Mas como faço para atualizar (alterações) ?  Estou precisando da rotina para atualizar a tabela com os dados alterados.

    Muito Obrigado


    helio Passos
    segunda-feira, 22 de fevereiro de 2010 18:51
  • Olá!
    Ao colocar a rotina em outra function, a alteração funcionou. Por favor eu gostaria de entender o porque.
    Preciso de material para estudar melhor e compreender as funcionalidades do vb2008. Obrigado a quem
    puder me ajudar.

    Obrigado. 
    helio Passos
    segunda-feira, 1 de março de 2010 18:40