none
VB. NET i insertar archivos en Access 2013 tipo de datos "Datos adjuntos2 RRS feed

  • Pregunta

  • Buenos días a todos,

     Tengo una Base de datos de Access en la que quiero guardar archivos *.docx o *.pdf o *.xlsx en el formato de "Datos adjuntos" de Access, el problema es que no encuentro como hacerlo, podríais ayudarme por favor.

    También quisiera saber cómo poder abrirlos luego.

     Muchísimas gracias de antemano

    • Cambiado Joyce_AC viernes, 20 de enero de 2017 15:25
    viernes, 20 de enero de 2017 10:25

Respuestas

Todas las respuestas

  • Buen dia. te paso un ejemplo en MS SQL (en access es casi identico)

    Crea esta tabla en MSSQL:

    CREATE TABLE Files
    (
      Id INT IDENTITY,
      Name VARCHAR(50),
      ContentType VARCHAR(50),
      Data VARBINARY(MAX)
    )


    En VB.net


    Imports System.IO
    
    Private Sub SaveData()
    	Dim filePath As String = Server.MapPath("~\Images\Chrysanthemum.jpg")
    	Dim filename As String = Path.GetFileName(filePath)
    	Dim fs As New FileStream(filePath, FileMode.Open, FileAccess.Read)
    	Dim br As New BinaryReader(fs)
    	Dim bytes As Byte() = br.ReadBytes(DirectCast(fs.Length, Int32))
    	br.Close()
    	fs.Close()
    
    	Dim strConnString As [String] = System.Configuration.ConfigurationManager.ConnectionStrings("MyCon").ConnectionString
    	Dim con As New SqlConnection(strConnString)
    	con.Open()
    	Dim strQuery As String = "INSERT INTO Files(Name, ContentType, Data) VALUES (@Name, @ContentType, @Data)"
    	Dim cmd As New SqlCommand(strQuery, con)
    	cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename
    	cmd.Parameters.Add("@ContentType", SqlDbType.VarChar).Value = "Images/Chrysanthemum.jpg"
    	cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes
    	cmd.ExecuteNonQuery()
    	con.Close()
    End Sub

    Espero te sea util.

    Saludos desde Venezuela.

    www.soydesarrollador.net


    • Propuesto como respuesta Edward Ocando viernes, 20 de enero de 2017 22:47
    viernes, 20 de enero de 2017 15:15
  • Muchísimas gracias por la respuesta, lo pruebo y te digo que tal.


    lunes, 23 de enero de 2017 15:19
  • Muchas gracias por el código, pero no me funciono, el tipo de datos de la CMDB no son iguales i no consigo insertarlos

     

    Muchas gracias de todas formas

    miércoles, 25 de enero de 2017 10:40
  • Hola

    Mira a ver sí esto te sirve

    VB.net Storing an image into an Attachment field in an Access database

    Salu2,


    José Mª Fueyo

    • Editado José Mª Fueyo miércoles, 25 de enero de 2017 13:56
    • Marcado como respuesta OsCaR55 martes, 5 de noviembre de 2019 13:36
    miércoles, 25 de enero de 2017 13:56