Vc nem precisaria fazer este campo lookup.
   
  Por ex: Se vc abrir o cadastro de cidade, fizer a inclusão de uma nova 
cidade, ao sair da tela vc ja pode atribuir ao campo ID_CIDADE, NOME_CIDADE(da 
sua query do cadastro de cliente) a nova cidade cadastrada.
   
  Att.
  Danilo
  
User-BA <[EMAIL PROTECTED]> escreveu:
  
Sua explanação sobre a configuração dos Flags foi por demais esclarecedora.

Vou aproveita para abusar mais um pouco :)

No seu exemplo, a SQL sugere que para a tela de cadastro de clientes 
sempre será trazida uma cidade já cadastrada.
(o que vale para os Updates e Deletes).

Caso seja uma inclusão e a cidade ainda não esteja cadastrada, nesta 
tela disponibilizamos de clientes uma opção para abrir a tela para o 
cadastro da cidades.

Ok! Tendo que fazer isto, você sugeriria que no cadastro de clientes 
deveria ter um campo fazendo um (lookup/nome da cidade) entre 
cidades/clientes para buscar/trazer o código da cidade? ou você sugere 
alguma outra adaptação em SQL para este fim? Tipo: Um Lookup em SQL?

Obrigado pela aula.
Luciano-User-BA.

Danilo Rogério wrote:
> Não entendi muito bem se COL_CHAVE também faz parte da chave primaria 
> da tabela DICAS(fazendo com que sua tabela tenha uma chave composta, 
> mas vou explicar detalhadamente, a maneira como eu trabalho
>   
>   Tabela CIDADE
>   -----------------------
>   PK ID_CIDADE
>         NOME_CIDADE
>   
>   Tabela CLIENTE
>   ------------------------
>   PK ID_CLIENTE
>        NOME_CLIENTE
>   FK ID_CIDADE 
>
>   
>   onde PK é Primary Key(chave Primária) e FK é Foreign Key(Chave 
> Estrangeira), no caso de alguem desconhecer essas notações
>   
>   Suponhamos que vamos fazer operações de inclusão, exclusão, 
> alteração na tabela CLIENTE, mas queremos mostrar o nome da cidade que 
> este cliente mora.
>   
>   SELECT A.ID_CLIENTE, A.NOME_CLIENTE, A.ID_CIDADE, B.NOME_CIDADE
>     FROM CLIENTE A, CIDADE B
>   WHERE A.ID_CIDADE = B.ID_CIDADE
>   
>   Bem, vamos aos flags.
>   
>   1) Estamos manipulando CLIENTES, certo? Portanto apenas as colunas 
> referentes a tabela de clientes devem ser atualizadas, ou seja, a 
> coluna NOME_CIDADE é meramente demonstrativa.
>   
>   2)  Configure os providers flags do SQLDataset ou SQLQuery
>     ID_CLIENTE(é a chave)
>     pfInfUpdate = True
>     pfInfWhere = True
>     pfInfKey = True /// Porque esta coluna é a chave
>     pfInfHidden = False
>   
>       NOME_CLIENTE
>     pfInfUpdate = True
>     pfInfWhere = True
>     pfInfKey = False
>     pfInfHidden = False
>   
>       ID_CIDADE(note que esse campo vem da tabela CLIENTE, portanto 
> deve ser atualizado)
>     pfInfUpdate = True
>     pfInfWhere = True
>     pfInfKey = False
>     pfInfHidden = False
>
>   
>       NOME_CIDADE(não precisa atualizar)
>     pfInfUpdate = False
>     pfInfWhere = False
>     pfInfKey = False
>     pfInfHidden = False
>   
>   3) Neste mesmo campo NOME_CIDADE, verifique a propriedade Requerid = 
> False
>   
>   4) Faça o Passo 2 e 3 no ClientDataSet também
>   
>   5) No DataSetProvider, em Update Mode coloque Where KeyOnly(Você 
> muda para update mode porque setamos o flag pfInfKey para True)
>   
>   6) Se quiser ajudar o DataSerProvider mais um pouco, pode colocar a 
> instrução abaixo no EVENTO onGetTableName:
>     Table_Name := 'CLIENTE';
>   
>   Espero ter esclarecido. E dúvidas, postem aí...
>   Danilo Rogério
>   Betta Informática
>  
> User-BA <[EMAIL PROTECTED]> escreveu:
>
>
>  
> Olá!
>
> Me esclareçam...
>
> Tenho 2 tabelas -> DICAS e -> COLABORADORES
>
> Em -> DICAS tenho o campo chave primaria -> DIC_CHAVE
> e o campo chave estrangeira -> COL_CHAVE
> (COL_CHAVE é a chave primária de -> COLABORADOR)
>
> Neste caso, devo configurar no ClientDataSet -> ProviderFlags
>
> PfInUpdade = True
> PfInWhere = True
> PfInKey = True
> PfInHiden = False
>
> Da tabela -> DICAS
> para os campos -> DIC_CHAVE
> (chave primaria de DICAS)
> e COL_CHAVE
> (chave estrangeira de -> DICAS e chave primária de -> COLABORADOR)?
>
> ...
>
> Ou qual a configuração correta neste caso?
>
> Os outros campos de -> DICAS devem ficar:
>
> PfInUpdade = True
> PfInWhere = True
> PfInKey = False
> PfInHiden = False ?
>
> Aproveitando:
>
> Devo setar UpDateMode para -> upWhereAll?
>
>
>      
>
>      
>            
> _______________________________________________________
> Yahoo! Acesso Grátis: Internet rápida e grátis.
> Instale o discador agora!
> http://br.acesso.yahoo.com/
>
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
>
>
>         Yahoo! Grupos, um serviço oferecido por:            PUBLICIDADE
>     var lrec_target="_blank";var lrec_URL=new Array();  
> lrec_URL[1]="http://br.rd.yahoo.com/SIG=12fh5qtu6/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1132804784/A=2950750/R=0/id=flashurl/SIG=10tift5qr/*http://br.movies.yahoo.com/";;
>   
> var 
> lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1)
>  
> <http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow%281%29>";
>   
> var 
> lrec_altURL="http://br.rd.yahoo.com/SIG=12fh5qtu6/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1132804784/A=2950750/R=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/";;
>   
> var 
> lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cinema_calendario.gif";;
>   
> var lrec_width=300;var lrec_height=250;     
>  
> ---------------------------------
>   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 Termos do 
> Serviço do Yahoo!.
>
>  
>
>
>            
> ---------------------------------
> Yahoo! Acesso Grátis: Internet rápida e grátis.
> Instale o discador agora!
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:*
> PUBLICIDADE
>
>
> ------------------------------------------------------------------------
> *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]
>       <mailto:[EMAIL PROTECTED]>
>        
>     * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>       Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


-- 

----------------------------------------------------------------
* D7/Firebird/DbExpress-SQLDataSet+DataSetProvider+ClientDataSet
----------------------------------------------------------------

Valeu pelas forças.
Obrigado.
Luciano-User-BA


      

      
            
_______________________________________________________ 
Yahoo! Acesso Grátis: Internet rápida e grátis. 
Instale o discador agora!
http://br.acesso.yahoo.com/



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





        Yahoo! Grupos, um serviço oferecido por:            PUBLICIDADE
    var lrec_target="_blank";var lrec_URL=new Array();  
lrec_URL[1]="http://br.rd.yahoo.com/SIG=12f3q81cp/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1132810167/A=2950750/R=0/id=flashurl/SIG=10tift5qr/*http://br.movies.yahoo.com/";;
  var 
lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0901_lrec_cinema_calendario.swf?clickTAG=javascript:LRECopenWindow(1)";
  var 
lrec_altURL="http://br.rd.yahoo.com/SIG=12f3q81cp/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1132810167/A=2950750/R=1/id=altimg/SIG=10tift5qr/*http://br.movies.yahoo.com/";;
  var 
lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/0829_lrec_cinema_calendario.gif";;
  var lrec_width=300;var lrec_height=250;      
  
---------------------------------
  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 Termos do Serviço do 
Yahoo!. 

  


                
---------------------------------
 Yahoo! Acesso Grátis: Internet rápida e grátis.
Instale o discador agora!

[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]
 
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