[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