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]