Como criar tabelas pelo CREATE TABLE
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Com a instrução CREATE TABLE é possível definir uma nova tabela e seus campos. Isto é particularmente útil para atualização de um back-end (já em uso) pelo front-end.
a) para criar a tabela no próprio front-end, utilize o método Execute do Currentdb para executar a instrução. Observe, com atenção, o código para criar a tabela tblProdutos no front-end.
Faça o login aqui para ter acesso ao código.
Veja, na tabela, os nomes que identificam os Tipos de Dados:
Tipos de Dados | Identificação SQL |
Texto | TEXT, ALPHANUMERIC, CHAR, CHARACTER, STRING ou VARCHAR |
Memorando | LONGTEXT, MEMO, LONGCHAR ou NOTE |
Byte | BYTE ou INTEGER1 |
Inteiro | SHORT, INTEGER2 ou SMALLINT |
Inteiro Long | COUNTER, INTEGER, INT ou AUTOINCREMENT |
Simples | SINGLE, FLOAT4 ou REAL |
Duplo | DOUBLE, FLOAT ou NUMBER |
Data/Hora | DATETIME, DATE, TIME ou TIMESTAMP |
Moeda | CURRENCY ou MONEY |
Auto Numeração | AUTOINCREMENT ou COUNTER |
Sim/Não | YESNO, BIT, LOGICAL, LOGICAL1 ou BOOLEAN |
Objeto OLE | LONGBINARY, OLEOBJECT ou GENERAL |
Não existe um comando para criar campo do tipo ANEXO pelo CREATE TABLE. Uma alternativa é a de usar o TableDefs do DAO. Veja as partes em vermelho, acrescentadas ao código:
Faça o login aqui para ter acesso ao código.
b) Para criar a tabela no back-end pelo front-end, utilize o método Execute do OpenDatabase para executar a instrução. Observe, com atenção, o código para criar a tabela tblProdutos no back-end.
Faça o login aqui para ter acesso ao código.
Nota: Veja neste meu artigo como proceder de forma mais segura, com a senha do back-end no OpenDatabase.
Para excluir uma tabela utilize o DROP TABLE.
CurrentDb.execute "DROP TABLE tblProdutos;"
Bom estudo!
Os dez artigos mais visitados
MontaRibbons v.7.0 - Assistente completo para criar ribbons no Access
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Aprenda sobre filtragens
Vídeo - Segurança máxima, usando o OPEN
Uma ajuda para quem está começando um negócio ou um projeto
Integrando o Access com Servidor MySQL - Introdução
Desabilitando a faixa(ribbon) superior do Access
Vídeo - Programação de relatórios - Parte 1
Como carregar o seu menu sem que ele vá para lista de suplementos
Adquira o kit UsandoAccess e aprenda em alta velocidade
6 comentário(s) Fabio Matos 23/11/2023 04:26:27 Mestre Avelino, eu estava tão frustrado e cansado que não havia encontrado esta super joia. Já testei e já funcionou de cara. Tu é realmente o cara e me salvou mais uma vez. MUITO OBRIGADO!!!! Avelino Sampaio 23/11/2023 00:22:18 Fabio, veja neste meu outro artigo: http://www.usandoaccess.com.br/dicas/criar-relacionamentos-tabelas-constraint-vba.asp Sucesso! Fabio Matos 22/11/2023 16:24:55 Mestre Avelino, boa noite. Estudei por quase toda a internet por vários dias e não consegui encontrar uma solução para o meu problema. Estou parado nisso para atualizar o BackEnd dos meus clientes... Como eu posso criar um Relacionamento com Integridade referencial via VBA?? =( Parei em: docmd.runSQL "ALTER TABLE tbl_cad_listProdVenda ADD CONSTRAINT CodVenda FOREIGN KEY (codVenda) REFERENCES tbl_venda (codVenda) ON DELETE CASCADE;" Neste exemplo é um simples relacionamento entre a Tabela de Vendas (tbl_venda) PK> codVenda e a tabela onde armazena os produtos da Venda (tbl_cad_listProdVenda) FK> codVenda. O erro que aparece é: '3289' Erro de síntese na cláusula CONSTRAINT. Me ajude, please!! Marcelo David 25/04/2023 15:38:30 Muito bom! Obrigado por compartilhar! Avelino Sampaio 03/10/2021 02:38:17 Alonso sim, veja neste meu artigo: https://www.usandoaccess.com.br/dicas/criar-chave-primaria-indice-valor-padrao-alter-table.asp Sucesso! Anibal Assis 19/01/2020 06:43:32 Boa tarde Como formatar, e definir as casas decimais com o Alter Table ? Tem como? http://www.maximoaccess.com/t35099-resolvidoadicionar-um-campo-em-tabela-via-vba#240412 Obrigado |