Fórum Select Firebird no Delphi7 #504049
10/12/2014
0
Carlos Cabral
Curtir tópico
+ 0Posts
11/12/2014
Renato Rubinho
Segue exemplo de comando com join para o seu resultado:
SELECT PEI.* FROM PEDIDOITEM PEI INNER JOIN PEDIDOBASE PEB ON PEB.CODIGO = PEI.CODIGO WHERE PEB.EMPRESA = 1 AND PEB.DATA_ENTREGA BETWEEN '01.12.2014' AND '11.12.2014'
Abraççç,
rrubinho
Gostei + 0
13/12/2014
Carlos Cabral
Gostei + 0
13/12/2014
Carlos Cabral
var AUXEMP : Integer;
var DATAINI : String;
var DATAFIM : String;
var Contador : Integer;
begin
AUXEMP := codigoempresa;
DATAINI := FormatDateTime('dd.mm.yyyy',StrToDate(mkdataini.Text));
DATAFIM := FormatDateTime('dd.mm.yyyy',StrToDate(mkdatafim.Text));
dmVendas.cdsVendaPedidoBase.Close;
dmVendas.cdsVendaPedidoItem.Close;
VENDAPEDIDOITEM.IDPEDIDO where VENDAPEDIDOBASE.CODIGOEMPRESA = :AUXEMP and VENDAPEDIDOITEM.DATAENTREGA between :dataini and :datafim';
dmVendas.cdsVendaPedidoItem.CommandText := 'SELECT * from VENDAPEDIDOITEM inner join VENDAPEDIDOBASE on VENDAPEDIDOBASE.IDPEDIDOBASE = VENDAPEDIDOITEM.IDPEDIDO where VENDAPEDIDOBASE.CODIGOEMPRESA = :AUXEMP and VENDAPEDIDOITEM.DATAENTREGA between :DATAINI and :DATAFIM';
dmVendas.cdsVendaPedidoBase.Open;
dmVendas.cdsVendaPedidoItem.Open;
Gostei + 0
13/12/2014
Carlos Cabral
var AUXEMP : Integer;
var DATAINI : String;
var DATAFIM : String;
var Contador : Integer;
begin
AUXEMP := codigoempresa;
DATAINI := FormatDateTime('dd.mm.yyyy',StrToDate(mkdataini.Text));
DATAFIM := FormatDateTime('dd.mm.yyyy',StrToDate(mkdatafim.Text));
dmVendas.cdsVendaPedidoBase.Close;
dmVendas.cdsVendaPedidoItem.Close;
VENDAPEDIDOITEM.IDPEDIDO where VENDAPEDIDOBASE.CODIGOEMPRESA = :AUXEMP and VENDAPEDIDOITEM.DATAENTREGA between :dataini and :datafim';
dmVendas.cdsVendaPedidoItem.CommandText := 'SELECT * from VENDAPEDIDOITEM inner join VENDAPEDIDOBASE on VENDAPEDIDOBASE.IDPEDIDOBASE = VENDAPEDIDOITEM.IDPEDIDO where VENDAPEDIDOBASE.CODIGOEMPRESA = :AUXEMP and VENDAPEDIDOITEM.DATAENTREGA between :DATAINI and :DATAFIM';
dmVendas.cdsVendaPedidoBase.Open;
dmVendas.cdsVendaPedidoItem.Open;
Gostei + 0
13/12/2014
Carlos Cabral
var AUXEMP : Integer;
var DATAINI : String;
var DATAFIM : String;
var Contador : Integer;
begin
AUXEMP := codigoempresa;
DATAINI := FormatDateTime('dd.mm.yyyy',StrToDate(mkdataini.Text));
DATAFIM := FormatDateTime('dd.mm.yyyy',StrToDate(mkdatafim.Text));
dmVendas.cdsVendaPedidoBase.Close;
dmVendas.cdsVendaPedidoItem.Close;
VENDAPEDIDOITEM.IDPEDIDO where VENDAPEDIDOBASE.CODIGOEMPRESA = :AUXEMP and VENDAPEDIDOITEM.DATAENTREGA between :dataini and :datafim';
dmVendas.cdsVendaPedidoItem.CommandText := 'SELECT * from VENDAPEDIDOITEM inner join VENDAPEDIDOBASE on VENDAPEDIDOBASE.IDPEDIDOBASE = VENDAPEDIDOITEM.IDPEDIDO where VENDAPEDIDOBASE.CODIGOEMPRESA = :AUXEMP and VENDAPEDIDOITEM.DATAENTREGA between :DATAINI and :DATAFIM';
dmVendas.cdsVendaPedidoBase.Open;
dmVendas.cdsVendaPedidoItem.Open;
Gostei + 0
19/12/2014
Renato Rubinho
Se for isso, assim resolve:
DATAINI := QuotedStr(FormatDateTime('dd.mm.yyyy',StrToDate(mkdataini.Text)));
Ou, passando como parâmetro mesmo, pode passar direto como data:
dmVendas.cdsVendaPedidoItem.Params.ParamByName('DATAINI').AsDate := StrToDate(mkdataini.Text);
Abraççç,
rrubinho
Gostei + 0
19/12/2014
Carlos Cabral
Se for isso, assim resolve:
DATAINI := QuotedStr(FormatDateTime('dd.mm.yyyy',StrToDate(mkdataini.Text)));
Ou, passando como parâmetro mesmo, pode passar direto como data:
dmVendas.cdsVendaPedidoItem.Params.ParamByName('DATAINI').AsDate := StrToDate(mkdataini.Text);
Abraççç,
rrubinho
Ola Rubinho
O que esta acontecendo, não é problemas com as variaveis, mas sim, o comando esta vinculando a variavel criada como sendo da propria tabela quando na verdade não é, ai da o erro.
De repente eu estou fazendo muito errado. Nas minhas rotinas normais eu sempre uso o Params e ParamByName, para selecionar exatamente o item que quero. Essa é a primeira vez que tento colocar uma SELECT para 2 bases de uma vez. Tenho certeza que deve existir uma saida para esta situacao, só nao consegui me encontrar ainda. Também não sei se consegui explicar exatamente o porque preciso deste comando mediante as 2 tabelas que tenho. Mas acredito que deva existir uma forma, já que as 2 tabelas estão relacionadas entre si. Fico aguardando, muito obrigado.
Abraços
Cabral
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)