Buenas tardes, hace como media hora escribi un tema para que me solucionaran... aqui va otro para que me ayuden
Deseo hacer un formulario donde el usuario llene los datos de un producto y solamente de click al PictureBox y carge la imagen. Yo busque en sus FAQ como hacer lo de las imagenes. Al correr su codigo fuente sirve perfectamente, pero al adaptarlo a mi programa aparece que la variable mystream no aparece declarada... aqui esta el codigo fuente que adapte de su programa al mio
Código:
Dim conn As New ADODB.Connection ' declaramos la conexion
Dim Rs As New ADODB.Recordset 'declaramos el recordset
Dim mystream As New ADODB.Stream ' declaramos el stream para leer las fotos
Dim Direc As String ' declaramos la variable donde guardaremos nuestra foto
Private Sub FotoDB_Click()
'Buscamos la imagen con el diálogo
Dialogo.Filter = "Archivos JPG|*.jpg|Archivos GIF|*.gif|Archivos BMP|*.bmp" ' le decimos al dialogo ---
' que filtre los arhivos jpg, gif, bmp
Dialogo.ShowOpen ' que abra el cuadro de dialogo
If Dialogo.FileName = "" Then ' si es ho eligio imagen que no se salga del proceso
MsgBox "Debe elegir una imagen para que poder agregar el registro", vbInformation, "Error"
Exit Sub
End If
Rs.AddNew
mystream.Open
mystream.LoadFromFile Dialogo.FileName
Rs("imagen") = mystream.Read
Rs.Update
mystream.Close ' Cerrar Stream
MsgBox "Se ha agregado la imagen satisfactoriamente", vbInformation, "Agregada"
If Rs.BOF = False Then
End If
End Sub
Private Sub Form_Load()
conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & App.Path & "\far.mdb" & ";Uid=Admin;Pwd=;" ' Declaramos el driver de access y la ubicacion de la base de datos
' la opion app.path nos da el direccionamiento del nuestro proyecto o programa y solo agregamos el nombre de base de datos en este caso "\dbfotos.mdb" le antepones una diagonal pra hacer la division de directorio o archivo
conn.CursorLocation = adUseClient
conn.Open 'abrimos la conexion
Rs.Open "Select * From producto", conn, adOpenStatic, adLockOptimistic ' abrimos el recordset
Direc = App.Path & "\temp.jpg" ' declaramos cual va a ser nuestro directorio temporal
mystream.Type = adTypeBinary ' le decimos que nuestra imagen es de tipo binario
If Rs.BOF = False Then
Previsualizar
End If
End Sub
End Sub
Private Sub Previsualizar()
On Local Error Resume Next ' por si surge alguno error que lo pase por alto
mystream.Open ' abrimos el stream
mystream.Write Rs!foto ' leemos la imagen
mystream.SaveToFile Direc, adSaveCreateOverWrite ' guardamos la imagen en unestro directorio temporal
mystream.Close ' cerramos el stream
far.Picture = LoadPicture(Direc) ' previsalizamos la imagen en nuestro picture control
End Sub
El metodo de conexion es el mismo, Environment bajo Jet 4.0. Ayudenme por favor!
Ah otra cosa... Como hago para captar la fecha y la hora (en etiquetas de texto separadas) sin necesidad de que el usuario clickee. O sea, que se genere automaticamente, no se necesita guardarla en la BD.
Gracias de antemanos, atentamente
Ma3s_Hugh3s