Q&A

  • 다시 한번 예문을 보아 주세요
이것이 제가 작성한 코딩입니다.

코딩의 의도는 serial,name 이 2개의 edit 상자의 번호와 같으면 다음의 주 메인 폼으로

넘기면서 name 옆에 있는 필드 kh의 내용을 참조하여 주 메인 폼의 두개의 combobox를

사용하지 못하게 하려는 것이었씁니다.

그런데 잘 안 되네요............".">>>>>>..

해답을 아시는 분들의 답변을 부탁드립니다.



예문입니다.>



procedure Toneform.openbuttonClick(Sender: TObject);



begin

with queryone do

begin

close;

sql.Clear;

sql.add('select serial, name, kh from usertable');

sql.add('where serial = ''' + trim(saedit.text) + ''' and name = '''+trim(nameedit.text) +''' ')

open;

end;



if not queryone.eof and (queryone.fieldbyname('kh').asstring = 'n') then

begin

oneform.hide;

input.yesnocombo.inabled :=false;<ㅡ 요것은 다음폼의 input(주 폼입니다.).yesnocombo.(<요넘이 주 폼의 그 놈입니다.).enabled :=false;

InPut.ShowModal;

oneform.Show;



이 코딩에서 뭐가 잘 못 되었을까요? 암호 폼에서 주 폼의 것을 그대로 섰더니 에러가

나더군요!! 암호폼에서 주폼의 콤퍼넌트를 인식하는 방법이 있을 까요!!

아님 다른 방법으로 주 폼의 에디트 박스나 콤퍼넌트를 권한에 따라 인식시기커나

인식 시키지 않는 방법이 있을 까요? 처음 답변주신 분의 것을 해보니 잘 안되더 군요?

다른 방법을 알고 계신 분이 계시면 꼭 답변 부탁드립니다.





1  COMMENTS
  • Profile
    이광형 2000.10.13 22:49


    쿼리의발행을이렇게 한번 해보세요

    with queryone do

    begin

    close;

    sql.Clear;

    sql.add('select serial, name, kh from usertable');

    sql.add('where serial = :serial and name = :name');

    parmabyname('serial').asstring := trim(saedit.text);

    parambyname('name').asstring := trim(nameedit.text);

    open;

    end;

    if queryone.recordcount = 0 then begin

    showmessage('등록되지 않은 유저입니다');

    exit;

    end;

    if queryone.fieldbyname('kh').asstring = 'n' then

    input.yesnocombo.enabled :=false;



    oneform.hide;

    InPut.ShowModal;

    oneform.Show;





    sql 문 안에서는 ' 이 아닌 "을 쓰는걸로 알고 있습니다. 따라서 아래의 코딩후에 혹시 에러가 안나는지??? sql에러...



    sql.add('where serial = "' + trim(saedit.text) + '" and name = "'+trim(nameedit.text) +'"');

    이렇게 쓰면 parambyname 을 안쓰셔도 될텐데...



    ''' 싱글쿼테이션 마크는 제가 안써봐서 모르겠네요 에러가 나는지 안나는지...





    delpo wrote:

    > 이것이 제가 작성한 코딩입니다.

    > 코딩의 의도는 serial,name 이 2개의 edit 상자의 번호와 같으면 다음의 주 메인 폼으로

    > 넘기면서 name 옆에 있는 필드 kh의 내용을 참조하여 주 메인 폼의 두개의 combobox를

    > 사용하지 못하게 하려는 것이었씁니다.

    > 그런데 잘 안 되네요............".">>>>>>..

    > 해답을 아시는 분들의 답변을 부탁드립니다.

    >

    > 예문입니다.>

    >

    > procedure Toneform.openbuttonClick(Sender: TObject);

    >

    > begin

    > with queryone do

    > begin

    > close;

    > sql.Clear;

    > sql.add('select serial, name, kh from usertable');

    > sql.add('where serial = ''' + trim(saedit.text) + ''' and name = '''+trim(nameedit.text) +''' ')

    > open;

    > end;

    >

    > if not queryone.eof and (queryone.fieldbyname('kh').asstring = 'n') then

    > begin

    > oneform.hide;

    > input.yesnocombo.inabled :=false;<ㅡ 요것은 다음폼의 input(주 폼입니다.).yesnocombo.(<요넘이 주 폼의 그 놈입니다.).enabled :=false;

    > InPut.ShowModal;

    > oneform.Show;

    >

    > 이 코딩에서 뭐가 잘 못 되었을까요? 암호 폼에서 주 폼의 것을 그대로 섰더니 에러가

    > 나더군요!! 암호폼에서 주폼의 콤퍼넌트를 인식하는 방법이 있을 까요!!

    > 아님 다른 방법으로 주 폼의 에디트 박스나 콤퍼넌트를 권한에 따라 인식시기커나

    > 인식 시키지 않는 방법이 있을 까요? 처음 답변주신 분의 것을 해보니 잘 안되더 군요?

    > 다른 방법을 알고 계신 분이 계시면 꼭 답변 부탁드립니다.

    >

    >