Il modulo di gestione di database non può bloccare la tabella ......

di il
6 risposte

Il modulo di gestione di database non può bloccare la tabella ......

In una Form creo una tabella temporanea che andrebbe cancellata nell'evento Form_Unload. Nella Form i dati di questa tabella vengono visualizzati su di una MSFlexGrid tramite un DataControl. Quando chiudo la Form mi esce il messaggio come da Titolo dell'Argomento. Ho provato a porre 'Set DataControl.Recordset = Nothing' prima di chiuderla ma ottengo la stessa situazione. Ho notato che chiudendo la form va in errore solo se con la query popolo la MSFlexGrid ed inoltre se tolgo il codice di cancellazione della tabella dall'evento Form_Unload e lo metto su un'altra form esterna va tutto liscio ...... come posso risolvere il problema ? Vi ringrazio anticipatamente per la disponibilità

6 Risposte

  • Re: Il modulo di gestione di database non può bloccare la tabella ......

    Roba un po' vecchiotta ...

    La proprietà RecordSource che valore ha?
  • Re: Il modulo di gestione di database non può bloccare la tabella ......

    Ti ringrazio per avermi risposto ..... so che è roba un pò vecchiotta ma mi sono bloccato sul VB6 ......... La proprietà RecordSource del DataControl (a sua volta collegato ad una MSFlexGrid) la imposto in esecuzione da codice :
    Data2.DatabaseName = DBNAME
    Data2.RecordSource = "SELECT * FROM PROVA" & NOMEUTENTE
    Data2.Refresh
    e ti ripeto che mi da quell'errore solo nel caso in cui viene popolata, da codice, la MSFlexGrid mentre se non lo faccio fila tutto liscio e cioè mi chiude la form e mi cancella la tabella PROVA ......
  • Re: Il modulo di gestione di database non può bloccare la tabella ......

    Il problema è risolto, in maniera non molto ortodossa, dopo svariati tentativi .... l'inghippo è la Msflexgrid che al contrario del datacontrol non ha ne metodi e ne proprietà per essere sganciata dalla tabella per cui se si tenta di cancellare la tabella in questione tira fuori quell'errore .... basta assegnare una SQL, riferita ad un'altra tabella, non implicata nella cancellazione, alla proprietà RecordSource del Datacontrol ...... questa tabella può essere una qualsiasi altra tabella presente nel database oppure una tabella costruita appositamente per questo scopo ..... non ho trovato di meglio come soluzione ma dato che con VB6 spesso servono di questi accorgimenti spero che a qualcuno possa servire ..... buona giornata a tutti ed al prossimo problema
  • Re: Il modulo di gestione di database non può bloccare la tabella ......

    Ma anche cancellando il recordsource, come ti avevano suggerito su masterdrive, era risolto
  • Re: Il modulo di gestione di database non può bloccare la tabella ......

    Oregon non funziona .... avevo già provato questa soluzione e cioè cancellare le proprietà RecordSource e Databasename del datacontrol ma non c'è niente da fare perchè il problema risiede nella Msflexgrid che ha la sola possibilità in fase di progettazione di connettersi ad un datacontrol con la proprietà DataSource ...... provate anche voi con un semplice esempio e vedrete che è così purtroppo
  • Re: Il modulo di gestione di database non può bloccare la tabella ......

    ALEX07041958 ha scritto:


    provate anche voi con un semplice esempio e vedrete che è così purtroppo
    E' così PER TE!
    Non per noi.

    Riguardo al provare. non pretenderai mica che uno si faccia carico anche di questo per un TUO problema!
    Se vuoi un'aiuto per capire, fai TU un progetto di esempio che riproduce il TUO problema, lo 'zippi' e lo alleghi, insieme al database.

    Per inciso, la tua affermazione:
    dato che con VB6 spesso servono di questi accorgimenti
    non trova riscontro nella realtà.
    Programmo in VB6 sin dalla versione 1.0 (maggio 1991) quindi sono 20+ anni e non ho mai avuto questi problemi.

    Direi che è un problema tuo...
    Certo che usare ancora il DataControl...
Devi accedere o registrarti per scrivere nel forum
6 risposte