Alexandre,
   Cara o teu funcionou perfeitamente, mas eu já havia implementado da 
seguinte forma...

1. Coloca o SQL dentro do SQLQuery..(pode ser o SubSelect ou como tu me 
mandastr Join)

2. Adicionar os Field da SQLQuery, setar apenas providerflags da chave 
(CODPESSOA, por exemplo) para pflnkey = true, o resto deixa igual

3 Coloca o DataSetProvider
   DataSetProvider.DataSet := SQLQuery
   DataSetProvider.UpdateMode := upWhereKeyOnly

4. no evendo OnGetTableName do DataSetProvider
    TableName = NOME_DA_TABELA q vai atualizar

5 Coloca o ClientDataSet
  ClientDataSet.ProviderName := DataSetProvider

6. no evendo OnAfterPost e OnAfterDelete do ClientDataSet coloca o
    ClientDataSet.ApplyUpdates(-1);

por exemplo, tenho
   Select T.CODALGUMACOISA, T.CODOUTRACOISA, T.DESCRICAO,
             (Select DESCRICAO from OUTRATABELA
                where CODOUTRACOISA = T.CODOUTRACOISA) as CODOUTRACOISA_D
  from TABELA T

com eu tinha usando, em TableName := 'TABELA'
e prontinho...


valeu pela ajuda moçada...

[]'s




----- Original Message ----- 
From: "Alexandre Oliveira" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Wednesday, January 26, 2005 5:54 PM
Subject: RES: [delphi-br] Perguntinha básica (DBX)



Olá,

Dica:
1) remova todos os fields do clientdataset;
2) vá até o sqlquery e remova os fields também;
3) agora veja este novo select. (o que voce passou ficou meio confuso, este
é apenas um exemplo);

>
>  select t.codped, t.dataped, c.nomecli, c.endercli, c.cpf_cnpj_cli
>  from TBL_PED t left join TBL_CLI c
>       on c.CODCLI = t.CODCLI
>

4) volte ao sqlquery e adicione novamente os campos. Os providerflags dos
campos NOMECLI e ENDERCLI devem estar todos = false. Os providerflags do
campo DATAPED deve estar apenas com 'pfInUpdate' = true. Os providerflags do
campo CODPED deve estar com 'pfInUpdate', 'pfInWhere' e 'pfInKey' como true.

5) vá no datasetprovider e altere o updatemode para upWhereKeyOnly.
6) vá ao clientdataset e adicione novamente os campos. Não é preciso
modificar nada.


Teste e reporte para nós.


[]'s

Alexandre Oliveira Campioni
Analista de Sistemas
A-Tecnologia e Sistemas de Informacao Ltda.
Sao Joaquim da Barra - Sao Paulo - Brazil
[EMAIL PROTECTED]

-----Mensagem original-----
De: Alan [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 26 de janeiro de 2005 13:03
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Perguntinha básica (DBX)


e ae Thiago, blz??
só agora li teu e-mail..
   cara eu ja tinha feito isso, não resolveu, não manjo muito de DBX, mas
esse metodo eu tinha visto em uma revista do ClubeDelphi e não funcinou :( c
tiver alguma outra dica eu aceito

abraço


----- Original Message -----
From: "Francisco Thiago de Almeida" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Wednesday, January 26, 2005 9:19 AM
Subject: Re: [delphi-br] Perguntinha básica (DBX)


>
> O campo com o subselect.. Adicione ele no Field Editor e retire da opção
> ProviderFlags todas as opções....
> Com isso acredito que funcione... (faça isso no CDS e no SQLQuery)
>
> Espero ter ajudado
>
> Thiago
> ----- Original Message ----- 
> From: "Alan" <[EMAIL PROTECTED]>
> To: <delphi-br@yahoogrupos.com.br>
> Sent: Tuesday, January 25, 2005 3:25 PM
> Subject: [delphi-br] Perguntinha básica (DBX)
>
>
>
> começei a usar o DBX agora....eu tenho uma
>
> SQLQuery , um DataSetProvider e um ClientDataSet
> faço uma selecção, tipo
>
>   Select T.CODALGUMACOISA, T.CODOUTRACOISA, T.DESCRICAO,
>             (Select DESCRICAO from OUTRATABELA
>                where CODOUTRACOISA = T.CODOUTRACOISA) as CODOUTRACOISA_D
>  from TABELA T
>
> é mais ou menos isso....quando não tinha um SubSelect funcionava blz
> apenas
> com um applyupdates, alguem pode me dar uma dica como eu faço agora??? com
> esse subselect no meio?
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos











-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a