Colegas ao tentar inserir um telefone está dando o erro : No
corresponding master record found

Abaixo a descrição dos componentes:

servidor - pessoa
object QryPessoa: TSQLQuery
  MaxBlobSize = -1
  Params = <
    item
      DataType = ftInteger
      Name = 'codigo'
      ParamType = ptInput
      Value = '0'
    end>
  SQL.Strings = (
    'select p.*,'
    'p_a.nm_pessoa as usuario_atualizador,'
    'p_g.nm_pessoa  as usuario_gerador from CAD_PESSOA p'

      'left join seg_usuario a on (p.cd_usuario_atualizador=a.cd_usuari' +
      'o)'
    'left join seg_usuario g on (p.cd_usuario_gerador=g.cd_usuario)'
    'left join cad_pessoa p_a on (p_a.cd_pessoa=a.cd_pessoa)'
    'left join cad_pessoa p_g on (p_g.cd_pessoa=g.cd_pessoa)'
    'where p.cd_pessoa=:codigo')
  SQLConnection = DMConexao.Conn
  Left = 48
  Top = 152
  object QryPessoaCD_PESSOA: TStringField
    FieldName = 'CD_PESSOA'
    ProviderFlags = [pfInWhere, pfInKey]
    Required = True
    Size = 70
  end
  object QryPessoaNM_PESSOA: TStringField
    FieldName = 'NM_PESSOA'
    Size = 70
  end
  object QryPessoaNM_FANTASIA_APELIDO: TStringField
    FieldName = 'NM_FANTASIA_APELIDO'
    Size = 70
  end
  object QryPessoaDT_NASCIMENTO_FUNDACAO: TDateField
    FieldName = 'DT_NASCIMENTO_FUNDACAO'
  end
  object QryPessoaTX_OBSERVACAO: TStringField
    FieldName = 'TX_OBSERVACAO'
    Size = 300
  end
  object QryPessoaDT_INCLUSAO: TSQLTimeStampField
    FieldName = 'DT_INCLUSAO'
  end
  object QryPessoaDT_ULTIMA_ATUALIZACAO: TSQLTimeStampField
    FieldName = 'DT_ULTIMA_ATUALIZACAO'
  end
  object QryPessoaCD_USUARIO_GERADOR: TSmallintField
    FieldName = 'CD_USUARIO_GERADOR'
  end
  object QryPessoaCD_USUARIO_ATUALIZADOR: TSmallintField
    FieldName = 'CD_USUARIO_ATUALIZADOR'
  end
  object QryPessoaFL_STATUS: TStringField
    FieldName = 'FL_STATUS'
    FixedChar = True
    Size = 1
  end
  object QryPessoaDE_SITE: TStringField
    FieldName = 'DE_SITE'
    Size = 100
  end
  object QryPessoaDE_EMAIL: TStringField
    FieldName = 'DE_EMAIL'
    Size = 100
  end
  object QryPessoaFL_TIPO_PESSOA: TStringField
    FieldName = 'FL_TIPO_PESSOA'
    FixedChar = True
    Size = 1
  end
  object QryPessoaUSUARIO_ATUALIZADOR: TStringField
    FieldName = 'USUARIO_ATUALIZADOR'
    Size = 70
  end
  object QryPessoaUSUARIO_GERADOR: TStringField
    FieldName = 'USUARIO_GERADOR'
    Size = 70
  end
  object QryPessoaCD_EMPRESA: TSmallintField
    FieldName = 'CD_EMPRESA'
  end
end


dataset de ligação

object DtsPessoaLink: TDataSource
  DataSet = QryPessoa
  Left = 120
  Top = 200
end


servidor - telefone

object QryTelefone: TSQLQuery
  DataSource = DtsPessoaLink
  MaxBlobSize = -1
  Params = <
    item
      DataType = ftString
      Name = 'CD_PESSOA'
      ParamType = ptInput
      Size = 71
    end>
  SQL.Strings = (
    'SELECT * FROM '
    'CAD_TELEFONE '
    'WHERE CD_PESSOA=:CD_PESSOA')
  SQLConnection = DMConexao.Conn
  Left = 120
  Top = 152
  object QryTelefoneCD_TELEFONE: TFMTBCDField
    FieldName = 'CD_TELEFONE'
    ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
    Required = True
    Precision = 15
    Size = 0
  end
  object QryTelefoneDE_TELEFONE: TStringField
    FieldName = 'DE_TELEFONE'
  end
  object QryTelefoneCD_USUARIO_GERADOR: TIntegerField
    FieldName = 'CD_USUARIO_GERADOR'
  end
  object QryTelefoneCD_USUARIO_ATUALIZADOR: TIntegerField
    FieldName = 'CD_USUARIO_ATUALIZADOR'
  end
  object QryTelefoneDT_INCLUSAO: TSQLTimeStampField
    FieldName = 'DT_INCLUSAO'
  end
  object QryTelefoneDT_ULTIMA_ATUALIZACAO: TSQLTimeStampField
    FieldName = 'DT_ULTIMA_ATUALIZACAO'
  end
  object QryTelefoneCD_PESSOA: TFMTBCDField
    FieldName = 'CD_PESSOA'
    Precision = 15
    Size = 0
  end
  object QryTelefoneFL_STATUS: TStringField
    FieldName = 'FL_STATUS'
    FixedChar = True
    Size = 1
  end
  object QryTelefoneCD_TELEFONE_TIPO: TSmallintField
    FieldName = 'CD_TELEFONE_TIPO'
    ProviderFlags = [pfInUpdate]
  end
end


cliente:

cds pessoa

object QryTelefone: TSQLQuery
  DataSource = DtsPessoaLink
  MaxBlobSize = -1
  Params = <
    item
      DataType = ftString
      Name = 'CD_PESSOA'
      ParamType = ptInput
      Size = 71
    end>
  SQL.Strings = (
    'SELECT * FROM '
    'CAD_TELEFONE '
    'WHERE CD_PESSOA=:CD_PESSOA')
  SQLConnection = DMConexao.Conn
  Left = 120
  Top = 152
  object QryTelefoneCD_TELEFONE: TFMTBCDField
    FieldName = 'CD_TELEFONE'
    ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
    Required = True
    Precision = 15
    Size = 0
  end
  object QryTelefoneDE_TELEFONE: TStringField
    FieldName = 'DE_TELEFONE'
  end
  object QryTelefoneCD_USUARIO_GERADOR: TIntegerField
    FieldName = 'CD_USUARIO_GERADOR'
  end
  object QryTelefoneCD_USUARIO_ATUALIZADOR: TIntegerField
    FieldName = 'CD_USUARIO_ATUALIZADOR'
  end
  object QryTelefoneDT_INCLUSAO: TSQLTimeStampField
    FieldName = 'DT_INCLUSAO'
  end
  object QryTelefoneDT_ULTIMA_ATUALIZACAO: TSQLTimeStampField
    FieldName = 'DT_ULTIMA_ATUALIZACAO'
  end
  object QryTelefoneCD_PESSOA: TFMTBCDField
    FieldName = 'CD_PESSOA'
    Precision = 15
    Size = 0
  end
  object QryTelefoneFL_STATUS: TStringField
    FieldName = 'FL_STATUS'
    FixedChar = True
    Size = 1
  end
  object QryTelefoneCD_TELEFONE_TIPO: TSmallintField
    FieldName = 'CD_TELEFONE_TIPO'
    ProviderFlags = [pfInUpdate]
  end
end


cds telefone

object CdsTelefone: TClientDataSet
  Active = True
  Aggregates = <>
  DataSetField = CdsPadraoQryTelefone
  Params = <>
  AfterInsert = CdsTelefoneAfterInsert
  BeforePost = CdsTelefoneBeforePost
  Left = 748
  Top = 290
  object CdsTelefoneCD_TELEFONE: TFMTBCDField
    FieldName = 'CD_TELEFONE'
    ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
    Required = True
    Precision = 15
    Size = 0
  end
  object CdsTelefoneDE_TELEFONE: TStringField
    FieldName = 'DE_TELEFONE'
  end
  object CdsTelefoneCD_USUARIO_GERADOR: TIntegerField
    FieldName = 'CD_USUARIO_GERADOR'
  end
  object CdsTelefoneCD_USUARIO_ATUALIZADOR: TIntegerField
    FieldName = 'CD_USUARIO_ATUALIZADOR'
  end
  object CdsTelefoneDT_INCLUSAO: TSQLTimeStampField
    FieldName = 'DT_INCLUSAO'
  end
  object CdsTelefoneDT_ULTIMA_ATUALIZACAO: TSQLTimeStampField
    FieldName = 'DT_ULTIMA_ATUALIZACAO'
  end
  object CdsTelefoneFL_STATUS: TStringField
    FieldName = 'FL_STATUS'
    FixedChar = True
    Size = 1
  end
  object CdsTelefoneCD_PESSOA: TFMTBCDField
    FieldName = 'CD_PESSOA'
    Precision = 15
    Size = 0
  end
  object CdsTelefoneCD_TELEFONE_TIPO: TSmallintField
    FieldName = 'CD_TELEFONE_TIPO'
    ProviderFlags = [pfInUpdate]
  end
end




Muito obrigado a todos..

-- 
Marcelo Moacir Florindo
Analista/Desenvolvedor
http://www.gestaotec.com.br

Responder a