Newsgroup: it.comp.appl.access
Titolo: Icona access

Salve,
ho un problemino con l'icona da usare in access (A00,W98).
Premetto che l'icona ed il db staranno nella stessa directory.
Non potendo inserire direttamente un path inesistente in
Strumenti/Avvio.../Icona applicazione, perchè non lo conosco,
mi tocca inserirlo via codice (se erro ditemi) e, grazie a Roberto, ho
provato ad iserire il codice all'apertura del form principale
Private Sub Form_Open(Cancel As Integer)
    Dim PathFoto As String
    DoCmd.RunMacro "AutoKeys"
    PathFoto = Left(CurrentDb.Name, Len(CurrentDb.Name) -
Len(Dir(CurrentDb.Name))) & "icona.ico"
    CurrentDb.Properties("AppIcon").Value = PathFoto
    CurrentDb.Properties("UseAppIconForFrmRpt").Value = True
    CurrentDb.Properties.Refresh
End Sub
E' vero che cambia l'icona ma la prima volta che viene lanciato mi appare
l'icona veccia se era stata setteta in
Strumenti/Avvio.../Icona applicazione e , nel caso non sia stata settata
tale proprietà errore runtime "3270" - proprietà non trovata.
Le domande sono:
E' possibile cambiare o inserire la proprietà in altra maniera?
E' possibile lanciare del codice prima che si avvii il db e dove lo metto
questo codice?

 questo codice?
Penso che la cosa migliore sia modificare la proprietà da un altro database
che fa solo questo e che poi si chiude ed apre i tuo database.
Se il tuo database si chiama Pippo.mdb
Se l'icona si chiama icona.ico ed è inserita nella stessa cartella di
Pippo.mdb
Creati un database anche lui contenuto nella stessa cartelle di Pippo.mdb
In un modulo di tale database memorizza la seguente funzione pubblica:
Public Function ApriPippo()
   Dim PathFoto As String
   Dim Nomedb As String
    PathFoto = Left(CurrentDb.Name, Len(CurrentDb.Name) - _
    Len(Dir(CurrentDb.Name))) & "icona.ico"
    Nomedb = Left(CurrentDb.Name, Len(CurrentDb.Name) - _
    Len(Dir(CurrentDb.Name))) & "Pippo.mdb"
    Dim MioDb As DAO.Database, prp As DAO.Property
    On Error GoTo AggProp_Err
    Set MioDb = OpenDatabase(Nomedb)
    MioDb.Properties("AppIcon") = PathFoto
    Dim MiaVariabile As Variant
    MiaVariabile = Shell("MSACCESS.EXE " & Chr$(34) _
    & Nomedb & Chr$(34), vbMaximizedFocus)
    Application.Quit
Uscita:
    Exit Function
AggProp_Err:
    If Err = 3270 Then
        Set prp = MioDb.CreateProperty("AppIcon", _
        dbText, PathFoto)
        MioDb.Properties.Append prp
        Resume
    Else
        Resume Uscita
    End If
End Function
In questo database inserisci infine una macro chiamata Autoexec che contiene
solo un azione: l'esecuzione della funzione ApriPippo().
Nella funzione di cui sopra si fa riferimento alla libreria Microsoft DAO
quindi, se usi una versione di Access successiva ad Access 97 devi
aggiungere al tuo database i riferimenti a tale libreria.
A questo punto invece di lanciare il database Pippo.mdb apri il database di
cui sopra: esso prima imposterà la proprietà AppIcon del database Pippo.mdb
e poi lo aprirà, infine verrà chiuso il databse iniziale e resterà aperto
solo il database Pippo.mdb con la sua icona in ordine.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 che fa solo questo e che poi si chiude ed apre i tuo database.
però sta più tempo.
apri il primo db, setta l'icona, apri il secondo db, chiudi te stesso.
Se fosse possibile inserire codice all'avvio di access ma proma del db,
credo, che sarebbe molto più rapido.
Grazie ancora.
Ciao TT

 ha scritto nel messaggio
news:nRU7c.84249$Kc3.2...@twister2.libero.it...

Starebbe più tempo che non ad eseguire il solo codice. Comunque il problema
non esiste più visto che non si può fare.
Ciao
TT