Cannot access the selected table – FoxPro VFP-1152

VFP-1152

L'errore VFP-1152 può dipendere da una tabella fuori dall'intervallo di work area, da una variabile file usata su una tabella chiusa o da un RowSource ComboBox/ListBox non più aperto. Svuota RowSource prima di chiudere o ricreare la tabella, poi ripristinalo quando l'operazione è terminata.

Cosa significa questo errore?

L'errore VFP-1152 può dipendere da una tabella fuori dall'intervallo di work area, da una variabile file usata su una tabella chiusa o da un RowSource ComboBox/ListBox non più aperto. Svuota RowSource prima di chiudere o ricreare la tabella, poi ripristinalo quando l'operazione è terminata.

Messaggio originale

Cannot access the selected table

Contesto e parole chiave

Alias

  • cannot access the selected table
  • VFP-1152

Messaggi alternativi

  • Errore 1152 di Visual FoxPro
  • Impossibile accedere alla tabella selezionata

Prodotti

  • Visual FoxPro

Piattaforme

  • Windows

Parole chiave

  • cannot access selected table FoxPro
  • RowSource FoxPro
  • VFP-1152

Cause possibili

Tabella fuori dall'intervallo di work area

Il codice tenta di selezionare una tabella oltre l'intervallo di 32K work area supportato dalla guida.

possibile

RowSource collegato a una tabella chiusa

Una tabella o un cursore usato dal RowSource di ComboBox o ListBox è stato chiuso mentre il controllo lo utilizza.

comune

SELECT ricrea il cursore del controllo

Una SELECT che ricrea la tabella o il cursore usato dal RowSource chiude e riapre l'oggetto durante l'operazione.

possibile

Diagnosi

Tabella selezionata e variabile file

Verificare la work area selezionata e assicurarsi che ogni variabile file punti a una tabella effettivamente aperta.

Come leggere il risultato. Una tabella fuori intervallo o chiusa conferma il primo gruppo di cause documentate.

RowSource dei controlli ComboBox e ListBox

Controllare se il RowSource punta a una tabella o a un cursore che il codice sta chiudendo o ricreando.

Come leggere il risultato. Un RowSource ancora collegato durante la chiusura o la SELECT richiede la sequenza di svuotamento indicata dalla fonte.

Risoluzione

Svuotare RowSource prima di chiudere la tabella

Difficoltà: mediaRischio: medio

Rimuovere temporaneamente il collegamento del controllo alla tabella o al cursore prima di chiuderlo, oppure rilasciare il form che contiene il controllo.

  1. Individuare il ComboBox o ListBox il cui RowSource usa la tabella o il cursore.
  2. Impostare RowSource a un valore vuoto prima di chiudere la tabella o il cursore.
  3. In alternativa, rilasciare il form che contiene il controllo.
  4. Chiudere la tabella e ripristinare il RowSource quando l'oggetto è di nuovo disponibile.

Svuotare RowSource durante una SELECT che ricrea il cursore

Difficoltà: mediaRischio: medio

Scollegare il controllo prima della SELECT e ripristinare il valore precedente dopo che la tabella o il cursore è stato ricreato.

  1. Salvare il valore corrente del RowSource.
  2. Impostare RowSource a un valore vuoto.
  3. Eseguire la SELECT che ricrea la tabella o il cursore.
  4. Ripristinare il RowSource precedente e verificare il controllo.

Verificare la SELECT su una copia o in ambiente di prova se la ricreazione modifica dati o struttura.

Domande frequenti

Come evitare VFP-1152 con ComboBox o ListBox?

Impostare RowSource a vuoto prima di chiudere o ricreare la tabella/cursore, quindi ripristinare il collegamento quando l'oggetto è nuovamente disponibile.

Approfondimenti

Schede correlate