CRASH TOTALE di vba e maschere

Anonimo
2016-05-06T09:27:22+00:00

Microsoft office 365

Microsoft access 2016 MSO (16.0.6729.1014) a 32 bit

Microsoft visual basic, applications edition 7.1 (versione 1049, VBA: retail 7.1.1049 forms3: 16.0.6729..101)

Salve, sto realizzando un db per la gestione di un piccolo albergo, ed ho maschere che richiamano codice vba.

Avevo maschere funzionanti, e tutto era regolare.

Tutto ad un tratto, all'apertura delle maschere ha iniziato a darmi un messaggio di errore:

Microsoft visual basic, application edition

Errore durante l'accesso al file. Potrebbe non essere più attiva la connessione di rete.

Lo fa con ogni maschera che contenga del codice vba, indipendentemente dall'evento che possa richiamare il codice.

L'unica cosa che fa è mandarmi nel vb della maschera, far partire il debug, e quando chiudo il vb, riparte d'accapo.

Mi da l'errore anche se provo a fare una qualunque modifica al codice.

Poi magari me la fa (es cancellare qualcosa, ma sempre passando dall'errore).

Se provo a stoppare il debug, per tornare nella maschera (visualizzazione struttura), continua a rimandarmi al codice, in debug.

Senza errori, senza segnalazioni in giallo, mi rimanda nel vb e basta.

Ho reinstallato il programma 2 volte.

Ad un certo punto, l'unico modo per uscire (non mi lascia fare niente al di fuori del vb) è terminando access dal task manager.

Erano iniziate ad accadere cose strane già da prima (pensavo fossero errori inconsapevoli di codice, anche se prima funzionava), ma è peggiorato drasticamente quando ho cancellato una maschera che non utilizzavo più(magari era richiamata da qualche pulsante, ma al massimo sarei finito in debug), e da quel momento non riesco più nemmeno a creare una maschera con quello stesso nome (senza darmi errori), o a rinominarne una esistente, se voglio dargli quello stesso nome.

Come se la maschera fantasma ci fosse ancora.

Ho ripristinato e compattato il db, ma niente.

Ho creato una copia del db, ed ho provato a lavorare su quella, quando apro una maschera(es. maschera first) con codice, mi dice che può aprirla solo se rinuncio al codice vb(che sarà cancellato), la apre.

Cancella il codice ma le routine evento sono rimaste marcate (su apertura e timer).

Scrivo in vb il codice relativo a apertura e timer, torno in visualizzazione e mi da l'errore:

L'espressione su apertura immessa come impostazione della  proprietà di evento ha generato l'errore seguente: errore di comunicazione con il server OLE o con il controllo ActiveX.

Questo errore si verifica in seguito a un problema di esecuzione di un evento, perché non è possibile individuare la posizione della logica per l'evento. Ad esempio se la proprietà Su apertura di una maschera è impostata su =[Campo], questo errore si verifica perché è previsto il nome di una macro o un evento da eseguire quando si verifica l'evento.

E l'unico codice che ho messo (per fare una prova) è il seguente:

Private Sub Form_Open(Cancel As Integer)

a = MsgBox("prova", vbOKOnly, "WARNING!")

End Sub

Ho chiamato il servizio clienti Microsoft e mi è stato detto che il vb for application è un programma terzo, che ho scaricato io, gratuito, e quindi non è previsto alcun supporto.

Che l'access si apre, e quindi funziona. Poi mi hanno detto di scrivere qui.

Credo che un programma, per poter dire che funziona, debba fare un po' più che "aprirsi", anche il notepad si apre, ma non fa quello che fa access.

Comunque:

  1. Io non ho scaricato e installato niente, oltre al pacchetto office comprato.
  2. Il vb for app è parte integrante dell'access (senza il quale l'access è completamente inutile).
  3. L'integrazione fra access e vba non è compito mio.

Un po' come dire: Hai comprato un'auto, ma il motore non lo produciamo noi, quindi è come se lo avessi installato tu sulla tua auto, e quindi non hai la garanzia se si rompe, o se i bulloni che lo tengono si spostano. In pratica ho comprato un'auto truccata da terzi, senza saperlo.

Inutile dire che ho un mese di lavoro in quel motore, e se devo riscrivere tutto e ripartire da zero... e in ogni caso chi mi garantisce che anche se lo rifaccio completamente da zero, poi non mi succeda di nuovo?

Ringrazio chiunque abbia la pazienza di leggere questo post. Ringrazio anche chi abbia voglia di darmi qualche consiglio.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2016-05-06T09:39:47+00:00

ciao Stefano,

crea un DB vuoto, ed importa in esso  tutti gli oggetti, segnali  tipici  di corruzione.

Vedi se così il   tutto si  ripristina.

Per il resto, effettua  frequentemente copie  back up del db e splittalo in BE e FE. ( BE solo le tabelle , FE tutti gli altri oggetti, relinkando  le tabelle al BE):

Facci sapere.

Ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2016-05-06T12:17:16+00:00

    Grazie per il suggerimento.

    Ho importato tutto e sembra che sia tornato funzionante.

    Non ho al momento il tempo materiale per verificare che funzioni tutto, o se abbia perso righe di codice per la strada, ma lo farò nei prossimi giorni.

    Sono fiducioso :)

    Grazie mille.

    Dico la verità: mi ero un po' preoccupato dopo la risposta del call center. E parecchio arrabbiato.

    Si sono semplicemente limitati a dirmi che erano affari miei... :)

    Cordiali saluti.

    La risposta è stata utile?

    0 commenti Nessun commento