Q&A

  • 그리드에서 값을 합쳐주려고 합니다..
                                                                                
month   code   amount                                                          
01       A01    1500                                                          
02       A01    1500                                                          
03       A01    1500                                                          
03       A01    3000                                                          
                                                                                
                                                                                
쿼리문의 결과가 위와 같습니다..                                                
이걸 그리드에 뿌려줄때...                                                      
month 코드가 같을때 amount 의 값들을 더해주고 싶습니다..                      
                                                                                
month   code   amount                                                          
01       A01    1500                                                          
02       A01    1500                                                          
03       A01    4500                                                          
                                                                                
                                                                                
그리드에는 위처럼 나오게요..                                                  
쿼리문으로 할수도 있겠지만..상황이 꼭 그리드에서 값을 합쳐줘야 하거든요..      
꼭 답해주세요~~~~                                                              
                                                                                
3  COMMENTS
  • Profile
    KDDG_ZZOM 2003.04.02 06:08
    그리드가 디비그리드인가요?
    디비그리드면 기본적으로 제공되는 기능이 없습니다...
    쿼리문으로 해결하면 안되면 무식하지만 코딩으로 구현하시는것도 좋을것같네요...

    이럴땐 파워빌더의 막강 데이타윈도우가 그리울때가 있죠...^^

    즐프하세요...

  • Profile
    초보 2003.04.02 06:15
    ㅠ.ㅠ..
    죄송한데요..
    그리드는 AdvStringGrid인데요...
    제가 워낙 초보라 코딩으로 구현하는 방법이 알고 싶어서 올렸거든요..
    이런 제가 넘 한심스럽지만..
    꼬옥..다시 봐주시고..
    도와주세요...ㅠ.ㅠ...


    \\\\\\\\\\\\\\\\\
  • Profile
    KDDG_ZZOM 2003.04.02 18:44
    AdvStringGrid이 그리드는 제가 사용한적이 없어서...^^

    그냥... 쿼리를 날렸을때 10개의 로우가 온다고 하면
    루프문으로 처음부터 끝까지 돌리면서 처리하면 될것같네요...
    Query1.First;
    i := 1;

    month := Query1.FieldByName('month').AsString;
    code  :=  Query1.FieldByName('code').AsString;
    repeat
      if (month = Query1.FieldByName('month').AsString) and
        (code =  Query1.FieldByName('code').AsString) then
      begin
        sum := sum + Query1.FieldByName('amount').AsFloat;
      
        month := Query1.FieldByName('month').AsString;
        code  :=  Query1.FieldByName('code').AsString;

        continue;
      end;

      advGrid.cells[1,i] := Query1.FieldByName('month').AsString;
      advGrid.cells[2,i] := Query1.FieldByName('code').AsString;
      advGrid.cells[3,i] := sum;
      sum := 0;
      Inc(i)
      Query1.Next;
    until Query1.EOF = True;

    대충 이런식으로 하시면...

    근데 죄송한데요... 제가 컴파일해서 돌려보지는 못했어요...
    혹 오류가 나오더라도 이해를...^^

    그럼 즐프하세요...