Posicionar o ponteiro num registro da tabela

16/05/2008

1

[color=red:9840844d90]Título editado por Massuda Por favor, não use apenas letras maiúsculas no título/texto. No caso de reincidência, seus tópicos poderão vir a ser bloqueados. Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:9840844d90]
Olá Amigos, Bom Dia
Cá estou pela segunda vez, pedido ajufa de voces;
é o seguinte:

Tenho uma tabela assim:
Mes ano salario
01 2005 300
02 2005 500
03 2005 600

A tabela criada no BD ACESS, deveria estar indexada pelo Ano e Mes

Criei uma variavel assim: AnoMes:=´200502´

codigo para procura:

dm.tbindices.locate(tbindices.fields[3], fieldname, AnoMes, []);

So que nao dá certo..... se procurar pelo ano, ele me joga no mes de janeiro, mas eu quero é fevereiro....

O que estou fazendo de errado?

Por favor, me deem essa dica.


Algu


Responder

Posts

16/05/2008

Rodc

Dê uma olhada no help da função locate que se não me engano você pode fazer a pesquisa de dois campos em apenas um locate.


Responder

16/05/2008

Paulo

Primeiro, dependendo do select que você fez, o field[3] pode não ser o campo que vc quer.
Segundo, essa variável que você fez carregando [color=red:840dbb319a]200502[/color:840dbb319a], esse valor no seu banco corresponde exatamente ao mes de Fevereiro?
A idéia de procurar com o Locate, seria usar, o campo Ano e Mes do seu banco(Se é que está assim). Para se usar um Locate usando mais de um campo faça assim:
dm.tbindices.locate(tbindices.fieldbyname(´Ano´).AsString;tbindices.fieldbyname(´Mes´).AsString, VarArrayOf(´ValorAno,ValorMes´,[]);



Responder

16/05/2008

Paulo

Corrigindo a minha resposta, faltou um Parêntesis para fechar o VarArrayOf:
dm.tbindices.locate(tbindices.fieldbyname(´Ano´).AsString;tbindices.fieldbyname(´Mes´).AsString, VarArrayOf(´ValorAno,ValorMes´),[]);



Responder

21/05/2008

Jotas

Ola Paulo
Bom dia

Nao deu certo, porque eu utilizo o BD Acess.

Entao fui na dica do Rodc, e consulçtei o Help e fiz assim

var
vmes,vano: string;
dm.TbIndices.Locate(´ano;mes´, VarArrayOf ([vano,vmes]),[lopartialKey]);


att.
Jorge Ferreira


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira