Porque o codigo nao funciona

Delphi

20/02/2004

Caros Amigos

Tenho uma Pasta na minha unidade C: chamada Teste, dentro desta pasta tem duas tabelas (tabela1. DBF e tabela2.DBF), ´onde os campos das duas tabelas são todos caracteres´, fiz um alias para conectar as duas tabelas.

coloque em um Form 1 Query e na sua propriedade DataBaseName = Alias, na propriedade SQL coloquei o seguinte codigo

Select * from tabela1
Union
Select * from tabela2

minha pergunta e :

porque nao funciona e da o seguinte erro ( Type Mismatch In Expression)

desde ja valeu a atenção.

TornadoFuracao


Tornadofuracao

Tornadofuracao

Curtidas 0

Respostas

Delphi32

Delphi32

20/02/2004

Apesar dos campos serem caracteres os nomes deles possivelmente não são iguais ou os tamanhos são diferentes...
Para resolver o problema selecione na SQL os campos que vao se relacionar entre si.

Exemplo:

Select Campo1,Campo2,Campo3... from Tabela1
UNION
Select Campox,Campoy,Campoz... from Tabela2

Os campos [Campox,Campoy e Campoz] são os correspondentes do Campo1,Campo2,Campo3 respectivamente. Nesse campo o tamanho do campo1 tem que ser o mesmo do campox e se não me engano como disse acima, tem que ter o mesmo nome também...

qualquer dúvida posta aki de novo q eu te explico melhor...


GOSTEI 0
Gandalf.nho

Gandalf.nho

20/02/2004

O nome não precisa ser igual, só o tipo e o tamanho, em caso de necessidade, use CAST para ajustar as colunas


GOSTEI 0
Tornadofuracao

Tornadofuracao

20/02/2004

Caro amigo delphi32

mais uma vez tente me ajudar por favor
Digitei estas linhas na SQL do Query ele me manda esta menssagem ao ativar para True a propriedade Active.

Insert into tabela1 (Campo1)
Select Campo2 From Tabela2
Where Campo2 = ´53´
Select Campo1 From Tabela1

(Invalid use of keyword
Token :Select
Line Number :4)

ou seja nesta linha(Select Campo1 From Tabela1)

Desde já muito obrigado


GOSTEI 0
Okama

Okama

20/02/2004

Não entendi direito sua instrução, veja a sintaxe da instrução Insert:


INSERT INTO [TABELA] [FIELDS] [VALUES]

Insert into tabela (codigo, nome, data ) (123, ´Okama´, ´02/20/2004´)


GOSTEI 0
Okama

Okama

20/02/2004

Se quizer usar Select use assim:

Insert into tabela (codigo, nome, data) (select cod, nom, dta from tabela2)


GOSTEI 0
POSTAR