잘은 모르지만 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)