2010-05-29 3 views
0

2 개의 Tadoquery로 작업하고 Tadoquery (마스터) Tadotable (세부 사항)처럼 작동 할 수있는 방법 !! 마스터/세부 방법은 VCL 데이터 세트와 함께 자동으로 처리 된 고대 역사 (즉, 5 년 전)에서 말하기2 TADOQUERY 마스터 및 세부 테이블 필터 삽입

var tempvar : Variant;    
    begin 
    Edit1.text:=Ano.value; 
    Begin 
     with Ano_planeamento do //Laço de consulta por codigo 
     Begin 
     Close;  
     SQL.Clear; 
     SQL.Add('SELECT * from planeamento_ano'); 
     SQL.Add('Where ano LIKE ''%'+Edit1.text+'%'''); 
     Open; 
     end; 
    end; 
    tempvar := Ano_planeamento.fieldbyname('ano').value; 
    planeamento.close; 
    if tempvar <> null then 
    begin 
     planeamento.SQL.Clear; 
     planeamento.SQL.add('SELECT * FROM planeamento'); 
     planeamento.SQL.add(' WHERE ano = '); 
     planeamento.SQL.add('''' + tempvar + ''''); 
     // here i nead to filter by ....   
     planeamento.open; 

답변

2

세부 사항에 당신은 데이터 소스에 설정하면 그러면 마스터에서 마스터의 필드와 일치하는 매개 변수를 사용하여 시도 할 수 있습니다. 따라서 마스터에 다음과 같은 정보가있는 경우 SELECT field1, field2, field3 FROM table SELECT d_field1, d_field2, d_field3 FROM detail WHERE some_field=:field1 'field1'매개 변수의 이름이 마스터에서 반환 된 필드 (field1)와 같아야합니다.