이것이 제가 작성한 코딩입니다.
코딩의 의도는 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;
이 코딩에서 뭐가 잘 못 되었을까요? 암호 폼에서 주 폼의 것을 그대로 섰더니 에러가
나더군요!! 암호폼에서 주폼의 콤퍼넌트를 인식하는 방법이 있을 까요!!
아님 다른 방법으로 주 폼의 에디트 박스나 콤퍼넌트를 권한에 따라 인식시기커나
인식 시키지 않는 방법이 있을 까요? 처음 답변주신 분의 것을 해보니 잘 안되더 군요?
다른 방법을 알고 계신 분이 계시면 꼭 답변 부탁드립니다.
쿼리의발행을이렇게 한번 해보세요
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;
>
> 이 코딩에서 뭐가 잘 못 되었을까요? 암호 폼에서 주 폼의 것을 그대로 섰더니 에러가
> 나더군요!! 암호폼에서 주폼의 콤퍼넌트를 인식하는 방법이 있을 까요!!
> 아님 다른 방법으로 주 폼의 에디트 박스나 콤퍼넌트를 권한에 따라 인식시기커나
> 인식 시키지 않는 방법이 있을 까요? 처음 답변주신 분의 것을 해보니 잘 안되더 군요?
> 다른 방법을 알고 계신 분이 계시면 꼭 답변 부탁드립니다.
>
>