Query con selezione tabella tramite varibile temporanea

di il
5 risposte

Query con selezione tabella tramite varibile temporanea

Salve a tutti ho un quesito.
Posso Selezionara una tabella in una query access tramite una variabile temporanea?

Mi spiego meglio in VBA uso questo codice
CurrentDb.Execute "DELETE DISTINCTROW " & TempVars![esempio] & ".*, " & TempVars![esempio] & ".Mese " & _
 "FROM " & TempVars![BustePaga] 
Dove nella tempvars c'è il nome di una tabella esistente, e mi funziona
volevo scrivere in una query di access questo codice
SELECT *
FROM TempVars![esempio];
ma non mi funziona è una eresia o ho solo sbagliato a scrivere il codice?

5 Risposte

  • Re: Query con selezione tabella tramite varibile temporanea

    A prescindere dall'azione DELETE/SELECT non ti accorgi che nel primo caso la variabile(sei certo sia una variabile...?) viene valorizzata e nel secondo no...?

    Non hai scritto tu il primo codice mi pare di capire.
  • Re: Query con selezione tabella tramite varibile temporanea

    Buongiorno,
    il primo codice l' ho scritto, io. Ovviamente sono due query diverse, l' ho messa solo come esempio.

    il mio ragionamento è:

    quando apro l' applicazione assegno ad alcune variabili temporanee i nomi da tabelle esistenti che utilizzo a seconda le necessità.

    in vba quando, per esempio, se (nel primo esempio) devo far cancellare i dati di una tabella relativa ad un cliente più tosto che ad un altro gli metto il codice
    From " & TempVars![bustepaga] &.....
    che in quel caso è la tabella denominata "bustepagarossi" e vba cancella i dati relativamente alla tabella del cliente rossi.

    ora vorrei capire se è possibile fare la medesima cosa in una query di access inserendo la variabile temporale nel codice sql.
    La mia domanda è se è possibile farlo cerco di capire quale è il codice, probabilmente ho fatto degli orrori di sintassi, altrimenti se mi dite che non è fattibile cerco un altra strada.
  • Re: Query con selezione tabella tramite varibile temporanea

    Certo che è possibile... anche se inutile...
    Le query non sono diverse... una query è una query... ovvero uno script SQL... quello che cambia è il modo in cui lo usi...

    La query Action le esegui da codice... ma se fosse una query salvata come la renderesti flessibile nei nomi...?
    Ora siccome tu usi 2 metodi differenti per usare query è ovvio che sia da capire come usi le query Select... perché se apri un recordset... da sql... lo scenario è identico all'altro...

    Fai attenzione che quelle che chiami variabili sono controlli... e la cosa cambia molto.

    In tutti i modi prova a leggere della proprietà SQL dell'oggetto QUERYDEF.
  • Re: Query con selezione tabella tramite varibile temporanea

    Si in effetti io uso le query in modi differenti quelle per aggiornamento, cancellazione ed accodamento le scrivo in vba quelle SELECT uso access perchè ancora non ho imparato ad usarle bene in VBA.

    ps nella creazione di macro in access le chiama variabili temporanee chiedo scusa per l ignoranza.
    ora mi leggo il querydef
  • Re: Query con selezione tabella tramite varibile temporanea

    Le query da vba non sono meglio... anzi... sono meno efficienti...
    Le query Compilate siano ACTION che Select sono più performanti... chiaramente per ogni cosa occorre avere una visione di insieme.
Devi accedere o registrarti per scrivere nel forum
5 risposte