SQL em um form de consulta
28/05/2008
0
Por favor, não use apenas letras maiúsculas no título/texto.
No caso de reincidência, seus tópicos poderão vir a ser bloqueados.
Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:460e37f277][/quote:460e37f277]
Ola pessoal!!!
Bom se alguem puder me ajudar eu ficaria muito grato!!!
Eu tenho um formulario de cadastro de DOCUMENTO, onde eu tenho vario campos Ex: remetente, Assunto, tipo, especificação, data e assim vai ....
Só que o Remetente é uma Chave estrangeira até ai tudo certo , esta gravando tudo, só que eu tenho um form de CONSULTA DE DOCUMENTOS
onde eu pesquiso por Remetente, data,tipo, Dai quando eu vou no Botao vizualizar todos , dentro do DBGrid só aparece a data e o tipo , o Remetente fica em branco.O que eu tenho que Programar dentro da SQL para aparecer o nome do Rementen?
Rodlima
Posts
28/05/2008
Catunda
se vc postar seu codigo de consulta fica mais facil de esclarecer.
28/05/2008
Paulo
Select * from tabela virá tudo na sua query, ou ir especificando campo a campo. Se não mostra na sua consulta, é porque: Não está gravado ou a sua Query não está trazendo na instrução Select.
28/05/2008
Rodlima
SELECT * FROM CAD_DOCUMENTOS
pra trazer todos os componentes da tabela do cadastro de documento.
só que o rementen nao vem , pq eh chave secundaria.
Obrigado!!
28/05/2008
Paulo
28/05/2008
Rodlima
caro amigo mais como eu uso esse comando Join, pois sou novato em programação.
obrigado
28/05/2008
Rodlima
me ajuda a usar esse comando Join.
28/05/2008
Rodlima
Caro Amigo mais entao no form de documentos esta gravando normal , eu vejo o ibexpert e la o remeten esta gravando normal , só que na consulta de documentos dentro do DBGrid que nao esta aparecendo o campo remetente , pois eh chave estrangeira , como posso fazer pra chamar o campo?
se tiver que usar um Join eu nao sei usar tem como voce dar um exemplo?
ou outro jeitooo
obrigado!
28/05/2008
Catunda
SELECT A.*,B.NOME_REMETENTE FROM CAD_DOCUMENTOS A, CAD_REMETENTES B
WHERE A.COD_REMET = B.ID_REMETENTE
--------------------------------------------------------------------------------
Usando JOIN :
SELECT A.*,B.NOME_REMETENTE FROM CAD_DOCUMENTOS A
INNER JOIN CAD_REMETENTES B
ON (A.COD_REMET = B.ID_REMETENTE)
29/05/2008
Rodlima
O GRANDE PARCEIRO
DEU CERTO JA VIUU
USEI ISSO AQUI
select R.NOME ,DOC.DATA_CAD, DOC.TIPO
FROM CAD_DOCUMENTOS DOC, REMETENTE R
WHERE DOC.ID_COD_REMET = R.ID_CODIGO
MUITO OBRIGADO!!
30/05/2008
Rodlima
Agora eu estou no botao de Edit de Remetente, quero que quando clico dentro do edit uma letra ja traz todos os dados que tem tem dentro do Edit estou usando esse comando aqui:
procedure TfrmPesqDoc.edtPesquisa1Change(Sender: TObject);
begin
cdsCadDoc.Close;
sqlCadDoc.Close;
sqlCadDoc.SQL.CLear;
sqlCadDoc.SQL.ADD(´select R.NOME ,DOC.DATA_CAD, DOC.TIPO, DOC.assunto, DOC.data_emiss, DOC.decla_cont, DOC.especificacao, DOC.pessoa_emiss´);
sqlCadDoc.SQL.ADD (´FROM CAD_DOCUMENTOS DOC, REMETENTE R´);
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO UPPER(R.NOME)LIKE ´+
UpperCase(quotedStr(´¬´+edtPesquisa1.text+´¬´)+´ORDER BY R.NOME ASC´));
sqlCadDoc.Open;
cdsCadDoc.open;
END;
Mais esta dando um erro na penultima linha de UPPER
Obrigado Amigo!
30/05/2008
Joaoshi
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO UPPER(R.NOME)LIKE ´+
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO [b]AND[/b] UPPER(R.NOME)LIKE ´+
Espero ter ajudado.
30/05/2008
Rodlima
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO UPPER(R.NOME)LIKE ´+
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO [b]AND[/b] UPPER(R.NOME)LIKE ´+
grande amigo ficou assim:
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO [b]AND [b] UPPER(R.NOME)LIKE ´+
só que esta dando um erro de [ (colchete)
valeu parceiro
30/05/2008
Martins
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO [b]AND[/b] UPPER(R.NOME)LIKE ´+
Ele deve ficar assim:
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO AND UPPER(R.NOME)LIKE ´+
O colchete colocado fazia parte da tag de formatação aqui do fórum só isso, tenta agora aí.
Boa sorte e bons códigos.
30/05/2008
Rodlima
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO [b]AND[/b] UPPER(R.NOME)LIKE ´+
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO AND UPPER(R.NOME)LIKE ´+
Grande Parceirooo deu Certo viu
Muito Obrigado mesmooooooooooooooooooo
viu voce tem em mão ai algum código para pesquisar por data tb??
eu coloquei um de data de inicio e data de fim para pesquisar tb.
mais se voce nao tiver não prescisa nao..
obrigado parceiro!
30/05/2008
Martins
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO [b]AND[/b] UPPER(R.NOME)LIKE ´+
sqlCadDoc.SQL.ADD (´WHERE DOC.ID_COD_REMET = R.ID_CODIGO AND UPPER(R.NOME)LIKE ´+
Grande Parceirooo deu Certo viu
Muito Obrigado mesmooooooooooooooooooo
viu voce tem em mão ai algum código para pesquisar por data tb??
eu coloquei um de data de inicio e data de fim para pesquisar tb.
mais se voce nao tiver não prescisa nao..
obrigado parceiro![/quote:f80f6a70fb]
Vc usa Firebird?
vc pode usar [color=red:f80f6a70fb][b:f80f6a70fb]Between[/b:f80f6a70fb][/color:f80f6a70fb]
Um pequeno exemplo para vc adaptar aí, não compilei pois estou sem a ferramenta aqui.
Query1.Close; Query1.Sql.Clear; Query1.Sql.Add(´SELECT * FROM VENDAS WHERE DATA_VENCIMENTO BETWEEN :PDATA1 AND :PDATA2´); Query1.ParamByName(´PDATA1´).AsDate := StrToDate(edData1.Text); Query1.ParamByName(´PDATA2´).AsDate := StrToDate(edData2.Text); Query1.Open;
Boa sorte e bons códigos.
Clique aqui para fazer login e interagir na Comunidade :)