Newsgroup: it.comp.appl.access
Titolo: Immagine in DB

Salve,
utilizzando Access97 ho la necessità di inserire una immagine in un campo di
una tabella.
Ho creato il campo "Immagine" di tipo "Oggetto OLE".
Nella maschera di inserimento l'ho inserita come oggetto associato.
I problemi sono tre:
    1. Per inserire un'immagine devo cliccare col destro e fare "aggiungi
oggetto", mi si apre una finestra dalla quale devo scegliere "crea da file",
seleziono il file e inserisco l'immagine. Siccome questo prodotto è
destinato ad un utente medio che non è tenuto a sapere cos'è un oggetto o
che deve "creare da file" ecc... come posso aggirare l'ostacolo e fare in
modo che per esempio mi si apra (magari attraverso un bottone) la finestra
che chiede il file immagine da inserire?
    2. Nonostante la casella "visualizza icona" NON sia abilitata nella
maschera anzichè vedere l'immagine continuo a vedere l'icona ad esempio
delle immagini .jpg. Come faccio a fare in modo di vedere scorrendo i record
della tabella direttamente le immagini??
    3. Eventualmente è possibile creare una applicazione standalone da un db
Access? Come?
Grazie 1000.
--
Denis.
-------------------------------------------------------
Ehi dol! Bel dol! Suona un dong dillo!
Suona un dong! Salta ancor! Salice bal dillo!
Tom Bom, bel Tom, Tom Bombadillo!
http://www.vivalamucca.supereva.it/

Grazie 1000.
Visto che conosci l'unico che non può essere soggiogato dall'unico
anello, ti consiglio di dare un occhiata su 
sitocomune.com
 per
cominciare
Saluti.
Emanuele.

 ha scritto nel messaggio
news:RO_u8.47280$m41.1...@twister2.libero.it...

Per facilitare la tua ricerca nel Sito Comune (link qui sotto), vai nella
Sezione General e dai uno sguardo alle seguenti FAQ:
1) "Come implementare correttamente un archivio di immagini." di Stefano
Bettini
2) "Implementare un archivio di immagini." di Silvio Savoldi
3) "Archiviazione immagini" di Franco Cappellaro
Nella prima FAQ troverai un po' di teoria, nelle altre due troverai due
esempi di gestione di un archivio immagini.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Penso che potrebbe esserti utile dara uno sguardo al thread aperto da Nicola
il 3/4/2002 alle ore 23:15e ed intitolato "collegare immagini di una
directory ai nomi inseriti in tabella".


 ha scritto nel messaggio
news:RO_u8.47280$m41.1...@twister2.libero.it...


 ho risolto parzialmente il problema.
MOLTO parzialmente.
Infatti ancora non hai capito che si scrive DOPO il quoting!!!
Antonio

standard ma non c'č il tasto di "navigazione"...
codice per aprire finestra selezione file
Option Compare Database
Option Explicit
Private Declare Function GetOpenFileName Lib "comdlg32.dll" _
            Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME)
As Long
Private Type OPENFILENAME
   lStructSize As Long
   hwndOwner As Long
   hInstance As Long
   lpstrFilter As String
   lpstrCustomFilter As String
   nMaxCustFilter As Long
   nFilterIndex As Long
   lpstrFile As String
   nMaxFile As Long
   lpstrFileTitle As String
   nMaxFileTitle As Long
   lpstrInitialDir As String
   lpstrTitle As String
   flags As Long
   nFileOffset As Integer
   nFileExtension As Integer
   lpstrDefExt As String
   lCustData As Long
   lpfnHook As Long
   lpTemplateName As String
End Type
Public Function cmdlg_file()
   Dim OpenFile As OPENFILENAME
   Dim lReturn As Long
   Dim sFilter As String
 
   OpenFile.lStructSize = Len(OpenFile)
   sFilter = "Immagini (*.wmf,*.bmp,*.jpg,*.tif)" & Chr(0) &
"*.wmf;*.bmp;*.jpg;*.tif" & Chr(0)
   OpenFile.hwndOwner = Application.hWndAccessApp
   OpenFile.lpstrFilter = sFilter
   OpenFile.nFilterIndex = 1
   OpenFile.lpstrFile = String(257, 0)
   OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
   OpenFile.lpstrFileTitle = OpenFile.lpstrFile
   OpenFile.nMaxFileTitle = OpenFile.nMaxFile
   OpenFile.lpstrInitialDir = "C:\"
   OpenFile.lpstrTitle = "Selezione"
   OpenFile.flags = 0
   lReturn = GetOpenFileName(OpenFile)
 
   If lReturn = 0 Then
      cmdlg_file = ""
 
   Else
      cmdlg_file = Left(OpenFile.lpstrFile, InStr(OpenFile.lpstrFile,
Chr$(0)) - 1)
      Forms![tbl_Marca]![tbl_DESCRIZIONE Sottomaschera]!Immagine =
cmdlg_file
   End If
End Function
Saluti.
Emanuele.


Come vedi, dialogando sul NG invece che in privato, la chiacchierata si è
arricchita di altri partecipanti e di altre soluzioni.
Comunque penso che tu non abbia prestato una giusta attenzione alla seconda
e terza FAQ che ti ho suggerito di vedere sul Sito Comune: ambedue
contengono un esempio che dà soluzione a ciò che chiedi.
Se però non vuoi combattere con le API e con del codice VBA voluminoso, come
suggerii già a Nicola, se tutti i file immagine sono di tipo JPEG (.jpg),
allocali tutti in una cartella (ad esempio la cartella Pippo del disco
rigido C:), così avranno tutti lo stesso indirizzo: così potrai digitare (a
manina santa) solo il nome del file, senza neppure la sua estensione e
potrai scrivere:
Me!ControlloImmagine.Picture = "C:\Pippo\" & Me!NomeFile & ".jpg"
