Duda sobre la utilización de form enlazado a una base de datos access mediante adodc en Visual Basic
Hola amigo un cordial saludo, mi problema es el siguiente: tengo un form enlazado a una base de datos en access mediante adodc tengo los campos nombres, dirección, etc... Como puedo hacer para que cuando de clic en el botón nuevo pueda ademas de agregar los datos personales también el usuario tenga la opción de agregar una foto, una imagen por cada registro que se agregue OJALA PUEDAS AYUDARME, UN SALUDO ATENTAMENTE JESÚS, agradecería un ejemplo para guiarme, lo he tratado de hacer con el picture box pero me sale el error, SALUDOS
Primero que nada disculpa la tardanza.. Debes agregar en el formulario los siguientes controles: 1) DriveListBox 2) DirListBox 3) FileListBox 4) PictureBox 5) CommandButton Luego copia estos códigos: Dim BD As Database Dim rContactos As Recordset Private Sub Form_Load() File1.Pattern = "*.jpg" ' para que busque solo archivos jpg Set BD = OpenDatabase(App.Path & "\Bd2.mdb") Set rContactos = BD.OpenRecordset("foto") End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub File1_Click() Picture1.Picture = LoadPicture(Dir1.Path + "\" + File1.FileName) End Sub todo lo anterior es para cargar la imagen en el picturebox. ahora estamos listos para almacenar en la bd, copia lo siguiente: en el CommandButton, copia: Private Sub Command1_Click() rContactos.AddNew rContactos!ID = Text1 GuardarBinary rContactos!FOTO, Picture1 rContactos.Update End Sub crea un modulo y copia: Option Explicit Dim DataFile As Integer Dim Chunk() As Byte Const conChunkSize As Integer = 16384 Public Sub GuardarBinary(campoBinary As Field, unPicture As PictureBox) 'Guardar el contenido del Picture en el campo de la base Dim i As Integer Dim Fragment As Integer, Fl As Long, Chunks As Integer 'Guardar el contenido del picture en un fichero temporal SavePicture unPicture.Picture, "pictemp" 'Leer el fichero y guardarlo en el campo DataFile = FreeFile Open "pictemp" For Binary Access Read As DataFile Fl = LOF(DataFile) ' Longitud de los datos en el archivo If Fl = 0 Then Close DataFile: Exit Sub Chunks = Fl \ conChunkSize Fragment = Fl Mod conChunkSize ReDim Chunk(Fragment) Get DataFile,, Chunk() CampoBinary. AppendChunk Chunk() ReDim Chunk(conChunkSize) For i = 1 To Chunks Get DataFile,, Chunk() CampoBinary. AppendChunk Chunk() Next i Close DataFile 'Ya no necesitamos el fichero, así que borrarlo On Local Error Resume Next If Len(Dir$("pictemp")) Then Kill "pictemp" End If Err = 0 End Sub Nota: En la bd el campo foto debe ser de tipo: Objeto OLE Y listo con esto guardas la foto en la bd..