Q&A

  • 레포트의 SubDetail 문제입니다....
잘은 모르지만 SubDetail밴드를 쓰는건 Query가 두개일때 쓰는게 맞나요 ...전 그거 땜에 쓰거덩요...근데 하나는 연결이 되는데 하나는 연결이 안돼서 미리 보기 에서 값이 나오질 않습니다.

밑에 소스에 Qry_jagi, Qry_jagi2 가 각각의 쿼리고 그놈들은 H_CR03F라는 폼에 있거덩요..

소스에서 연결을 한게 아니라 폼상에서 object inspector에서 연결을 했구요...

연결은 수십번 확인을 했습니다..뭔가 다른 복병이 있는거 같은데...

이건 레포트의 프린터 전 이벤트에만 줬거덩요....제가 첨이라 책에두 자료가 별로 없구 분명 다른 이벤트에서 뭔가를 해야 할 거 같은데...

고수님들 제발 부탁드립니다...참고로 밴드는 detail밴드 및에 당근 subdetail이 있겠죠..(쿼리가 너무 길어서 임의로 넣었습니다. 또 조인을 절대 쓸수 없는경우입니다.)

레포트의 결과는 이렇게 뿌려 집니다...너무 복잡하다 생각치 마시구 좀 도와 주세용)

이름 번호 양수 양도

홍길동(Qry_jagi) 1 10000(Qry_jagi)

허준(Qry_jagi2) 2 10000(Qry_jagi2)





procedure TH_CQ03F.QuickRep1BeforePrint(Sender: TCustomQuickRep;

var PrintReport: Boolean);

var i , j : Integer;

begin

QR_Title.caption := '레포트 이름';

Qr_date.Caption := Copy(H_CR03F.MED_START.Text,0,4)+'/'+Copy(H_CR03F.MED_START.Text,5,2)+'/'+Copy(H_CR03F.MED_START.Text,7,2);

QR_DATE2.Caption := Copy(H_CR03F.MED_END.Text,0,4)+'/'+Copy(H_CR03F.MED_END.Text,5,2)+'/'+Copy(H_CR03F.MED_END.Text,7,2);



H_CR03F.Qry_jagi.Close;

With H_CR03F.Qry_jagi do

begin

Sql.Add(' select * form aaa');

end;//end of With

Try

H_CR03F.Qry_jagi.Open;

H_CR03F.Stringgrid1.RowCount := H_CR03F.Qry_jagi.RecordCount+1;

H_CR03F.Qry_jagi.First;

i := 1;

while not H_CR03F.Qry_jagi.Eof do

begin

sendno := H_CR03F.Qry_jagi.Fields[0].AsString; //양도합의 KSEQ

Nal := H_CR03F.Qry_jagi.Fields[1].AsString; //KEY1

H_CR03F.Qry_jagi2.Close;

With H_CR03F.Qry_jagi2 do

begin

Sql.Clear;

Sql.Add(' Select * from bbb ');

end;//end of with

H_CR03F.Qry_jagi2.Open;

if H_CR03F.Qry_jagi2.RecordCount > 0 then

begin

DO_CNT := H_CR03F.Qry_jagi.Fields[3].AsInteger;

DO_CURR := H_CR03F.Qry_jagi.Fields[4].AsInteger;

SU_CNT := H_CR03F.Qry_jagi2.Fields[2].AsInteger;

SU_CURR := H_CR03F.Qry_jagi2.Fields[3].AsInteger;

Nal2 := H_CR03F.Qry_jagi2.Fields[0].AsString;





H_CR03F.StringGrid1.Cells[0, i] := Copy(nal,0,4)+'/'+Copy(nal,5,2)+'/'+Copy(nal,7,2);

H_CR03F.StringGrid1.Cells[1, i] := H_CR03F.Qry_jagi.Fields[2].AsString;//상호명

H_CR03F.StringGrid1.Cells[2, i] := FormatCurr('#,0',DO_CNT);//좌수

H_CR03F.StringGrid1.Cells[3, i] := FormatCurr('#,0',DO_CURR);//금액









//양수의 결과에 의해서 뿌려진다

H_CR03F.StringGrid1.Cells[0, i+1] := Copy(nal2,0,4)+'/'+Copy(nal2,5,2)+'/'+Copy(nal2,7,2);//날짜

H_CR03F.StringGrid1.Cells[1, i+1] := H_CR03F.Qry_jagi2.Fields[1].AsString;//조합원명

H_CR03F.StringGrid1.Cells[2, i+1] := FormatCurr('#,0', SU_CNT);//좌수

H_CR03F.StringGrid1.Cells[4, i+1] := ForMatCurr('#,0', SU_CURR);//좌수 i := i + 2;

end;//end of if

H_CR03F.Qry_jagi.Next;

end;//end of while

except

//Close; Exit;

showmessage('여기로 오냐db');

end;//end of Try(Query)



0  COMMENTS