none
conectar a un archivo dbf con visual basic 2008 RRS feed

  • Pregunta

  • buenas noches , podrias ayudarme en como conectarme a un archivo DBF con visual basic 2008 tengo un sistema operativo windows 7 de 64 bits , lo intente de varias maneras pero me sale error. gracias

    Public Class Form1
        Public dBaseConnection As New System.Data.OleDb.OleDbConnection
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                Dim tb As DataTable
                tb = getdbasetable("select * from [venta de productos-gasboy];")
                DGVvisor.DataSource = tb
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

        End Sub

        Public Function getdbasetable(ByVal SqlString As String) As DataTable
            Dim ReturnableTable As New DataTable
            Try
                OpendBConnection()
                Dim SelectCommand As New System.Data.OleDb.OleDbCommand(SqlString, dBaseConnection)
                Dim TableAdapter As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter
                TableAdapter.SelectCommand = SelectCommand
                TableAdapter.Fill(ReturnableTable)
                Return ReturnableTable
            Catch ex As Exception
                MsgBox(ex.Message & vbCrLf & SqlString, 16, "Error")
                End
            End Try
            Return ReturnableTable
        End Function

        Public Sub OpendBConnection()
            Try
                Dim ConnectionString As String
                ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\usuario\Desktop\reporte;Extended Properties=dBase IV"
                dBaseConnection = New System.Data.OleDb.OleDbConnection(ConnectionString)
                If dBaseConnection.State = 0 Then dBaseConnection.Open()
            Catch ex As Exception
                MsgBox(ex.Message, 16, "Error")
            End Try
        End Sub
    End Class


    • Editado markho35 viernes, 31 de agosto de 2018 1:58 er
    viernes, 31 de agosto de 2018 1:57

Respuestas

  • Hola:
    En un Form como el de la imagen

    Copia y pega el siguiente código

        Private Sub lP_OLEDBDA()
            Me.Cursor = Cursors.WaitCursor
            Dim lsCarpeta As String = Path.GetDirectoryName(Me.txtFichero.Text)
            Dim lsFichero As String = Path.GetFileNameWithoutExtension(Me.txtFichero.Text)
            '
            Try
                Dim lsCadConexion As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & lsCarpeta & ";Extended Properties=dBASE 5.0;"
                Dim loDataTable As New DataTable
                Using loConexion As New OleDbConnection(lsCadConexion)
                    Dim lsQuery As String = "Select * From " & lsFichero
                    Using loDataAdapter As New OleDbDataAdapter(lsQuery, loConexion)
                        loDataAdapter.Fill(loDataTable)
                    End Using
                End Using
                'Para enlazar el datatable con el datagrid, en DataSource se asigna el datatable
                Me.DataGridView1.DataSource = loDataTable
            Catch ex As Exception
                Me.Cursor = Cursors.Default
                MessageBox.Show(ex.Message, "lP_OLEDBDA", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
            Me.Cursor = Cursors.Default
        End Sub

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta Pablo Rubio lunes, 3 de septiembre de 2018 14:30
    viernes, 31 de agosto de 2018 5:49

Todas las respuestas

  • Hola:
    En un Form como el de la imagen

    Copia y pega el siguiente código

        Private Sub lP_OLEDBDA()
            Me.Cursor = Cursors.WaitCursor
            Dim lsCarpeta As String = Path.GetDirectoryName(Me.txtFichero.Text)
            Dim lsFichero As String = Path.GetFileNameWithoutExtension(Me.txtFichero.Text)
            '
            Try
                Dim lsCadConexion As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & lsCarpeta & ";Extended Properties=dBASE 5.0;"
                Dim loDataTable As New DataTable
                Using loConexion As New OleDbConnection(lsCadConexion)
                    Dim lsQuery As String = "Select * From " & lsFichero
                    Using loDataAdapter As New OleDbDataAdapter(lsQuery, loConexion)
                        loDataAdapter.Fill(loDataTable)
                    End Using
                End Using
                'Para enlazar el datatable con el datagrid, en DataSource se asigna el datatable
                Me.DataGridView1.DataSource = loDataTable
            Catch ex As Exception
                Me.Cursor = Cursors.Default
                MessageBox.Show(ex.Message, "lP_OLEDBDA", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
            Me.Cursor = Cursors.Default
        End Sub

    Un saludo desde Bilbo
    Carlos

    • Marcado como respuesta Pablo Rubio lunes, 3 de septiembre de 2018 14:30
    viernes, 31 de agosto de 2018 5:49
  • buenas noches gracias por responder ... ahora me sale error "error en sintaxis clausula from" luego agrege corchetes por que el nombre del archivo dbf "VENTA DE PRODUCTOS-GASBOY" y me sale el mismo error de la primera imagen que mande ayer por favor tu ayuda gracias.

    en estos dias lo intente de varias maneras pero me salen el mismo error.

    si tienes tiempo podrias conectarte por teamviweer para que me puedas ayudar .



    • Editado markho35 sábado, 1 de septiembre de 2018 2:47 k
    sábado, 1 de septiembre de 2018 2:45
  • Hola:
    Prueba a usar un fichero DBF con un maximo de 8 caracteres
    Un saludo desde Bilbo
    Carlos

    sábado, 1 de septiembre de 2018 10:38
  • buenas noches ... el mismo error

    domingo, 2 de septiembre de 2018 0:06