[firebase-br] Re: [off-topic] sql+dsp+cds Identificando tabela errada
Cesar - ASSEINFO.com
cesar em asseinfo.com
Sex Out 29 13:53:11 -03 2004
Resolvido!!!
procedure TFrmNotasFiscais.dspMestreGetTableName(Sender: TObject;
DataSet: TDataSet; var TableName: String);
begin
if (DataSet.Name = 'SQLMestre') then
TableName := 'NOTAS_FISCAIS';
if (DataSet.Name = 'SQLDetalhe') then
TableName := 'NOTAS_FISCAIS_PRODUTOS';
if (DataSet.name = 'SQLDetalhe2') then
TableName := 'NOTAS_FISCAIS_PARAMETROS';
end;
Ao invés de utilizar o nome dos TSQLQuery eu utilizei os nomes dos DataSetProviders.
Obrigado a todos.
----- Original Message -----
From: Cesar - ASSEINFO.com
To: FireBase
Sent: Friday, October 29, 2004 1:30 PM
Subject: [off-topic] sql+dsp+cds Identificando tabela errada
> 1 - Manda este SQL pra lista
Select
NF.NF_Codigo,
NF.Rem_Pes_Codigo,
Rem.Pes_Nome Rem_Pes_Nome,
Rem.Pes_CNPJ_CPF Rem_Pes_CNPJ_CPF,
NF.NF_Numero,
NF.Nat_Codigo,
NT.Nat_Nome,
NF.Cid_Codigo,
Ci.Cid_Nome,
Ci.Uf_Codigo,
NF.Des_Pes_Codigo,
Des.Pes_Nome Des_Pes_Nome,
NF.Rep_Codigo,
Rep.Rep_Nome,
NF.NF_Pedido,
NF.NF_Volume_CX,
NF.NF_Volume_SC,
NF.NF_Volume_LT,
NF.NF_Valor,
NF.NF_Peso_Bruto,
NF.NF_Total_M2,
NF.NF_Agenda_Minima,
NF.NF_Agenda_Maxima,
NF.NF_Previsao_Carregto,
NF.NF_Entr_Nome,
NF.NF_Entr_Endereco,
NF.NF_Entr_Bairro,
NF.NF_Entr_Cep,
NF.NF_Entr_RG,
NF.NF_Entr_IE,
NF.NF_Entr_CNPJ,
NF.NF_Entr_CPF,
NF.NF_Entr_Observacao,
NF.NF_Tomador,
NF.NF_Alt_Usuario,
NF.NF_Alt_Tempo,
NF.NF_Alt_Estabelecimento,
Esta.Esta_Nome,
NF.NF_Emissao,
NF.NF_Liberacao,
U.Usu_Nome,
NF.NF_Status,
NF.NF_Baixa,
NF.NF_Baixa_Fone,
NF.NF_Leitura,
NF.NF_Entr_Cidade_Lida,
NF.NF_Observacao,
NF.Oco_Codigo,
OCO.Oco_Nome,
NF.NF_Aliquota_ICMS,
NF.NF_CIF_Qtde_Pallets,
NF.NF_CIF_Nro_Ordem_Compra,
NF.NF_CIF_Vlr_Ordem_Compra,
NF.NF_CIF_Vlr_Frete,
NF.NF_Situacao_Programacao,
NF.NF_Situacao_Carregamento,
NF.NF_Situacao_Entrega,
(Select Count( NFH_Data ) From Notas_Fiscais_Historicos Where NF_Codigo = NF.NF_Codigo) NF_Historicos,
Cast( Null as VarChar(10) ) NF_Situacao
From
NOTAS_FISCAIS NF
Join
Pessoas Des
On
NF.Des_Pes_Codigo = Des.Pes_Codigo
Join
Pessoas Rem
On
NF.Rem_Pes_Codigo = Rem.Pes_Codigo
Left Join
Estabelecimentos Esta
On
NF.NF_Alt_Estabelecimento = Esta.Esta_Codigo
Left Join
Representantes Rep
On
NF.Rem_Pes_Codigo = Rep.Rem_Pes_Codigo and
NF.Rep_Codigo = Rep.Rep_Codigo
Left Join
Cidades Ci
On
NF.Cid_Codigo = Ci.Cid_Codigo
Left Join
Naturezas NT
On
NF.Nat_Codigo = NT.Nat_Codigo
Left Join
Usuarios U
On
NF.NF_Alt_Usuario = U.Usu_Codigo
Left Join
Ocorrencias OCO
On
NF.Oco_Codigo = OCO.Oco_Codigo
Where
NF.NF_Codigo = :NF_CODIGO
> 2 - Você não está tentando atualizar o valor de um campo do Join está?
Não, é um campo da tabela principal.
> 3 - O campo do sub-select está com ProviderFlags no ClientDataSet, limpo? (sem nenhum valor)
Sim, está!
> 4 - Se você faz um select com result de mestre e do detalhe, porque você nao usa o NestedTable com o ClientDataSet?
Já utilizo Nested para os detalhes. O sub-select é para pegar informação de uma outra tabela.
Mais detalhes sobre a lista de discussão lista