Q&A

  • 제발 소스 좀 보고 뭐가 잘못됐는지 알려주세요..ㅠㅠ
퀵리포트를 사용해서 출력을 할려고 하는데요..
도대체 뭐가 잘못된건지 자꾸 NOT FOUND라고 그러네요..
소스는요..

procedure TFrmBuyPrint.GetPrintData(prFlag : Boolean);
var
    SQLString,buyingDate : String;
begin
    BuyingDate := FormatDateTime('YYYY-MM-DD',PicBuyingDate.Date);
    QlblDate.Caption := buyingDate;
    QlblToMart.Caption := Cbobuy.Text;
    with Query do
    begin
        Close;
        SQL.Clear;
        SQLString :=             'Select a.Item_Code,b.Item_Name,a.Buying_Date,a.Qty,a.Item_Price, d.Tot_Price,c.Buy_Name';
            SQLString := SQLString + ' from tb_Layin a, Bas_Item b, Bas_Buy c, tb_buy_ledger d';
            SQLString := SQLString + ' where a.Item_Code=b.Item_Code and a.Buyer_Code=:c.Buy_Code and Buying_Date=:Buying_Date';

        SQL.Add(SQLString);
        Parameters.ParamByName('BUYING_DATE').Value := BuyingDate;
        Parameters.ParamByName('BUY_NAME').Value := Cbobuycode.Text;
        Open;
        QRExpr1.Expression := 'SUM(QTY)';
        QRExpr2.Expression := 'SUM(ITEM_PRICE)';
        QRExpr3.Expression := 'SUM(ITEM_PRICE * QTY)';
    end;
    Code.DataField := 'ITEM_CODE';
    ItemName.DataField := 'ITEM_NAME';
    Qty.DataField := 'QTY';
    EnterPrice.DataField := 'Item_Price';

    Code.DataSet.FieldByName('ITEM_CODE').AsString;
    ItemName.DataSet.FieldByName('Item_NAME').AsString;
    Qty.DataSet.FieldByName('Qty').AsString;
    EnterPrice.DataSet.FieldByName('Item_Price').AsString;

    If PrFlag then
        QuickRep1.Print
    else
        QuickRep1.Preview;

end;

이렇거든요..
저위에 보면
Parameters.ParamByName('BUY_NAME').Value := Cbobuycode.Text;
이부분에서 에러가 나거든요..NOT FOUND..라고..
그래서 이부분을 주석처리 했더니만..
밑에..
    Code.DataSet.FieldByName('ITEM_CODE').AsString;
    ItemName.DataSet.FieldByName('Item_NAME').AsString;
    Qty.DataSet.FieldByName('Qty').AsString;
    EnterPrice.DataSet.FieldByName('Item_Price').AsString;

이부분들이 다 NOTFOUND 라고 또 그러네요..
다 주석처리하면 폼만 달랑 나와요..ㅠㅠ
아거거..로직상의 에러인가요?
분명이 데이타는 다 들어가 있거든요..
테이블을 다 확인해봤는데... 제가 보기엔 이상이 없어요..
제발 아시는 분 답변 좀 해주세요..
그리고..콤보박스에 CHANG 이벤트를 줬더니
INVALID PROPERTY VALUE 라고 에러가 나는데요..
왜 이러는걸까요? 다른폼에선 잘 되거든요..
알려주세요~~~T^T
4  COMMENTS
  • Profile
    강정구 2002.11.02 20:27
    procedure TFrmBuyPrint.GetPrintData(prFlag : Boolean);
    var
       SQLString,buyingDate : String;//<- SQLString이건 필요 없을꺼 같은데요
    begin
        BuyingDate := FormatDateTime('YYYY-MM-DD',PicBuyingDate.Date);
        QlblDate.Caption := buyingDate;
        QlblToMart.Caption := Cbobuy.Text;
        with Query do
        begin
            Close;
    //        SQL.Clear;   //<-- sql.text 라고 하면 clear 은 필요없습니다
            SQL.text :=  'Select a.Item_Code,b.Item_Name,a.Buying_Date'
                         ',a.Qty,a.Item_Price, d.Tot_Price,c.Buy_Name '+
                     ' from tb_Layin a, Bas_Item b, Bas_Buy c, tb_buy_ledger d '+
                         ' where a.Item_Code=b.Item_Code '+
                         ' and a.Buyer_Code=:c.Buy_Code  '+
                         ' and Buying_Date=:Buying_Date'  ;
            ParamByName('c.Buy_Code').Value  := Cbobuycode.Text;
            //  --여기좀이상하네요
            //일단은 파라미터를 선언 했는데 그럼 조인은
            // 관계가 없어 지는데요......
            // c.Buy_Code 는 c 테이블의 Buy_Code 와 같은것을
            // 올리실꺼라면  :          을 빼시고요
            //아니라면 :Buy_Code 이렇게 해주시고
            //ParamByName('Buy_Code').Value    := Cbobuycode.Text;
            //이렇게 해주심 되고요
            ParamByName('Buying_Date').Value := BuyingDate;
            Open;
            QRExpr1.Expression := 'SUM(QTY)';        
            QRExpr2.Expression := 'SUM(ITEM_PRICE)';
            QRExpr3.Expression := 'SUM(ITEM_PRICE * QTY)';
        end; //여기까지가 쿼리 수정입니다 더이상은........
             // 이것보고는 실력이 없어서 잘모르겠구요
        Code.DataField := 'ITEM_CODE';
        ItemName.DataField := 'ITEM_NAME';
        Qty.DataField := 'QTY';
        EnterPrice.DataField := 'Item_Price';

        Code.DataSet.FieldByName('ITEM_CODE').AsString;
        ItemName.DataSet.FieldByName('Item_NAME').AsString;
        Qty.DataSet.FieldByName('Qty').AsString;
        EnterPrice.DataSet.FieldByName('Item_Price').AsString;

        If PrFlag then
            QuickRep1.Print
        else
            QuickRep1.Preview;

    end;

  • Profile
    머슴 2002.11.02 19:56

      Parameters.ParamByName('BUY_NAME').Value := Cbobuycode.Text;

      에서 에러가 나는 이유는  쿼리에 BUY_NAME  이라는 파라미터가

      없어서 그렇습니다.. (:BUY_NAME)

      동적으로 파라미터 값을 받기 위해서 :BUY_NAME 가 선언 되어야

      하는데 선언이 안되어 있군요..

      ' C.Buy_Name = :Buy_Name '    를 추가 하셔야 할것 같습니다.
      
  • Profile
    샤리 2002.11.02 20:25
    그런데요..
    그럼 밑에 에러나는

        Code.DataSet.FieldByName('ITEM_CODE').AsString;
        ItemName.DataSet.FieldByName('Item_NAME').AsString;
        Qty.DataSet.FieldByName('Qty').AsString;
        EnterPrice.DataSet.FieldByName('Item_Price').AsString;

    이부분도 같은 방법으로 하면 되나요?
    그렇게 했는데..안되더라구요..
    a.itemcode=:itemcode 이런식으로 해줬는데
    계속 에러가 나요..not found라고..ㅜㅡ
    이건 어떻게해야 하죠?
    아시면 좀 알려주세요~

  • Profile
    DelChoBo 2002.11.02 23:21
    앞에 에러는 머슴님께서 답변해 주신게 맞는거 같고...


    이부분의 코드들은 에러를 떠나서 코딩상 전혀 필요없는 코드 같은데요..
    필드에 어떤 값을 대입하는 것도 아니고.. 필드로 부터 값을 가져와서
    다른 곳에 대입이나 사용하는 것도 아니고...
    그냥 위 4줄은 별 용도가 없다면 주석처리나 지우시는게... ^^

    흠냐 간만에 하는 답변이 무지로 인해 역시나 허접이... -_-!
    그럼 이만..
    후다닥~~~~~~~~!


    • 정문도
    • 2002.11.04 22:51
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김병곤
      2002.11.05 01:36
      완전히 델파이를 모르시는 분이라면 님에게는 맞지 않는 책을 구입하신겁니다. 님이 산 책은 중급서입니다...
    • 김지엽
      2002.11.04 22:59
      저도 뭐, 고수는 아니구. 특히 한참동안 델파이가 아닌 다른 언어만 사용해와서 잘 모르긴 합니다만.. 처음...
    • 정문도
      2002.11.04 23:09
      이렇게 빨이 답변글이 올라올줄 몰랐습니다. 우선 말씀감사드리구여.. 제가 산책이 초보자가 보기에 맞는...
    • 김대훈
      2002.11.05 03:20
      님께서 구입하신책을 그냥 보심이 좋을듯합니다. 그리고 보면서 무조건 실습... 그리고 델파이 헬프도 ...
    • 김형규
    • 2002.11.04 21:30
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 우소
      2002.11.05 00:02
      델파이를 시작 하자 마자 그런건 가요 아님 전에 짜던 프로그램 화일을 열었을때 인가요? 왜 에러가 발생...
    • 김형규
      2002.11.05 00:16
      델파이를 실행하면 빈 프로젝트화면이 뜨잖아요 세로운 빈 프로젝트를 열때도 그렇구요. 기존의 프로...
    • 서광원
    • 2002.11.04 20:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 물고기나라
      2002.11.05 01:44
      전체 레코드수는 이미 알고 있는거니깐 페이지번호 바로 옆에다 레이블하나 갖다놓구 '전체 레코...
    • 박준영
    • 2002.11.04 19:26
    • 0 COMMENTS
    • /
    • 0 LIKES
    • KDDG_hyun
    • 2002.11.04 19:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 콤보
      2002.12.16 21:12
      Delphi 7 has been released and has the usual QuickReport standard bundled with it. If the compon...
    • 김진천
    • 2002.11.04 19:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이승민
      2002.11.04 21:41
      모 제가 허접스럽게 말씀드리는 것일지 모르지만 만일 TCP소켓을 사용하셨다면 한번에 보넬수 있는 바이트 ...
    • 김해성
    • 2002.11.04 18:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 물고기나라
      2002.11.05 01:54
      OnClick 코딩 부분에서 이벤트 발생시 이미 해당 레코드로 이동했으니깐 해당 쿼리컴포너트나 테이블의 ...
    • 이태원
    • 2002.11.04 12:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 씨나락
      2002.11.04 23:38
      컴포넌트가 없어서 무시하구 열어서 대충 소스를 보았습니다. 제가 알기로는 MDI폼을 구현할려면.. ...
    • 이태원
      2002.11.05 01:42
      다시 말씀 드리지만 MDI 풀어 놓았습니다. child 폼으로 설정 해 놓지 않았습니다. 아마 MDI 가 안되...
    • 유성욱
    • 2002.11.04 10:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 양익호
      2002.11.06 20:59
      예전에 한글과 영문 특수키로 조합된 화일의 스트로크를 계산하다가 사용한 함수인데 한번 확인해 보시기 ...
    • 박장용
      2002.11.04 20:30
      procedure TForm1.Button1Click(Sender: TObject); var   s :WideString; begin s := 'AB'; ...
    • 문현치
    • 2002.11.04 06:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KYH
      2002.11.04 11:36
      일단 작업하신 코드가 있으면 더 잘 답변드릴수 있을거 같네여.... 질문하신 내용으로 대충 감잡아...
    • 나정훈
    • 2002.11.03 10:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 나정훈
      2002.11.04 03:43
      한델 팁 게시판 874번이든가 초보자를 위한 동적생성이라는 제목검색을 하면 되군요. 감사합니다.
    • DelChoBo
    • 2002.11.03 00:38
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 아르스
    • 2002.11.02 23:17
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 밥팅민수
      2002.11.03 12:27
      지금도 있는지는 모르겠지만... 자체한글 라이브러리가 두 개 정도 있었습니다. 하나는 태극이고 하...
    • 김세형
      2002.11.04 00:04
      저는 TCriticalSection을 썼습니당~ ^^;; TCriticalSection형 전역변수를 생성한다음,,동기화 시키고자 ...
    • 이승민
    • 2002.11.02 19:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최은석
      2002.11.02 21:06
      당순히 커서모양을 바꾸시려고 하신다면..... 아래처럼 해보시죠... Screen.Cursor := crHelp; <-- ...
    • 이승민
      2002.11.02 21:39
      SetSystemCursor 를 사용해서 System의 Cursor를 바꾸려고 하거든요. 근데 VC에있는 OCR_HELP 가 없어요.
    • 샤리
    • 2002.11.02 19:26
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 강정구
      2002.11.02 20:27
      procedure TFrmBuyPrint.GetPrintData(prFlag : Boolean); var    SQLString,buyingDate : S...
    • 머슴
      2002.11.02 19:56
        Parameters.ParamByName('BUY_NAME').Value := Cbobuycode.Text;   에서 에러...
    • 샤리
      2002.11.02 20:25
      그런데요.. 그럼 밑에 에러나는     Code.DataSet.FieldByName('ITEM_CODE').AsSt...
    • DelChoBo
      2002.11.02 23:21
      앞에 에러는 머슴님께서 답변해 주신게 맞는거 같고... 이부분의 코드들은 에러를 떠나서 코딩상 전혀...
    • 윤정식
    • 2002.11.02 19:21
    • 0 COMMENTS
    • /
    • 0 LIKES