Fórum Limite de registros no ADO com Access #438186
28/03/2013
0
Tenho uma tabela em Access (2010), onde faço um filtro (select campo from tabela wehre campo = condicao), no Access sei que com essa condição existem 126.000 registros, mas no Delphi (2010) o AdoQuery só me mostra 65.530 registros.
Observei também que se tentar copiar do Access e colar no Excel (2010) só aceita copiar os 65.530 registros.
Welder.
Curtir tópico
+ 0Posts
28/03/2013
Bruno Leandro
Gostei + 0
19/04/2013
Welder.
Boa tarde.
Então, fazendo um select * from tabela só apresenta os mesmos 65.530
Gostei + 0
05/05/2013
Welder.
Boa tarde.
Então, fazendo um select * from tabela só apresenta os mesmos 65.530
Aparentemente o problema está no retorno do RecordCount, pois a grid está exibindo quase todos registros existentes na tabela no banco access, exceto os dois últimos.
Gostei + 0
06/05/2013
Leonardo Xavier
var
x:integer;
comando:string;
begin
if JvSpinEdit1.Text='0' then begin
ShowMessage('Você Selecionou 0 Registros, esta consulta não pod'+
'e continuar!'+#13#10+'Selecione um valor >1 para ter uma pesquisa válida!');
end else begin
comando:='';
comando:='select TOP '+JvSpinEdit1.Text+' *from sua_tabela where campo_a=:D2';
with DB.malasfechadas do begin
Active:=false;
sql.Clear;
sql.Add(comando+' and enviado is null');
Parameters.ParamByName('D2').Value:=DBLookupComboBox1.Text;
prepared:=true;
Active:=true;
end;
Label3.Caption:=inttostr(DB.malasfechadas.RecordCount);
end;
Experimente fazer assim que garanto 100%.
Gostei + 0
06/05/2013
Welder.
var
x:integer;
comando:string;
begin
if JvSpinEdit1.Text='0' then begin
ShowMessage('Você Selecionou 0 Registros, esta consulta não pod'+
'e continuar!'+#13#10+'Selecione um valor >1 para ter uma pesquisa válida!');
end else begin
comando:='';
comando:='select TOP '+JvSpinEdit1.Text+' *from sua_tabela where campo_a=:D2';
with DB.malasfechadas do begin
Active:=false;
sql.Clear;
sql.Add(comando+' and enviado is null');
Parameters.ParamByName('D2').Value:=DBLookupComboBox1.Text;
prepared:=true;
Active:=true;
end;
Label3.Caption:=inttostr(DB.malasfechadas.RecordCount);
end;
Experimente fazer assim que garanto 100%.
Dessa maneira trouxe mais do que 65530 registros?
Gostei + 0
06/05/2013
Leonardo Xavier
Gostei + 0
06/05/2013
Welder.
bom usei sua a ideia. Um pouco diferente claro. no meu caso tive que colocar opções de colocar o order by em ordem crescente e decrescente. Tipo: Select top StrToInt(edit.text ) campos from tabela where condição order by campo ASC.
Mas se alguém souber porque o AdoQuery.RecordCout só conta os 65530 primeiros registros e se tiver como contornar, deixa ai a dica.
Gostei + 0
07/05/2013
Welder.
Com Select TOP campo1, campo2, campo3, etc from tabela where condicao, trouxe todos registros no adoquery.recordcount
Fica ai a dica.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)