Newsgroup: it.comp.appl.access
Titolo: generatore di tabelle da query

salve gruppo,
è possibile creare da una query di creazione tabella una tabella con nome sempre diverso? od ottenere un risultato simile in qualche altro modo?
 
grazie
Akery


Conosci la collection TABLEDEFS...?
Contiene ITEMS... ogni ITEM è una TABLEDEF...!
L'oggetto Tabledef ha la proprietà NAME... di conseguenza puoi fare quello che vuoi.
 
@Alex

 sempre diverso? od ottenere un risultato simile in qualche altro modo?
Da una query di creazione generi una tabella solo dopo
averne definito il nome, quindi non è solo possibile
ma obbligatorio che il nome sia sempre diverso.
 
Per altra via, se vuoi assegnare automaticamente nomi
differenti seguendo un determinato schema o ordine
logico, dovrai utilizzare un po' di codice VBA.
Puoi procedere in diversi modi; io sceglierei di
parametrizzare una query di creazione da eseguire
da codice.
 
Bruno

ho provato a seguire le vostre indicazioni ma non ho concluso nulla,
tabledef come suggerito da @Alex per ora mi è un po' ostico
 
la query di creazione tabella, per come l'ho strutturata io mi cancella la 
tabella e ne scrive una nuova con lo stesso nome.
VBA non so proprio da dove partire.
 
sareste cosi gentili da darmi un esempio già fatto?
tipo cerco anno 2015 e mi tira fuori la tabella nominata anno2015.
 
grazie per l'aiuto
Akery
 
"Bruno Campanini"  ha scritto nel messaggio 
news:nc7i3u$vav$1...@gioia.aioe.org...

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 tipo cerco anno 2015 e mi tira fuori la tabella nominata anno2015.
 
Ok, metti online la stringa SQL della query
di creazione tabella.
 
Bruno

SELECT rifiuti.CER, rifiuti.stato, Sum(Round([Peso Kg])) AS Ptot, Impianti.impianto, Impianti.destinazione, Year([data OUT]) AS anno, [costi smaltimento].[operatore ecologico] INTO anno2015
FROM (rifiuti RIGHT JOIN Impianti ON rifiuti.ID = Impianti.ID) LEFT JOIN [costi smaltimento] ON rifiuti.ID = [costi smaltimento].ID
GROUP BY rifiuti.CER, rifiuti.stato, Impianti.impianto, Impianti.destinazione, Year([data OUT]), [costi smaltimento].[operatore ecologico], Right([CER],1)
HAVING (((Right([CER],1))='*'));
 
 

caprico...@gmail.com
 has brought this to us :

Ok, ho sbagliato io a chiedere l'espressione SQL della query
di creazione che già ti funziona... o vuoi farla funzionare
anche in VBA?
In tale caso dovrei creare le tabelle con tutti i loro campi,
ma non ne ho alcuna voglia... dovresti mettere online
il database con le varie tabelle che qui interessano con
un minimo di record.
 
Per quanto riguarda invece
"cerco anno 2015 e mi tira fuori la tabella nominata anno2015"
che cosa intendi per tirar fuori?
Il codice deve semplicemente aprirti una query
con tutti i campi della tabella anno2015 o che altro?
 
Bruno

il mio obbiettivo è lanciare la query, e come risposta vorrei ottenere "che nome tabella devo creare?"
 
e dopo questa operazione trovare la tabella con il nome dato.
 
Pensavo che fosse possibile mettere dopo il comando INTO una variabile che mi venisse chiesta all'avvio della query.
Domani riduco il DB ai minimi termini cosi se ce ne fosse bisogno lo posto.
Grazie per l'attenzione

Ipotiziamo la tua Tabella si chiami [T1]
 
DbEngine(0)(0).Tabledefs("T1").Name="PIPPO"
 
@Alex

caprico...@gmail.com
 submitted this idea :

Postalo, postalo! che ci chiariamo tutti le idee.
 
Bruno

Grazie @Alex
ci sono riuscito col tuo suggerimento applicando il seguente codice
 
Sub nometabella()
Dim x As String
DoCmd.OpenQuery "mud"
x = InputBox("nome tabella")
DBEngine(0)(0).TableDefs("MUD_tbl").Name = x
End Sub
 
 
 
"@Alex"  ha scritto nel messaggio 
news:35176a29-bca1-45fe...@googlegroups.com...
 
Ipotiziamo la tua Tabella si chiami [T1]
 
DbEngine(0)(0).Tabledefs("T1").Name="PIPPO"
 
@Alex 
 
 
