elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  No veo la IMAGEN
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No veo la IMAGEN  (Leído 1,363 veces)
El_guanaco

Desconectado Desconectado

Mensajes: 66


Ver Perfil
No veo la IMAGEN
« en: 10 Abril 2006, 06:35 am »

Hola  ;D
Sos principiante no lo olviden  :-[
El siguiente listado carga una base de access 2000 o una base de access 97 desde un combo.

Private Sub Form_Load()
    ' Todas estas conexiones y asignaciones se pueden hacer
    ' (y se suele hacer) en tiempo de diseño
    '
    ' Esta conexión se hará en el evento Combo1_Click
    '
    ' Asignar los valores al Combo:
    With Combo1
        .Clear
        .AddItem "Base de datos Access 2000 (alum.mdb)"
        .AddItem "Base de datos Access 97 (db97.mdb)"
        ' Por defecto será la base de Access 2000
        ' (esto producirá un evento en el Combo1, ver: Combo1_Click)
        .ListIndex = 0
    End With
   
    ' Conectar manualmente los Text1 al recordset
    ' (esto también se suele hacer en tiempo de diseño)
    Dim i As Long
    ' Asignar el control data
    For i = 0 To 2
        Set Text1(i).DataSource = Adodc1
    Next
    ' Asiganr los nombres de los campos
    Text1(0).DataField = "Nombre"
    Text1(1).DataField = "Apellidos"
    Text1(2).DataField = "fotografía"
       
End Sub

Mi problema es que tengo un campo llamado Fotografia (imagen en la base de datos), el listado anterior no funciona para mi campo fotografia, solo me muestra simbolos raros. Por lo que se ve el campo fotografia esta definido en una matriz tipo Long,
 
Como puedo hacer para que me muestre la imagen.???


En línea

Cicklow


Desconectado Desconectado

Mensajes: 604


-=Cicklow SOFT®=-


Ver Perfil WWW
Re: No veo la IMAGEN
« Respuesta #1 en: 10 Abril 2006, 17:16 pm »

ese campo lo tendras que kargar en un objeto imagen, kreo que es con loadimage(), o algo parecido, pero lo que podes hacer es mirar este codigo:
http://www.mvps.org/vexpert/articles/adoImages.htm

o esto:
http://www.google.com.ar/search?hl=es&rls=GGLG,GGLG:2006-10,GGLG:es&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=access+%2B+VB+%2B+imagen&spell=1

Saludos


En línea

www.cicklow.com . Solo Soy Un Ciego que Ve El Sonido Del Silencio
cesarYF

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: No veo la IMAGEN
« Respuesta #2 en: 11 Abril 2006, 16:04 pm »

este es un ejemplo que te ayudra creas una tabla con acess llamada bd1 con tres campos
Id_foto   tipo texto
nombre  tipo texto
foto        objeto ole

base de datos



formulario



agregar foto



nota no esta validado completamente pero muestra lo que tu pides o sea la foto ejecuta el programa les das add escojes la foto y le das guardar en el icono del diskette llenas las cajas de texto y listo
creas un modulo
'********
Option Explicit
Dim DataFile As Integer
Dim Chunk() As Byte
Const conChunkSize As Integer = 16384

Public Sub LeerBinary(campoBinary As Field, unPicture As PictureBox)
 Dim lngCompensación As Long
 Dim lngTamañoTotal As Long
   
    DataFile = FreeFile
    Open "pictemp" For Binary Access Write As DataFile
    lngTamañoTotal = campoBinary.ActualSize
    'MsgBox lngTamañoTotal
     
    Do While lngCompensación < lngTamañoTotal
        Chunk() = campoBinary.GetChunk(lngCompensación + conChunkSize)
        Put DataFile, , Chunk()
        lngCompensación = lngCompensación + conChunkSize
    Loop
    Close DataFile
    unPicture.Picture = LoadPicture("pictemp")
   
    On Local Error Resume Next
    If Len(Dir$("pictemp")) Then
        Kill "pictemp"
    End If
    Err = 0

End Sub
' *******************************************************
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
   
    '
    'NOTA:
    '   El recordset debe estar preparado para Editar o Añadir
    '
   
    '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
'*********
codigo formulario
'**************
Private Sub CmdAnterior_Click()
  DePrueba.rsCmFoto.MovePrevious
 If DePrueba.rsCmFoto.BOF Then
   DePrueba.rsCmFoto.MoveNext
 End If
 LeerBinary DePrueba.rsCmFoto!FOTO, Picture1
End Sub

Private Sub CmdPrimero_Click()
 DePrueba.rsCmFoto.MoveFirst
 LeerBinary DePrueba.rsCmFoto!FOTO, Picture1
End Sub

Private Sub CmdSiguiente_Click()
 DePrueba.rsCmFoto.MoveNext
 If DePrueba.rsCmFoto.EOF Then
   DePrueba.rsCmFoto.MoveLast
 End If
 LeerBinary DePrueba.rsCmFoto!FOTO, Picture1
End Sub

Private Sub CmdUltimo_Click()
  DePrueba.rsCmFoto.MoveLast
  LeerBinary DePrueba.rsCmFoto!FOTO, Picture1
End Sub

Private Sub Command1_Click() ' añadir nuevo
  DePrueba.rsCmFoto.AddNew
  Picture1.Picture = LoadPicture()
  CommonDialog1.ShowOpen
    If CommonDialog1.FileName <> "" Then
       Picture1.Picture = LoadPicture(CommonDialog1.FileName)
    End If
End Sub

Private Sub Command4_Click() ' actualizar
 If txtId_Foto <> "" And txtNombre <> "" Then
    GuardarBinary DePrueba.rsCmFoto!FOTO, Picture1
    DePrueba.rsCmFoto.Update
 Else
  MsgBox "LLene Los Campos"
 End If
End Sub

Private Sub Form_Load()
 If Not DePrueba.rsCmFoto.EOF Then
  LeerBinary DePrueba.rsCmFoto!FOTO, Picture1
 End If
End Sub
'**************

aqui en el ejemplo trabajo con dataenviroment
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines