View Full Version : Errore Incomprensibile In VB6
visodont
02-03-2005, 10:09
Errore incomprensibile in VB6 + Data Base Access +Windows xP
Inserendo in agenda un appuntamento con il sorgente tutto Ok.
Se faccio la stessa cosa con il corrispondente *.exe compilato mi da questo errore:
_________________________________________
Impossibile salvare. Attualmente bloccato dall’ utente ADMIN sulla macchina “ZENO” Errore numero 3186
____________________________________
E’ un campo memo.
I campimemo hanno un limite di lunchezza ? mi pare di no !
Che posso fare ?
Grazie,
Visodont
Brigante
02-03-2005, 11:00
Un campo Memo, in MS Access, può contenere fino a 64.000 caratteri; se lanciando il programma da VB6 funziona deve funzionare anche con l'eseguibile compilato. Da dentro VB6 hai cliccato su "Avvia" o su "Avvia con compilazione completa"? Secondo me hai cliccato solo su "Avvia", clicca su quello con compilazione completa e vedi dove va in errore.
visodont
02-03-2005, 11:16
Ho provato anche a lanciare il sorgente con F5 ( Avvia con conpilazione completa ) e nion con la freccetta -> ma l' errore con il sorgente non me lo da nemmeno in questo modo !
Porca l' oca che fç ?
grazie
visodont
Secondo me è perchè il tuo exe stava cercando di aprire un database già aperto e quandi nn ti dava la possibilità di aprirlo ulteriormente per fare le modifiche...
Brigante
02-03-2005, 18:30
visodont, dovresti darci più informazioni, il database è condiviso da altri utenti? Ci accedi tramite ADO? ODBC? Comunque sia l'inserimento dei dati può essere fatto sia con Access in esecuzione o meno. Esegui il sorgente passo-passo, con il tasto F8, soprattutto quando fai la "INSERT" tramite SQL. Se funziona DEVE funzionare anche una volta compilato l'eseguibile!
Originariamente inviato da Brigante
Comunque sia l'inserimento dei dati può essere fatto sia con Access in esecuzione o meno
Quello si, ma nn quando stai modificando la struttura, cioì è aperta la tabella in modalità di modifica struttura :)
Brigante
02-03-2005, 20:29
Originariamente inviato da matpez
Quello si, ma nn quando stai modificando la struttura, cioì è aperta la tabella in modalità di modifica struttura :)
Si, certo, se sto facendo un inserimento di dati non devo avere la tabella aperta in modalità edit.
visodont
02-03-2005, 21:29
Ulteriori informazioni :
Il programma non lavora in rete ma solo su un PC.
Usa access ma non so in che modo ( DAO ? ??? )
L' exe principale apre tutti i data bases che rimangono aperti anche quando chiama altri exe per fare altre cose.
Quando mi serve, l' exe principale chiama l' exe agenda che riapre tutti i data bases per eventuali momorizazioni, ma quando si esce da agenda li richiude ed è quà che mi da quell' errore.
Preciso che fin ora tutto è andato bene e tutto funzionava, da quando ho aggiunto un campo memo, dopo il 25° appuntamento, se mando in esecuzione l' exe agenda mi da errore, se invece mando in esecuzioni il sorgente no ! anche scon F5.
Non posso seguire passo passo il sorgente perchè è li che non mi da errore e sull' exe invece si e allora ? boh ! mi sa che il problema è inrisolvibile, a meno che qualcuno di voi non sia attrezzato per i miracoli ?
Grazie ancora per le sollecite risposte.
visodont
Brigante
03-03-2005, 09:44
Originariamente inviato da visodont
Ulteriori informazioni :
Il programma non lavora in rete ma solo su un PC.
Usa access ma non so in che modo ( DAO ? ??? )
L' exe principale apre tutti i data bases che rimangono aperti anche quando chiama altri exe per fare altre cose.
Quando mi serve, l' exe principale chiama l' exe agenda che riapre tutti i data bases per eventuali momorizazioni, ma quando si esce da agenda li richiude ed è quà che mi da quell' errore.
Preciso che fin ora tutto è andato bene e tutto funzionava, da quando ho aggiunto un campo memo, dopo il 25° appuntamento, se mando in esecuzione l' exe agenda mi da errore, se invece mando in esecuzioni il sorgente no ! anche scon F5.
Non posso seguire passo passo il sorgente perchè è li che non mi da errore e sull' exe invece si e allora ? boh ! mi sa che il problema è inrisolvibile, a meno che qualcuno di voi non sia attrezzato per i miracoli ?
Grazie ancora per le sollecite risposte.
visodont
Non esiste che il problema è irrisolvibile, la soluzione c'è sempre, bisogna solo trovarla. Allora, mi sembra di capire che l'unica cosa che è cambiata dalla versione funzionante del programma a quella attuale (difettosa) è l'aggiunta di un campo di tipo "Memo" in una tabella del DB, giusto? La macchina "ZENO" è la macchina dove gira il programma, giusto? Hai provato a togliere il campo Memo e vedere se tutto torna alla normalità? Fai questa prova.
Quello che non riesco a capire è come mai il sorgente si comporta bene rispetto al suo eseguibile compilato, è impossibile, almeno che l'eseguibile non lavori in uno "scenario" diverso dal sorgente, non so se sono stato chiaro.
Comunque, l'errore avviene perchè il codice cerca di chiudere un database che invece è bloccato da un'operazione in corso, assicurati che il database venga chiuso solo dopo aver terminato tutte le operazioni su di esso, magari controlla anche l'altro .exe chiamante.
visodont
03-03-2005, 22:03
...........................Hai provato a togliere il campo Memo e vedere se tutto torna alla normalità? Fai questa prova.
Quello che non riesco a capire è come mai il sorgente si comporta bene rispetto al suo eseguibile compilato, è impossibile, almeno che l'eseguibile non lavori in uno "scenario" diverso dal sorgente, non so se sono stato chiaro.
Comunque, l'errore avviene perchè il codice cerca di chiudere un database che invece è bloccato da un'operazione in corso, assicurati che il database venga chiuso solo dopo aver terminato tutte le operazioni su di esso, magari controlla anche l'altro .exe chiamante
----------------------------
Ok, toglierò il campo memo, ma non capiscoproprio dove è inghippo, o dei dubbi perchè il problema si presenta solamente quando ho registrato su quel campo un certo numero di appuntamenti che però non arrivano alla lunghezza massima di 65000 come mi e è stato detto da voi.
L' exe chiamante apre il data base, ma quando eseguo l' agenda ( il secondo ) li riapre ma prima di uscire li richiude.
Non ci sono altre applicazione che aprano quel data base.
Diciamo che sono quasi disperato..........
Grazie ancora,
visodont
visodont
05-03-2005, 18:04
Preciso che il primo exe apre tutti i database e quando il primo chiama l' exe agenda quest'ultimo riapre i data base e poi li richiude.
Il problema forse sta nel fatto che il primo exe li apre e quando chiama il secondo exe rimangono aperti ?
Se mando in esecuzione il secondo exe da solo Tutto Ok ma se lo chiamo dal primo exe mi va in errore, ma solo dopo il 24 appuntamento.
Non so proprio........
Grazie
visodont
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.