2013-06-13 3 views
0

검색 내가 가진 델파이 7. 나는 내가 adotable 및 데이터 소스를 사용하여 Excel로 연결 한하는 DBGrid를DBGrid를

내부 데이터를 검색 할

.

나는 인터넷을 검색 만 새로운 엑셀 문서를 작성하는 방법 또는 엑셀 문서

을 연결하는 방법을 발견하지만 Excel이되면 나는 모든 행

답변

2

을 통해 첫 번째 열을 검색 할 한 ADOTable에로드되면 다른 일반 테이블과 같습니다.

격자에서 검색하지 마십시오. 대신 AdoTable의 Locate 메소드를 사용하십시오.

//or using [loCaseInsensitive,loPartialKey] options 
ADOTable1.Locate('FieldName', 'Value', []); 

당신은 원래의 위치로 돌아갑니다 당신이 필요로하는 값을 찾을 때 그래픽으로 상쾌한 격자 및 책갈피를 피하기 위해 DisableControlsEnableControls을 사용할 수 있습니다.

HTH

+0

아주 많이 조언은 매우 helpfull했다 주셔서 감사합니다 – user2482023

+2

@ user2482023, 다른 사람들이 귀하의 질문이 해결되었다는 것을 알 수 있도록 답변을 수락하는 데 도움이 되었다면 같은 해결책을 사용할 수 있습니다. [this] (http://meta.stackexchange.com/questions/5234/how-does)를 확인하십시오. 답변 - 수락 - 답변)을 참조하십시오. –

0

예, 위치 찾기가 더 좋습니다. DBGrid가 ClientDataSet 또는 Query에 연결되어 있으면 DataSource에서 Locate를 사용하십시오.

MyClientDataSet.Locate (... 자세한 내용은 귀하의 델파이 코드, 찾아 F1 당신은 델파이 내부에 도움을 열고 단어를 선택합니다.

0
while not adoquery1.Eof do 
begin 
    for I := 0 to adoquery1.FieldCount-1 do 
    if (enhdbgrid1.Fields[i].value<>null) and (pos(uppercase(edit1.Text),uppercase(enhdbgrid1.Fields[i].Value))>0) then 
    begin 
    Found := True; 
    enhDBGrid1.SelectedField := enhdbgrid1.Fields[i]; 
    Break; 
    end; 
    if found then break; 
    adoquery1.Next; 
end;