Newsgroup: it.comp.appl.access
Titolo: Access XP docmd.save fallisce con riferimenti ad altri mdb

Problema:
sviluppato un applicativo in access xp diviso in più mdb.
Uno ha forms altro ha gran parte del codice...
Il primo ha un riferimento al secondo come libreria.
L'ambiente di sviluppo è una cartella c:\appl_dev
il riferimento in fase di sviluppo è quindi al database in questa
cartella e tutto và.
Quando rilascio l'applicativo con il setup pongo la libreria nella
cartella di sistema infatti  i aspetto che il database cerchi le
librerie nella directory di sviluppo se esiste, poi nella cartella
corrente poi in quella di sistema.
Tutto ok infatti rinominando la cartella di sviluppo il riferimento
viene risolto con il db nella cartella di sistema.
Beh iniziano i guai quando,con l'utente che ha i permessi di modifica
di struttura su una certa maschera contenuta nel database delle form,
la apro la modifico e la salvo.
Mi dà fallito metodo docmd.save.
L'errore sparisce se rinomino la cartella di sviluppo ridandole il
nome originale e cancello i database nella cartella di sistema;
l'errore poi sparisce comletamente se fin dall'inizio il riferimento
al database è settato alla cartella di sistema.
Non capisco...
cosa non funziona?.. perchè la posizione del secondo database modifica
il comportamento dell'applicativo nonostante sia correttamente
risolto?
Per inciso.. lo stesso applicativo era sviluppato in access97 con lo
stesso principio e non ha mai dato errore...



Nessuno ha avuto lo stesso problema?
Come posso contattare direttamente la microsoft italia per questo?

 Come posso contattare direttamente la microsoft italia per questo?
Utilizzo solo 97; la microsoft ha un sito e anche un TechNet dove fornisce
supporto agli sviluppatori...
Ciao.
--
Sergio MAZZA



Grazie ma non ho avuto nessun aiuto consultando technet...
altri suggerimenti?


Invia il codice incriminato è vediamo se è possibile aggirare l'ostacolo del
DoCmd.Save...
Ciao.
--
Sergio MAZZA



lavoro per una software house, è vietatissimo faare girare del codice.
Comunque è una semplice docmd.save dopo aver aperto una form in edit.
Sono alla frutta.. l'errore restituito è 35021 ho cercato l'errore in
vba ma fa parte di quelli defined by application... il mio applicativo
non genera ne gestisce errori di quest tipo suppongo sia qualcosa di
non documentato o che mi sfugge in vba.
scusa.

 scusa.
E di che ti devi scusare? Della loro ottusaggine? Ma lasciamo perdere che è
meglio...
Ciao.
--
Sergio MAZZA



Aperta in edit faccio le seguenti cose:
la apro hidden
cancello tutti i controlli
creo l'intestazione delle varie colonne secondo specifiche che prendo
da una tabella nel db
creo i controlli che mi mostreranno i dati in stile maschera continua
chiudo la maschera e la salvo 
il bello è che tutto funziona se mantengo la directory di lavoro..
è nel deploy che tutto si incarta.
Pensa che , usando lo stesso db .. se faccio legare le librerie in
winnt\system32 o windows\system tutto si intoppa se invece trova i db
dei riferimenti nella dir originaria di sviluppo tutto va..
è una questione barbina sicuramente una cretinata.. magari una
proprietà delle form o dei db in access xp che non ho ancora
individuato...
penso questo perchè ad esempio..(usiamo sourcesafe) subito ricreavo il
progetto da un progetto di sourcesafe ( archiviato in formato xp) e
non sapendo che il formato di default di access xp è access 2000 avevo
un errore . Cambiato il formato di default tutto si è sistemato per
quella questione. (Voleva creare un database formato access 2000
partendo da quello archiviato in formato xp)
va beh .. continuerò ad indagare.
ciao
Caspita pensavo che il passaggio fosse indolore.

 Caspita pensavo che il passaggio fosse indolore.
Se iniziavi dalla versione 2.0 e passavi alla '97 (proseguendo per la 2000
in poi...) non ti saresti meravigliato...
Ciao.
--
Sergio MAZZA



sostituendo docmd.save con DoCmd.Close acForm, FormName, acSaveYes
sorpresa sorpresa nuovo errore:
"errore di automazione non specificato"
deve essere qualcosa di talmente scemo ma talmente scemo...
 lo stesso db se trova i collegamenti agli altri mdb a cui fa
riferimento nella cartella di sviluppo allora và...
ma sia codice di modulo che salva la forma che lan form stessa sono
nel db che non cambia nei due casi.
bah...


Non so' che dirti; io faccio (quasi) la stessa cosa per un report ma non mi
capita nulla del genere...
Ciao e buon lavoro.
--
Sergio MAZZA