-> 제가 잘 몰라서요...부탁을
-> 지금 처리해야되는 부분인데 잘안되더군요..
< 순서 >
Query문 ......(Query1)
// select a.box1, a.box2, b.box1, b.box2
// from box_a a, box_b b
// where a.order=b.order
// 자료는 모두 5개 이중 중복된 자료는 없슴
-> Query 결과값
a.box1 a.box2 b.box1 b.box2
------------------------------
1 111 a 1a
2 222 b 2a
3 333 c 3a
4 444 d 4a
5 555 e 5a
while(aset) 문 또는 For문
{
// DBGrid내의 셀에 위 Query문의 원하는 필드값을 한행씩 증가시켜 넣어줌
// 이부부분에서 a,b,c,d를 넣어주고
DBGrid1...('a.box1').... := Query1.FieldByName('a.Box1').AsString;
DBGrid1...('a.box2').... := Query1.FieldByName('a.Box2').AsString;
DBGrid1...('b.box1').... := Query1.FieldByName('b.Box1').AsString;
DBGrid1...('b.box2').... := Query1.FieldByName('b.Box2').AsString;
// 이 부분에서 DBGrid에 자료를 넣어주는 방법
// Query문 ... <첫번째 Query문에서 a.box1의 값을 가져와서>
select name, code from box_c where box_c='xxx'
// 이 부분에서 xxx는 첫번째 Query문에서 가져온 a.box1의 값
// 이 부분을 처리하는 목적은 첫번째 쿼리문(box_a table)에서 가져온
// a.box1의 값은 하나지만
// 두번째 쿼리문(box_c table)에서 가져온 값은 두개이상일수가 있으므로
-> Query 결과값
name code (a.box1)
--------------------------
aa 111 1
bb 222 1
cc 333 2
dd 444 3
ee 555 4
ff 666 4
gg 777 4
hh 888 5
// 이부분에서 a.box1이 중복된 자료는
// 하나의 셀안에 하나의 스트링값으로 넘겨주면되고,
// 중복되지 않은 자료는 그값만 넘겨주면 됩니다.
name code (a.box1)
--------------------------
aabb 111222 1
cc 333 2
dd 444 3
eeffgg 555666777 4
hh 888 5
// 위 자료를 처리하는 부분
while(bset) 문 또는 For문
{
// 조건문이 들어가야 되겠고,,
DBGrid1...('name').... := Query1.FieldByName('a.Box1').AsString;
DBGrid1...('code').... := Query1.FieldByName('a.Box2').AsString;
}
// 윗부분이 끝나고 나면 나머지 필드들을 DBGrid1에 넣어주고 하나의 Row값이 나옴
a.box1 a.box2 b.box1 b.box2 name code
-------------------------------------------------
1 111 a 1a aabb 111222
}
윗부분의 루프가 다끝나고 나면 전체데이타가 출력됨
a.box1 a.box2 b.box1 b.box2 name code
----------------------------------------------------
1 111 a 1a aabb 111222
2 222 b 2a cc 333
3 333 c 3a dd 444
4 444 d 4a eeffgg 555666777
5 555 e 5a hh 888
// 위 루프상으로는 처리가 가능한것 같은데
// 구현이 잘안되더라구요..
// 부탁을........*.*