none
ABRIR CAMPO DATOS ADJUNTOS EN BASE DE DATOS ACCDB DESDE GRILLA EN VB NET. VER CONTENIDO FICHERO RRS feed

  • Pregunta

  • Hola

    Estoy programando en VB net 2008 con base de datos .accdb. Me gustaria poder trabajar con el campo DATOS ADJUNTOS de access 2007 desde VB net. Es decir me gustaria poder ver, grabar y borrar los ficheros dsde una grilla en VB Net haciendo click en el campo grilla del fichero o en un textbox.

    Cuando enlazo el campo (tipo de datos) DATOS ADJUNTOS en la Grilla de VB net solo me muestra el campo en texto y no congio abrir el fichero/s pdf que hay almacenados.

    Alquien me puede echar una mano?

    Gracias

    Javier


    • Cambiado Enrique M. Montejo miércoles, 4 de noviembre de 2015 16:05 Pregunta relacionada con el acceso a datos con MS Access.
    viernes, 30 de agosto de 2013 8:47

Todas las respuestas

  • Hola

    Al final he conseguido que funcione, este es el código por si alguien lo quiere en VB net 2008

        Dim cnn1 As New OleDb.OleDbConnection

                Dim dt1 As New DataTable
                Dim da1 As New OleDb.OleDbDataAdapter
                Dim cmd1 As New OleDb.OleDbCommand
                'Tiene que ser una consulta
                cnn1.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\db.accdb;Jet OLEDB:Database Password=XXX"
                cnn1.Open()
                cmd1.Connection = cnn1
                cmd1.CommandText = "Select Tb_Archivos.id, Tb_Archivos.FicheroAdjunto.FileName, Tb_Archivos.FicheroAdjunto.FileType, Tb_Archivos.FicheroAdjunto.FileData from Consulta1 where id = 1"
                cmd1.CommandType = CommandType.TableDirect
                da1.SelectCommand = cmd1
                da1.Fill(dt1)
                For Each row As DataRow In dt1.Rows
                    Try
                        Dim bytes() As Byte
                        bytes = row("Tb_Archivos.FicheroAdjunto.FileData")
                        Dim Rutatemporal As String
                        Rutatemporal = "C:\Prueba.pdf"
                        System.IO.File.WriteAllBytes(Rutatemporal, bytes)
                    Catch ex As Exception
                        MsgBox(ex.Message.ToString)
                    End Try
                Next

    • Propuesto como respuesta Sergio Parra miércoles, 4 de septiembre de 2013 8:49
    • Marcado como respuesta Enrique M. Montejo domingo, 15 de septiembre de 2013 13:48
    • Desmarcado como respuesta Enrique M. Montejo miércoles, 4 de noviembre de 2015 16:04
    miércoles, 4 de septiembre de 2013 7:47
  • Por favor, marca tu pregunta como respondida entonces. gracias

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    miércoles, 4 de septiembre de 2013 8:50
  • Disculpa pero si no me equivoco esta consulta es para mostrar los datos de la tabla

    ¿Cual seria la consulta para insertar datos desde visual basic a la base de datos?

    Gracias

    martes, 3 de marzo de 2015 22:11