Locate em parte de um campo tipo Date
03/04/2006
0
Essa está meio difícil...
Necessito fazer uma busca em uma chave composta por três campos, sendo que um deles é do tipo Date, em uma tabela do ACCESS 2000.
O problema, porém, é que necessito fazer a busca por parte da data (somente pelo mês). O LOCATE não está aceitando algo do tipo:
dm.tbRep.Locate(´ + FormatDateTime(´mm´,Data) + ´;Cod_Aluno;Cod_Tipo´,varArrayOf([wMes,CodigoAlu,2]),[]);
As mensagens:
Not enough actual parameters; (cursor parando sobre o parâmetro ´mm´
Unterminated string;
Alguém tem alguma idéia de como fazer esta busca ?
Grato.
[quote:bebd3cbf2f=´Moderação´][b:bebd3cbf2f][color=blue:bebd3cbf2f]Título do tópico editado por Vinicius2K:[/color:bebd3cbf2f][/b:bebd3cbf2f]
[b:bebd3cbf2f][color=red:bebd3cbf2f][list:bebd3cbf2f][*:bebd3cbf2f]Título inteiramente em maiúsculas: ´LOCATE EM PARTE DE UM CAMPO DO TIPO DATE´[/list:u:bebd3cbf2f][/color:bebd3cbf2f][/b:bebd3cbf2f]
Peço que leia atentamente as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] e se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, envie-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].[/quote:bebd3cbf2f]
Adalberto
Posts
03/04/2006
Rjun
04/04/2006
Silvio Ribeiro
Realmente com locate nao dá.
Com while, dependendo do tamanho da tabela tb fica inviável. Usa uma query.
Faz um select puxando os dados da tabela q vc ta querendo, e no where vc coloca os campos q vc quer achar no locate:
select * from nome_da_tabela where cod_aluno=:aluno and cod_tipo=:tipo and MONTH(data)=:mes;
ai eh so passar os parametros pra query assim:
// levando em conta q vc ta usando a paleta ado... query1.close; query1.params.parambyname(´ALUNO´).Value := edtAlunoCod.text; query1.params.parambyname(´TIPO´).Value := edtTipoCOd.text; query1.params.parambyname(´MES´).Value := edtMes.text; query1.open;
Tenta ai. qq coisa retorna o post! ;D
abraçços
Silvio Ribeiro
Joao Pessoa - PB[/code]
04/04/2006
Adalberto
Com a query funcionou legal...
[b:ac9fbb33d1]Obrigado.[/b:ac9fbb33d1]
[]´s.
Adalberto
04/04/2006
Acacio
nele tem a variável Accept
ali voce pode colocar a parte da data que deseja
exemplo
coloque a propriedade filtered como true;
Accept := pos(´11/11´,query.fieldbyname(campodata.text) > 0
Clique aqui para fazer login e interagir na Comunidade :)