Jump to content
Daniela C

Erro: O fornecedor 'Microsoft.ACE.OLEDB.12.0' não está registado...

Recommended Posts

Daniela C

Ola pessoal , alguém me pode ajudar?

Ao executar o meu programa no visual basic 2008 , indica.me esta mensagem (erro) alguém me pode indicar do que se trata?

Obrigado  ;)

O fornecedor 'Microsoft.ACE.OLEDB.12.0' não está registado no computador local.

Share this post


Link to post
Share on other sites
thoga31

Sem código, sem nada de nada, a não ser o erro... Tipo, não somos adivinhos com bolas de cristal. ;)


Knowledge is free!

Share this post


Link to post
Share on other sites
Daniela C

Porque sei que nos outros computadores nao da erro so no meu.

Isto deve ter com o sistema operativo ou alguma coisa parecida  :bored:

Share this post


Link to post
Share on other sites
thoga31

Como queres que saibamos se é isso ou não se não sabemos nada de nada a não ser a mensagem do erro?

Quando dá o erro? Na execução ou no arranque?

Dá-nos mais informação! Só assim ninguém te ajuda, neh? Sabem lá o que hão-de dizer...


Knowledge is free!

Share this post


Link to post
Share on other sites
Daniela C

Imports System.Data
Imports System.Data.OleDb
Public Class Form3
    Public strSQL As String
    Public verifica As Boolean
    Private Sub pic_procurar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pic_procurar.Click
        Dim sql_nif As String
        dgrid_lista.ClearSelection()
        ligacao_bd.LIGACAO()
        sql_nif = "select * from empregados where nif_empregado=" & txt_procurar.Text
        Dim da_nif As OleDbDataAdapter = New OleDbDataAdapter(sql_nif, ligacao_bd.minhaligacao)
        da_nif.Fill(ligacao_bd.ds, "empregados")
        Dim nregistos As Integer = ligacao_bd.ds.Tables(0).Rows.Count
        If nregistos > 0 Then
            dgrid_lista.DataSource = ds.Tables(0)
            verifica = True
            dgrid_lista.Visible = True
            MsgBox("Registo encontrado", MsgBoxStyle.Information, "Procura")
        Else
            MsgBox("Registo não foi encontrado", MsgBoxStyle.Information, "Procura")
            txt_procurar.Text = ""
            verifica = False
        End If
    End Sub
    Private Sub dgrid_lista_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        If dgrid_lista.RowCount > 1 Then
            Pic_remover.Enabled = True
        Else
            Pic_remover.Enabled = False
        End If
    End Sub

    Private Sub Pic_remover_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pic_remover.Click
        Dim i, j, nregistos2 As Integer
        Dim da_db2 As OleDbDataAdapter
        Dim DA As New DataSet
        Dim perg As String
        Dim sql_apaga1 As String
        Dim DT2 As DataTable
        If verifica = True Then
            perg = MsgBox("DESEJA REALMENTE APAGAR O REGISTO DO FUNCIONÁRIO " & txt_procurar.Text & " ?", MsgBoxStyle.YesNo, "APAGAR ?")
            If perg = vbYes Then
                abre_bd.ligar_bd()
                sql_apaga1 = "select * from facturaccao where nif_empregado='" & txt_procurar.Text & "'"
                ligacao_bd.objCmd = New OleDbCommand(sql_apaga1, ligacao_bd.objConnection)
                ligacao_bd.objCmd.ExecuteNonQuery()
                da_db2 = New OleDbDataAdapter(sql_apaga1, ligacao_bd.minhaligacao)
                da_db2.Fill(ligacao_bd.ds, "sql_apaga1") 'é preenchido o dataset com os registos resultantes da consulta
                nregistos2 = 0
                DT2 = ligacao_bd.ds.Tables("sql_apaga1")
                nregistos2 = DT2.Rows.Count
                If nregistos2 = 0 Then
                    sql_apaga1 = "DELETE FROM empregados where nif_empregado=" & txt_procurar.Text
                    ligacao_bd.objCmd = New OleDbCommand(sql_apaga1, ligacao_bd.objConnection)
                    ligacao_bd.objCmd.ExecuteNonQuery()
                    'da_db3 = New OleDbDataAdapter(sql_apaga, conf_ligacao.minhaligacao)
                    'da_db3.Fill(conf_ligacao.ds2, "sql_apaga") 'é preenchido o dataset com os registos resultantes da consulta
                    'nregistos3 = 0
                    'DT3 = conf_ligacao.ds.Tables("sql_apaga")
                    'nregistos2 = DT2.Rows.Count
                    MsgBox(" O REGISTO DO EMPREGADO COM NIF:  foi eliminado" & txt_procurar.Text, , titulo)
                Else
                    MsgBox("NÃO É POSSIVEL APAGAR O REGISTO! FUNCIONÁRIO COM NIF: " & txt_procurar.Text & "  REFERENCIADO EM FACTURAS EMITIDAS", MsgBoxStyle.Exclamation, "NÃO É POSSÍVEL...")
                End If
            End If
            Pic_remover.Enabled = False
            dgrid_lista.Visible = False
        End If
    End Sub

    Private Sub Pic_voltar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pic_voltar.Click
        Me.Close()
        Form2.Show()
    End Sub

    Private Sub Pic_adicionar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pic_adicionar.Click
        Me.WindowState = FormWindowState.Minimized
        Form4.Show()
    End Sub
End Class 

esse e o codigo e eu ao arrancar o problema funciona tudo lindamente , mas depois introduzo os dados para procurar o empregado e da essa mensagem

Share this post


Link to post
Share on other sites
Andrepereira9

Boas

Tens o Microsoft Acess instalado??

Se não tiveres ou instalas o Acess (podes abrir as BD do acess)

Ou então instalas isto: Microsoft Access Database Engine 2010 Redistributable (com isto não podes abrir as BDs se não tiveres o Acess)


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
Daniela C

Sim eu nao tenho o acess instalado sera por isso?

e melhor instalar para ver ne?

Share this post


Link to post
Share on other sites
Andrepereira9

Convém porque o erro que ele está a dar é não épor falta do acess, mas sim do "componente" Microsoft.ACE.OLEDB.12.0

Ou instalas o Acess que instala isso automaticamente ou Instalas o outro componente que te dei o link


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.