Valew pelas dicas, mas o André entendeu me deu a solução que precisava.

Vou testar e posto aqui a solução pq estou criando um registro de log e
gravando todas as ações do banco que o usuário fizer.

Qdo o administrador quiser verificar quem, quando, qual valor e etc um
determinado usuário gravou ou alterou no banco, ele terá em uma tela com
consultas parametrizada.

Se alguém já pensou e fez algo semelhante, me contate em PVT.

Obs.: Por enquanto estou usando BDE e acessando Firebird.

Obrigado pessoal.


2008/4/11 Andre Luis Silveria <[EMAIL PROTECTED]>:

>   O que vc pode fazer é o seguinte:
> RCampo : TRecord
> Campo : String;
>
>
> procedure chamarLog(DS : Dataset);
> var Tabela : TTable;
> Campo : Array of RCampo;
> begin
> if (DS.State in [dsInsert, dsEdit) then
> begin
> for i := 0 to Ds.FieldsCount - 1 do
> begin
> if pfInKey in DS.Fields[i].ProviderFlags then
> begin
> SetLength(Campo, Length(Campo)+1);
> Campo[Length(Campo)-1].Campo := DS.Fields[0] .FieldName; //retornar o
> campo chave
> end;
> end;
> Tabela := (DS as TTable).TableName) ; //retornar o nome da tabela
> end;
> end;
>
> ----- Mensagem original ----
> De: Jorge Ericsson <[EMAIL PROTECTED] <jericssonsup%40gmail.com>>
> Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> Enviadas: Quinta-feira, 10 de Abril de 2008 19:06:39
> Assunto: [delphi-br] URGENTE - Como retornar Campos Primário do DataSet
>
> Olá amigos Delphianos,
>
> Preciso enviar para minha tela de pesquisa os campos chaves e o nome da
> tabela de Datasource.
>
> Tentei o seguinte:
>
> procedure chamarLog(DS : Dataset);
> var Tabela : TTable;
> Campo: String;
> begin
> if (DS.State in [dsInsert, dsEdit) then
> begin
> Campo := DS.Fields[0] .FieldName; //retornar o campo chave
> Tabela := (DS as TTable).TableName) ; //retornar o nome da tabela
> end;
> end;
>
> Só que dessa forma o o campo chave poderá ser mais de um e poderá estar em
> qq posição da tabela.
>
> Alguém poderia ajudar-me nesse problema ?
>
> Agradeço,
>
> Jorge Ericsson S. Pinheiro
> Analista/Projetista de Sistemas
> Ericsson Sistemas e Soluções
> http://www.jericsso n.com.br
> 61 9227.4785 / 3967.6172
> Brasília - DF
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
> <!--
>
> #ygrp-mkp{
> border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px
> 14px;}
> #ygrp-mkp hr{
> border:1px solid #d8d8d8;}
> #ygrp-mkp #hd{
> color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px
> 0px;}
> #ygrp-mkp #ads{
> margin-bottom:10px;}
> #ygrp-mkp .ad{
> padding:0 0;}
> #ygrp-mkp .ad a{
> color:#0000ff;text-decoration:none;}
> -->
>
> <!--
>
> #ygrp-sponsor #ygrp-lc{
> font-family:Arial;}
> #ygrp-sponsor #ygrp-lc #hd{
> margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
> #ygrp-sponsor #ygrp-lc .ad{
> margin-bottom:10px;padding:0 0;}
> -->
>
> <!--
>
> #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean,
> sans-serif;}
> #ygrp-mlmsg table {font-size:inherit;font:100%;}
> #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean,
> sans-serif;}
> #ygrp-mlmsg pre, code {font:115% monospace;}
> #ygrp-mlmsg * {line-height:1.22em;}
> #ygrp-text{
> font-family:Georgia;
> }
> #ygrp-text p{
> margin:0 0 1em 0;}
> #ygrp-tpmsgs{
> font-family:Arial;
> clear:both;}
> #ygrp-vitnav{
> padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
> #ygrp-vitnav a{
> padding:0 1px;}
> #ygrp-actbar{
> clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
> #ygrp-actbar .left{
> float:left;white-space:nowrap;}
> .bld{font-weight:bold;}
> #ygrp-grft{
> font-family:Verdana;font-size:77%;padding:15px 0;}
> #ygrp-ft{
> font-family:verdana;font-size:77%;border-top:1px solid #666;
> padding:5px 0;
> }
> #ygrp-mlmsg #logo{
> padding-bottom:10px;}
>
> #ygrp-reco {
> margin-bottom:20px;padding:0px;}
> #ygrp-reco #reco-head {
> font-weight:bold;color:#ff7900;}
>
> #reco-grpname{
> font-weight:bold;margin-top:10px;}
> #reco-category{
> font-size:77%;}
> #reco-desc{
> font-size:77%;}
>
> #ygrp-vital{
> background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
> #ygrp-vital #vithd{
>
> font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
> #ygrp-vital ul{
> padding:0;margin:2px 0;}
> #ygrp-vital ul li{
> list-style-type:none;clear:both;border:1px solid #e0ecee;
> }
> #ygrp-vital ul li .ct{
>
> font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
> #ygrp-vital ul li .cat{
> font-weight:bold;}
> #ygrp-vital a{
> text-decoration:none;}
>
> #ygrp-vital a:hover{
> text-decoration:underline;}
>
> #ygrp-sponsor #hd{
> color:#999;font-size:77%;}
> #ygrp-sponsor #ov{
> padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
> #ygrp-sponsor #ov ul{
> padding:0 0 0 8px;margin:0;}
> #ygrp-sponsor #ov li{
> list-style-type:square;padding:6px 0;font-size:77%;}
> #ygrp-sponsor #ov li a{
> text-decoration:none;font-size:130%;}
> #ygrp-sponsor #nc{
> background-color:#eee;margin-bottom:20px;padding:0 8px;}
> #ygrp-sponsor .ad{
> padding:8px 0;}
> #ygrp-sponsor .ad #hd1{
>
> font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
> #ygrp-sponsor .ad a{
> text-decoration:none;}
> #ygrp-sponsor .ad a:hover{
> text-decoration:underline;}
> #ygrp-sponsor .ad p{
> margin:0;}
> o{font-size:0;}
> .MsoNormal{
> margin:0 0 0 0;}
> #ygrp-text tt{
> font-size:120%;}
> blockquote{margin:0 0 0 4px;}
> .replbq{margin:4;}
> -->
>
>
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> http://br.mail.yahoo.com/
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Jorge Ericsson S. Pinheiro
Analista/Projetista de Sistemas
Ericsson Sistemas e Soluções
http://www.jericsson.com.br
61 9227.4785 / 3967.6172
Brasília - DF


[As partes desta mensagem que não continham texto foram removidas]

Responder a