Newsgroup: it.comp.lang.delphi
Titolo: Scusate... ancora query parametriche in Access

Scusate se torno a rompervi las pelotas, ma non ho trovato niente di
valido in rete. Qualcuno di voi sa se č possibile passare il nome di
una tabella come parametro in una query? 
Inoltre, per chi mi vuole reindirizzare su altro ng (come sarebbe
giusto), mi si potrebbe indicare in ng che sia *abitato* da forme di
vita intelligenti e senzienti?
Grazie di cuore e ancora scuse.

 una tabella come parametro in una query? 
In SQL i nomi di tabelle non possono essere parametri.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

In SQL i nomi di tabelle non possono essere parametri.
Allora mi attacco: devo riprogettare il DB... palle!
Grazie Andrea, ciao.

 
Non credo sia possibile passare come parametro il nome della tabella ...
ma potresti girarci intorno, per esempio se la tua query è: "Select * 
from @1 where campo1=:Param1" utilizzando StringReplace puoi ovviare al 
problema in qusto modo
sSQL := "Select * from @TAB where campo1=:Param1";
sSQL := StringReplace(sSQL, '@TAB','NOMETAB',[rfReplaceAll, rfIgnoreCase]);
..... ect ect ect
Se fa al caso tuo ...
Saluti Goblin
-- 
Ibis et redibis non morietur in bellum.

 from @1 where campo1=:Param1" utilizzando StringReplace
..l'ennesima ruota reinventata quadrata.  In Delphi esiste la funzione
Format() scritta allo scopo.  E' difatti possibile scrivere:
mySQLStatement := Format('select * from %s where...', [TableName]);
In ogni caso sarebbe interesante chiedersi a che serve qualcosa del genere.


 In ogni caso sarebbe interesante chiedersi a che serve qualcosa del genere.
Per esempio per interfacciarsi al multiaziendale Zucchetti: le tabelle 
hanno un prefisso in base appunto all'azienda.
Se hai Ciccio spa e Lallo srl le due anagrafiche clienti si chiameranno 
CICCIOANAG e LALLOANAG.
Sistema opinabile ma tant'è che qualcosa ti devi inventare, io ho usato 
proprio i format.

CICCIOANAG e LALLOANAG.
Ah ecco, quindi per sottostare a un errore di design. In generale,
dati e metadati non dovrebbero "mischiarsi" nelle logiche applicative.
Trattandosi di Zucchetti, č normale che esistano di tali
obbrobriositŕ... pazienza.

obbrobriosità... pazienza.
Purtroppo è come dice Andrea; ho progettato un DB commettendo un
errore: quello di fare tante tabelle quando potevo accorparle in una
sola.
Per quanto riguarda Goblin, grazie lo stesso ma mi riferivo all'SQL di
Access non a Delphi. Comunque grazie ancora per il tuo aiuto.
Ciao.
Joe

 In SQL i nomi di tabelle non possono essere parametri.
Query:='Select * from '+NomeTabella+' Where...';
ma forse ho capito male la domanda? Giorgio 

 ma forse ho capito male la domanda? Giorgio 
Sì, ci si riferiva ad una scrittura del tipo
   SELECT * FROM :NOMETABELLA WHERE...
Il parametro :NOMETABELLA non può essere tale. :-)
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

ma forse ho capito male la domanda? Giorgio 
Non solo, hai capito male anche la risposta :-)
Mi riferivo a quanto riportato da Marco, ovvero ciò che è, in SQL, un
parametro. I parametri vengono usati per i dati, non per i metadati.

ma forse ho capito male la domanda? Giorgio 
Costruendo la query da Delphi *TUTTO* diventa possibile... (per
fortuna!) :)
Però purtroppo mi interessava creare una query parametrica su un DB
Access che avrei potuto chiamare da Delphi passandole come parametro
una tabella...
Ad es.:
SELECT * FROM NOMETABELLA:
Nun se po' fa... :.(
Grazie lo stesso per la tua risposta.
Ciao!