• Martes 14 de Mayo de 2024, 08:43

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - iratxe

Páginas: [1]
1
Hola a todos:

Tras mucho intentarlo aun no he conseguido visualizar una foto de una base de datos access, la foto esta copo tipo ole y utilizo para la conexion a la base de datos DAO.

Me sale un error 481, La imagen no es valida, y me da eror en esta linea
Image1.Picture = LoadPicture(sBmp

Alguien sabe porque?

El codigo que tengo escrito es:
Private Sub Form_Load()
    Dim i As Integer
 
    ' conectamos a la BD y abrimos el recordset
    'Set db = OpenDatabase(App.Path & "\MisFotos.mdb")
    Set rs5 = DB.OpenRecordset("SELECT * FROM cd4")
    ' cargamos el combo con el campo "Nombre"
    Do Until rs5.EOF
        Combo1.AddItem rs5("Tema")
        rs5.MoveNext
    Loop
    Image1.Stretch = True
End Sub

Private Sub Combo1_Click()
    ' seleccionamos el campo "Foto" del nombre seleccionado
    Set rs5 = DB.OpenRecordset("SELECT Foto FROM cd4 WHERE Tema ='" & Combo1.Text & "'")
    CargaFoto
End Sub

Private Sub CargaFoto()
    Dim lLen As Long, sBmp As String
    Dim aByte() As Byte
    ' vamos a crear un archivo temporal en el directorio de la aplicación
    sBmp = "C:\temp.bmp"
    With rs5
        lLen = .Fields("Foto").FieldSize
        ReDim aByte(lLen) As Byte
        aByte = .Fields("Foto").GetChunk(0, lLen)
        Open sBmp For Binary As #1
        Put #1, , aByte
        Close #1
    End With
    Image1.Picture = LoadPicture(sBmp)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    ' eliminamos el archivo temporal
    Kill "C:\temp.bmp"
End Sub

Graciass

2
Visual Basic para principiantes / Visualizar Una Imagen De Una Base De Datos
« en: Sábado 21 de Julio de 2007, 15:15 »
hola a todos:

Estoy intentando hacer un programa que tras introducir un codigo busque en la base de datos ese codigo y me muestre la foto correspondiente a ese codigo (la foto es un objeto de tipo ole).
Jo la verdad es que no tengo ni idea de como hacerlo, si me ayudais os lo agradeceria mucho.

La imagen la estoy intentando visualizar en un picturebox y utilizo DAO
El codigo que he escrito es este:

 'abro de nuevo la tabla de la base de datos, para encontrar los autores
            Set rs5 = DB.OpenRecordset("SELECT Foto from " & nomTablaFinal & " where Codigo like  codigo ", dbOpenDynaset)
             ' Comprobar que hay datos en el recordset, en este caso solo hay 1
            With rs5
                If (.BOF And .EOF) Then
                        MsgBox "No se ha encontrado ninguna foto correspondiente a ese codigo"
                Else
                     'Mostrar los datos
                    .MoveFirst
                    Do While Not .EOF
                         Picture1.DataSource = rs5("Foto")
                    Loop
               End If
             End With

3
Visual Basic para principiantes / Re: No Me Encuentra La Tabla
« en: Domingo 15 de Julio de 2007, 15:48 »
vale muchas gracias, ahora ya me va, pero tengo una duda, si en la select pongo un where porque da error? me da error de sintaxis en la clausula from.

No esta bien escrito? muchisimas gracias por todo

Set rs2 = DB.OpenRecordset("SELECT distinct Subtema from " & nomTabla & "where Tema ='" & cmbTema.Text & "'", dbOpenDynaset)

4
Visual Basic para principiantes / No Me Encuentra La Tabla
« en: Sábado 14 de Julio de 2007, 20:10 »
Hola de nuevo:

Ahora tengo otro problemilla, si alguien me podria ayyudar de nuevo se lo agradeceria mucho.

El problema me da aqui:
et rs1 = DB.OpenRecordset("SElect distinct Tema from nomTabla ", dbOpenDynaset)

nomTabla lo he conseguido asi:
nomTabla = DB.TableDefs(cant_tablas).Name
ya que solo tengo que realizar operaciones en aquellas tablas dentro de la base de datos que empiecen por cd.

Os pongo el codigo que he escrito por si lo necesitais, muchisimas gracias por ayudarme.

For cant_tablas = 0 To DB.TableDefs.Count - 1
    nomTabla = DB.TableDefs(cant_tablas).Name
    nomCD = Mid(nomTabla, 1, 2) 'miramos si el nombre de la tabla empieza por cd
    If (nomCD <> "cd") Then
         cant_tablas = cant_tablas + 1
     Else
     
        'abrir una tabla
        Set rs1 = DB.OpenRecordset("SElect distinct Tema from nomTabla ", dbOpenDynaset)
         ' Comprobar que hay datos en el recordset
        With rs1
            If (.BOF And .EOF) Then
                MsgBox "No se han encontrado los datos buscados"
            Else
                'Añadir el resultado a un combo
                cmbTema.Clear
                rs1.MoveFirst
                Do Until rs1.EOF
                    cmbTema.AddItem rs1("Tema")
                    rs1.MoveNext
                Loop
            End If
            rs1.Close
        End With
    End If
    Next cant_tablas

5
vale, muchisimas gracias, ya me funciona
:)

6
Visual Basic para principiantes / Como Relaizar La Consulta A La Base De Datos
« en: Miércoles 4 de Julio de 2007, 13:07 »
hola a todos:

Estoy utilizando por primera vez una base de datos para realizar consultas desde visual basic. El programa consiste en conseguir de la base de datos los temas y escribirlos en un combo y una vez seleccionado un tema, que se vuelva a conectar a la base de datos y me saque los subtemas de ese tema.

Al poner esta linea no me encuentra nada en la base de datos:

Set rs1 = DB.OpenRecordset("SELECT distinct Subtema from fotos WHERE Tema like '%elementoSeleccionado%'", dbOpenDynaset)

y si quito la parte del where me salen todos los subtemas que hay en la base de datos(pero yo solo quiero los relacionados con el tema)

Alquien sabe porque no me encuentra nada? muchisimas gracias

Páginas: [1]