General

6.226 Metodi SendObject con file di tipo Snapshot
  Giorgio Rancati

Con Access 97 ed Access 2000 la sintassi da usare del metodo SendObject per esportare un oggetto con un file di tipo Snapshot poteva essere:
DoCmd.SendObject acSendReport, "NomeReport", acFormatSNP, , , , ecc ecc

Però in Access2002 la costante acFormatSNP non mi ha mai funzionato con nessun sistema operativo.
Funziona invece se al posto della costante figurativa acFormatSNP uso la stringa "Snapshot Format", ovvero:
DoCmd.SendObject acSendReport, "NomeReport", "Snapshot Format", , , , ecc ecc

Così, oltre che con Access 2002, funziona anche con Access 97, Access 2000 ed Access 2003.
Ad onor del vero modificando il valore del registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Access\Report Formats\Snapshot Format
da:
snp,,1,Formato snapshot (*.snp),0
a:
snp,,1,Snapshot Format (*.snp),0
dovrebbe funzionare tutto anche con la costante figurativa acFormatSNP. Però quando si distribuisce un'applicazione fatta con Access è scomodo toccare il registro di configurazione del cliente, quindi è preferibile usare a stringa "Snapshot Format".
Ad ogni buon conto è bene che coloro che usano Access 97 leggano anche quanto scritto in questo link:
http://support.microsoft.com/kb/307184/en-us
ACC97: How to Use Visual Basic for Applications to Export a Report in Snapshot Format

NB
Quanto scritto in questa FAQ per il metodo SendObject vale anche per il metodo OutputTo.


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.