Access

Lo siento, pero no te vas a librar de mí ;)
Estoy haciendo una base de fotos. Tengo 2007. Hace años adquirí DBPix para no engordar mi base, pero craso error, ya que cierto día, decidí grabar las fotos y la base en un DVD, y cual fue mi sorpresa, que todos los enlaces aparecían rotos, así que el campo Fotos estaba vacío.
Podría, en el A2007, crear campo para foto como archivos adjuntos, pero el problema es que sólo llega hasta 2GB, y al intentar vincular un *.jpg, me decía que "nanai de la china".
Lo que quiero es que se vea un thumbnail de la foto escogida, y con una ruta relativa (¿se dice así?), en la red, no encuentro ejemplos para lo que busco. Mi intención es añadir registros desde mi ordenador, y desde que termine, grabarlo todo en un DVD y/o disco externo.
Gracias

1 Respuesta

Respuesta
1
Cuando he visto que eras tú quien preguntaba mi ordenador ha empezado a sacar humo. Suerte que tenía un extintor al lado! :P
Vamos a ver cómo arreglamos tu problemilla...
Crea una carpeta en tu PC, donde quieras, y ponle el nombre que quieras. Ahí metes tu BD. En esa misma carpeta creas una carpeta y la llamas "Fotos" (para que cuadren los nombres con el ejemplo que te voy a poner. Es decir, para evitar confusiones, que si tu carpeta se llama BDFotos y la has creado en c:, tendrías que:
c:\BDFotos\  te dejaría ver un archivo, tuBD. Accdb, y la carpeta Fotos.
Es muy importante que esa carpeta acompañe a la BD, ¿ok?
¿Cómo lo haría yo? Te doy la idea básica con los campos mínimos. Después tú puedes añadir lo que quieras.
1.- Crea una tabla con un campo string al que llamaremos nombre. En este campo tú pondrás el nombre de tu foto con la extensión ("pojemplo", chicaguapa.jpg) ;)
2.- Creas un formulario basado en esa tabla. En ese formulario insertas un cuadro de imagen. Cancelas el asistente.
3.- A ese cuadro de imagen le llamamos picFoto (por si acaso, propiedades->Pestaña Otras->Nombre)
4.- Sacas las propiedades del campo "nombre" y en el evento "después de actualizar" le pones este código"
---
Private Sub Nombre_AfterUpdate()
    Dim vNom As Variant
    Dim rutaPic As String
    vNom = Me.Nombre.Value
    If IsNull(vNom) Then Exit Sub
    rutaPic = Application.CurrentProject.Path & "\Fotos\" & vNom
    Me.picFoto.Picture = rutaPic
    Me.Refresh
End Sub
---
Con esto asignas directamente la ruta a picFoto
5.- Ahora hay que arreglar el tema de si vas pasando registros se te actualice la información de la foto. Para ello sacas las propiedades del formulario y en el evento "Al activar registro le pones este código:
---
Private Sub Form_Current()
    Me.picFoto.Picture = ""
    Dim vNom As Variant
    Dim rutaPic As String
    vNom = Me.Nombre.Value
    If IsNull(vNom) Then Exit Sub
    rutaPic = Application.CurrentProject.Path & "\Fotos\" & vNom
    Me.picFoto.Picture = rutaPic
    Me.Refresh
End Sub
---
Y eso es todo. Si me apuras, y no quieres escribir el nombre de la foto con la extensión, suponiendo que todas las extensiones van a ser iguales (por ejemplo, jpg), cambias la línea de código:
rutaPic = Application.CurrentProject.Path & "\Fotos\" & vNom
Por esta otra
rutaPic = Application.CurrentProject.Path & "\Fotos\" & vNom & ".jpg"
Así, en el nombre de la foto bastará que pongas "chicaguapa".
Si te va bien piensa que esto ha sido un trabajo para "súper-ratón"!   ;)
Suerte!
JAJAJAJA! pobrecito (el ordenador, no tú... ;)
Lo miro con más tranquilidad el próximo finde, y te digo, porque ya me toca retirarme del ordenata, y como estoy todo el día delante de él en el ordenador... por cierto, pásame tu minuta ;)
Te prometo que te contesto ;)
OK. Espero noticias tuyas.
Y lo de la minuta... mejor en privado... uhmmmm. Todavía no sé cuántos ceros añadirle, después de todo lo que me has "hecho sufrir" ;P
¿Y qué es esto de pobrecito el ordenador, no tú? La parte más importante de esta historia deberías saber que es el cerebro, no la CPU ;)
En fin... incorregible
Que tengas una feliz semana.
De acuerdo, he seguido tus instrucciones, pero... ¿cómo lo ejecuto ahora? Es decir, ¿un load/borrar imagen?
El código se ejecuta cuando hayas introducido un nombre de imagen. Tienes que colocar una imagen en la carpeta fotos y te vas a la BD y la das de alta.
En cuanto hayas acabado de escribir el nombre debería aparecerte el thumbnail.
Je, je...
Uf, eso es bastante engorroso, sobre todo porque tendría que dar de alta a más de 30000 fotos ;)
Yo uso DBPix, pero con 2007 pensaba que era mejor y más fácil sin necesidad de instalar un complemento.
La señora de las fotos!
Si tuvieras algún sistema para exportar los nombres de las fotos podría estudiarse el meterlos en la BD mediante importación.
Si existe otro sistema lo desconozco.
Por cierto, tantas fotos y ninguna mía... Hay que ver! :P

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas