DUPLICAR ESTRUTURA DE TABELAS NO ACCESS

FAUZE 28/04/2012 10:10:07
#400961
Olá Pessoal,

Preciso duplicar tabelas em um banco access (somente as estruturas), peguei esse exemplo aqui no forum:

SQL = [Ô]SELECT * INTO Nova_tabela FROM Tabela_de_origem WHERE 1=0[Ô] [ô] Neste caso duplica a tabela sem copiar os registros
DB.Execute (SQL)
ou
SQL = [Ô]SELECT * INTO Nova_tabela FROM Tabela_de_origem WHERE 1=1[Ô] [ô] Neste caso duplica a tabela, e copia os registros
DB.Execute (SQL)
do colega FABAO.
Consegui a duplicação, porém se o campo é indexado, na nova tabela ficou não.
Tem algum outro parametro para estrutura ficar fiel?
MARCELO.TREZE 28/04/2012 10:30:24
#400963
estranho sua query (SELECT INTO) nunca vi isso.

mas seria assim

CREATE TABLE 'tabela2' SELECT * FROM 'tabela1'

com a query acima você vai duplicar a tabela inteira, estrutura e dados, se precisar só da estrutura, basta fazer o seguinte depois

DELETE FROM [ô]tabela2[ô]
FAUZE 28/04/2012 16:06:45
#400970
Marcelo,
A query (SELECTINTO) peguei o exemplo aqui no forum, ela funcionou, mas não marcou os campos indexados.

O seu exemplo dá o seguinte erro:
-2147217900
[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na instução CRATE TABLE.
Nessa linha:
  cnn.Execute ([Ô]CREATE TABLE PRODUTOS_NEW SELECT * FROM Produtos[Ô]) 
.
Outra coisa após o DELETE FROM PRODUTOS_NEW, o primeiro registro da nova tabela será número [Ô]1[Ô]?
Eu preciso que comece pelo [Ô]1[Ô].
LVFIOROT 28/04/2012 19:16:59
#400975
esse tipo de select cria a tabela, mas nao leva em consideração nenhuma restrição, esse recurso e usado mais para criar tabelas temporarias.

imagina que vc tem uma tabela de 10.000.000 e precisa ficar fazendo select de um pequeno numero de registros e trabalhar esses registros por algum tempo na memoria, entao a tabela temporaria te ajudaria nisso.
Tópico encerrado , respostas não são mais permitidas