Pow essa pergunta eh taum **** assim?Tem algum Mestre em SQL
12/03/2003
0
para tornar este programa mais eficaz foi criado novas situações que o programa fará automaticamente!
Na verdade o que precisamos eh um comando SQL QUE ALTERA O CAMPO DE UMA TABELA, muito simples de fazer em outros bancos por exemplo POSTGREE e MYSQL, porem esses comandos SQL naum funcionam dentro do ACCESS!!!
um exemplo de como seria em postgree
ALTER TABLE distribuidores RENAME COLUMN endereco TO cidade;[/b]
Anonymous
Posts
12/03/2003
Anonymous
Mas mexer com Access é outro problema, viu !
Até posso te ajudar mais nõa vou não.
12/03/2003
Anonymous
:shock:
12/03/2003
Anonymous
12/03/2003
Netcrusher
Está aqui um exemplo de como criar campos.. mas maybe não seja isso que vc esteja procurando, mas por favor, não leve a mal, pois só estou tentando te ajudar.
procedure TForm1.btnTabelasClick(Sender: TObject);
var
base, comando: string;
begin
{ definindo a base de dados }
base := ´Provider=Microsoft.Jet.OLEDB.4.0´ +
´;Data Source=´ + edtPath.Text +
´;Persist Security Info=False´;
ADOConnection1.ConnectionString := base;
{ Criando as tabelas... }
{>>> PROPRIETARIO <<<}
comando := ´CREATE TABLE PROPRIETARIO (´ +
´PRO_ID INT,´ +
´PRO_NOME TEXT(50))´;
ADOCommand1.CommandText := comando;
ADOCommand1.Execute;
{ ADICIONANDO INDICES }
comando := ´CREATE INDEX IDX_PRO_ID ´ +
´ON PROPRIETARIO (PRO_ID) WITH PRIMARY´;
ADOCommand1.CommandText := comando;
ADOCommand1.Execute;
{>>> ANIMAL <<<}
comando := ´CREATE TABLE ANIMAL (´ +
´ANI_ID INT,´ +
´ANI_PROPRIETARIO INT ´ +
´CONSTRAINT IDX_PRO_ID ´ +
´REFERENCES PROPRIETARIO (PRO_ID),´ +
´ANI_NOME TEXT (50),´ +
´ANI_NASCIMENTO DATETIME)´;
ADOCommand1.CommandText := comando;
ADOCommand1.Execute;
end;
talvez com isso vc possa achar uma solution
Atenciosamente, NetCrusher
12/03/2003
Anonymous
mais naum eh isso que eu quero ainda!
quero apenas um comandinho SQL que me altere o campo da tabela...
naum acredito que um simples comando desse, taum comum em outras dbs naum exite nu maldito ACCESS! :x
12/03/2003
Anonymous
T+
12/03/2003
Jeancamila
SELECT clientes.Cliente AS nomedocampoquevcquiser
FROM clientes
espero que tenha ajudado.
12/03/2003
Anonymous
12/03/2003
Jeancamila
jean.morais@terra.com.br
12/03/2003
Anonymous
Estamos Anciosos que vc encontre uma solucao muito grato Jorge e Rafael
12/03/2003
Carnette
para tornar este programa mais eficaz foi criado novas situações que o programa fará automaticamente!
Na verdade o que precisamos eh um comando SQL QUE ALTERA O CAMPO DE UMA TABELA, muito simples de fazer em outros bancos por exemplo POSTGREE e MYSQL, porem esses comandos SQL naum funcionam dentro do ACCESS!!!
um exemplo de como seria em postgree
ALTER TABLE distribuidores RENAME COLUMN endereco TO cidade;[/b][/quote:aec02953f2]
Instrução ALTER TABLE
Modifica a estrutura de uma tabela depois de ter sido criada com a instrução CREATE TABLE.
--------------------------------------------------------------------------------
Observação O motor de banco de dados Microsoft Jet não oferece suporte ao uso de ALTER TABLE ou de qualquer uma das instruções Data Definition Language (DDL, linguagem de definição de dados), com bancos de dados que não sejam o Microsoft Jet. Em seu lugar, use os métodos DAO Create.
--------------------------------------------------------------------------------
Sintaxe
ALTER TABLE tabela {ADD {COLUMN campo tipo[(tamanho)] [NOT NULL] [CONSTRAINT índice] |
ALTER COLUMN campo tipo[(tamanho)] |
CONSTRAINT índicecampomúlt} |
DROP {COLUMN campo I CONSTRAINT nomeíndice} }
A instrução ALTER TABLE tem estas partes:
Parte Descrição
tabela O nome da tabela a ser alterada.
campo O nome do campo a ser adicionado ou excluído de tabela. Ou o nome do campo a ser alterado em tabela.
tipo O tipo de dados de campo.
tamanho O tamanho do campo em caracteres (somente os campos Text e Binary).
índice O índice para campo. Para obter mais informações sobre como construir este índice, consulte Cláusula CONSTRAINT.
Índicecampomúlt A definição de um índice de campos múltiplos a ser adicionado em tabela. Para obter mais informações sobre como construir este índice, consulte Cláusula CONSTRAINT.
Nomeíndice O nome do índice de campos múltiplos a ser removido.
Comentários
Usando a instrução ALTER TABLE, você pode alterar uma tabela existente de diversas maneiras. Você pode:
Usar ADD COLUMN para adicionar um novo campo à tabela. Você especifica o nome do campo, tipo de dados e (para os campos Text e Binary) um tamanho opcional. Por exemplo, a instrução a seguir adiciona um campo Text de 25 caracteres chamado Observações à tabela Funcionários:
ALTER TABLE Funcionários ADD COLUMN Observações TEXT(25)
Você também pode definir um índice naquele campo. Para obter mais informações sobre índices de campo único, consulte Cláusula CONSTRAINT.
Se você especificar NOT NULL para um campo, então os novos registros deverão ter dados válidos naquele campo.
Usar ALTER COLUMN para alterar o tipo de dados de um campo existente. Você especifica o nome do campo, o novo tipo de dados e um tamanho opcional para os campos Text e Binary. Por exemplo, a instrução a seguir altera o tipo de dados de um campo na tabela Funcionários chamado Cep (originalmente definido como Integer) para um campo Text de 10 caracteres:
ALTER TABLE Funcionários ALTER COLUMN Cep TEXT(10)
Usar ADD CONSTRAINT para adicionar um índice de campos múltiplos. Para obter mais informações sobre índices de campos múltiplos, consulte Cláusula CONSTRAINT.
Usar DROP COLUMN para excluir um campo. Você especifica somente o nome do campo.
Usar DROP CONSTRAINT para excluir um índice de campos múltiplos. Você especifica somente o nome do índice após a palavra reservada CONSTRAINT.
--------------------------------------------------------------------------------
Observações
Você não pode adicionar ou excluir mais de um campo ou índice de cada vez.
Você pode usar a instrução CREATE INDEX para adicionar um índice de campo único ou campos múltiplos e pode usar ALTER TABLE ou a instrução DROP para excluir um índice criado com ALTER TABLE ou CREATE INDEX.
Você pode usar NOT NULL em um campo único ou dentro de uma cláusula CONSTRAINT nomeada que se aplica a uma CONSTRAINT nomeada de campo único ou de campos múltiplos. Contudo, você pode aplicar a restrição NOT NULL a um campo somente uma vez. Tentar aplicar esta restrição mais de uma vez resultará em um erro em tempo de execução.
12/03/2003
Anonymous
[b:2d3d679e7a]ALTER TABLE tabela {ADD {COLUMN campo tipo[(tamanho)] [NOT NULL] [CONSTRAINT índice] |
ALTER COLUMN campo tipo[(tamanho)] | [/b:2d3d679e7a]
E Infelismente ela apenas adiciona novos campos mais naum altera o proprio campo. Ou intaum ela altera o tipo do campo!
Valew a intencaum!
12/03/2003
Thematrix:reloaded
não é possível vc alterar um campo, seja tamanho, nome, etc.
Para isso vc precisa criar um campo temporario, jogar os dados do campo a ser alterado para este campo temporario, apagar o campo desejado, criar um novo campo com as novas características, copiar os dados do campo temporario e finalmente apagá-lo.
Não existe fórmula mágica. :?
Vc tem que botar a mão na massa, Ok?
Por exemplo:
Alter table TABELA add CAMPOTEMP varchar(10);
Update TABELA set CAMPOTEMP = OLDCAMPO;
Alter table TABELA drop OLDCAMPO, add OLDCAMPO varchar(15);
Update TABELA set OLDCAMPO = CAMPOTEMP;
Alter table TABELA drop CAMPOTEMP;
Valeu....????
13/03/2003
Anonymous
vc diz que nao daria para mudar o tipo do campo mais isso eu consigo se isso da pq nao daria para mudar o nome do campo?
13/03/2003
Anonymous
Pense num cara paranoico
Clique aqui para fazer login e interagir na Comunidade :)