MasterDrive.it   
Vai indietro   MasterDrive.it > Software Development > MS Office, Access, VBA



Rispondi
 
Strumenti della discussione Modalità di visualizzazione
Vecchio 10-03-2005, 10:48   #1 (permalink)
Nuovo della community

 
16 Messaggi

Davide70 novizio della comunita' ( + 10 )
Forse la domanda potrà sembrarvi un po' idiota ma da neofita quale sono non capisco il perché.

Primo. Ho un database su access (97) con tre tabelle e tre maschere (è solo una versione iniziale costruita per studio). Il file del database ha una dimensione più o meno 315kb.

Secondo. Ho collegato ad un record di una tabella un collegamento ad una foto che poi dovrei richiamare all'interno di una maschera. La foto ha una dimensione di 75kb circa.

A parte le difficoltà di gestione dell'immagine su cui avrei pure qualche domanda ma che per ora rimando ad altro momento, com'è che il file di database mi diventa colpo da 4,3Mb?

Considerando che a database completamente impsotato dovrei collegare qualcosa come 700 foto al database mi preoccupa un po' la faccenda.

A scanso di equivoci... ho "collegato" e non "inserito" la foto, in quel caso la dimensione aumenta ancora.

C'è un modo per evitare questa "esplosione" di bite?

Altra cosa, se entro nella tabella e tolgo il collegamento, lo cancello, perché la dimensione del database non ritorna al valore precedente ma resta sui quei quattro mega circa?

Potete aiutarmi? Ve ne sarei grato.
Ciao ciao
D.
[img]smileys/smiley1.gif[/img]

Davide70 non è in linea   Bookmark and Share Rispondi quotando
Vecchio 10-03-2005, 12:39   #2 (permalink)
Utente della community


 
213 Messaggi

LucaValcavi novizio della comunita' ( + 10 )
Ciao Davide70,

prova a comprimere il DB:
da Access: Menu Strumenti - Utilità DB - Compatta e Ripristina DB

E' comunque *molto* strano che aggiungendo semplicemente una stringa che contiene il percorso del file il DB diventi così grosso. Ma quante operazioni di scrittura vengono fatte di questa stringa? Qual'è il tipo di campo (memo, testo, etc.) che memorizza il percorso?

Ciao!
Luca
LucaValcavi non è in linea   Bookmark and Share Rispondi quotando
Vecchio 10-03-2005, 14:15   #3 (permalink)
Nuovo della community

 
16 Messaggi

Davide70 novizio della comunita' ( + 10 )
Vediamo... il tipo di campo è "Oggetto OLE. Poi dalla Tabella dalla tabella uso "inserisci oggetto" e selezionando "crea da file" e spuntando "collegamento" cerco l'oggetto (cioè la foto) da inserire.
La visualizzazione della foto avviene su una maschera indipendente che si collega al dato specifico.
(S'è capito tutto?)
Ciao ciao
Grazie
Davide

PS: Porta pazienza, i neofiti rompono sempre per le cose più strane.
[img]smileys/smiley1.gif[/img]
Davide70 non è in linea   Bookmark and Share Rispondi quotando
Vecchio 10-03-2005, 19:04   #4 (permalink)
Utente della community


 
213 Messaggi

LucaValcavi novizio della comunita' ( + 10 )
... allora il problema credo che sia proprio lì: nel campo 'Oggetto OLE'.

Se usi un campo dimensionato a 'Oggetto OLE' probabilmente ti carica sempre l'immagine nel DB: ecco il perchè dell'aumento esorbitante della dimensione del file di Access.

Allora secondo me ti conviene memorizzare il percorso in un campo o Text (adeguatamente dimensionato) o Memo.

Vedrai allora che tutto torna in situazioni normali.

Ciao!
Luca


PS: Comprimi frequentemente il DB!
LucaValcavi non è in linea   Bookmark and Share Rispondi quotando
Vecchio 17-03-2005, 01:17   #5 (permalink)
Nuovo della community

 
36 Messaggi

joaopauloleo novizio della comunita' ( + 10 )
Il problema sta nel fatto che usi "oggetto ole".
Così facendo access memorizza le foto come bitmap e non in un formato compresso.
joaopauloleo non è in linea   Bookmark and Share Rispondi quotando
Vecchio 17-03-2005, 09:55   #6 (permalink)
Utente della community

 L'avatar di Antonello

 
342 Messaggi

Antonello con una reputazione sempre in crescita ( + 150 )Antonello con una reputazione sempre in crescita ( + 150 )
io ho scritto il seguente frammento di codice

Const LocalPath = "c:\foto\" 'Per accedere ad un percorso locale al mio pc
Dim Foto, LocalPath, LocalAbsPath As String
Dim Ret As Double

If ([Form_DATI TECNICI GENERALI].[Foto_scheda].Value <> "") Then
Foto = [Form_DATI TECNICI GENERALI]. [Foto_scheda].Value

LocalAbsPath = LocalPath & Foto
Ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & (LocalAbsPath))
Else
MsgBox "Non esiste la scheda tecnica di sintesi", vbOKOnly + vbExclamation, "Avviso"
End If

nella tabella ho memorizzato solo il nome del file mentre nella costante LocalPath memorizzo il percorso in modo che se cambio la posizione delle foto modifico solo questa riga.

Antonello non è in linea   Bookmark and Share Rispondi quotando
Vecchio 25-03-2005, 17:46   #7 (permalink)
Nuovo della community

 
16 Messaggi

Davide70 novizio della comunita' ( + 10 )
Bellismo! Perfetto!
Utilizzando il frammento di codice oppurtunamente modificato ho ottenuto quello che volevo.
Grazie infinite.

ehm... domanda numero 2.
[img]smileys/smiley9.gif[/img]

Ho impostato un report di stampa che dovrebbe avere all'interno la foto collegata col codice.
Cosa devo impostare perchè mi esca la stampa?
Ciao ciao
Davide

PS: Ricordate... la pazienza è la virtù dei forti... e salvaguardia la pelle di quelli che non conoscono access!
[img]smileys/smiley17.gif[/img]
Davide70 non è in linea   Bookmark and Share Rispondi quotando
Vecchio 28-03-2005, 11:25   #8 (permalink)
Nuovo della community

 
6 Messaggi

lelo novizio della comunita' ( + 10 )
Ciao Davide.
Nel report inserisci la seguente stringa (funzione corpo su stampa)

Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)


Me.Immagine0.Picture = "C:\Documents and Settings\utente\Documenti\Immagini\TABELLINA.GIF"

End Sub

Dove ovviamente 'Immagine0' è la tua immagine COLLEGATA e non incorporata.

Ciao
__________________
Daniele
lelo non è in linea   Bookmark and Share Rispondi quotando
Vecchio 29-03-2005, 13:47   #9 (permalink)
Nuovo della community

 
16 Messaggi

Davide70 novizio della comunita' ( + 10 )

Chiedo venia, la mia ignoranza in materia di "codice" è piuttosto ampia, purtroppo (non è che sapreste darmi qualche indirizzo su internet dove trovare una guida?).

Non sono riuscito ad applicare la stringa di cui sopra e quindi cerco di spiegarmi meglio:

Semplificando questa è la situazione:

Struttura tabella:

Campo 1 - ID - Contatore
Campo 2- Nome dell'oggetto - Testo
Campo 3- Nome della foto 1 - Testo
Campo 4- Nome della foto 2 - Testo

Record inseriti:

1, Pippo, Pippo1.jpg, Pippo2.jpg
2, Pluto, Pluto1.jpg, Pluto2.jpg

... e così via...

Le foto si trovano su "c:\documenti\immagini"

Nella scheda riesco a richiamare l'immagine con la procedura sopradescritta che apre photo editor per visualizzare l'immagine.

Nel report di stampa, oltre agli altri dati, ho impostato due "cornici di oggetto" a cui associare le foto 1 e 2 della tabella.

Come faccio ad associarli?

Riuscirò ad associarli? Questo è il problema!!!
Grazie grazie
Davide
[img]smileys/smiley1.gif[/img]
Davide70 non è in linea   Bookmark and Share Rispondi quotando
Rispondi

Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilies sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are disattivato

Salto del forum

Discussioni simili
Discussione Ha iniziato questa discussione Forum Risposte Ultimo messaggio
Collegamento foto in Access ErPiotta MS Office, Access, VBA 7 26-05-2008 20:27
miniature foto in access faby70 MS Office, Access, VBA 1 25-03-2005 23:58
ACCESS – Collegamento ipertestuale bornslippy MS Office, Access, VBA 3 02-09-2004 10:27


Tutti gli orari sono GMT +1. Attualmente sono le 12:54.


Powered by vBulletin versione 3.8.0
Copyright © 2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0

Valid XHTML 1.0 Transitional  Creative Commons License

Eccetto dove diversamente specificato, i contenuti pubblicati in questa comunità sono rilasciati sotto Licenza
Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia License.
La comunita' di MasterDrive.it non e' responsabile di eventuali imprecisioni presenti nelle pagine.