Q&A

  • 테이블 필터 에러..
리스트박스에서 아이템을 하나 선택했을때 아이템 텍스트중 앞에서 5문자를 필드값으로 받아서 필터링 하는건데요..



예를 들면 아이템 이름이 'A2001 : 계정' 이라면 앞에 5문자 A2001을 필드값으로 받아서..



var

i: integer;

begin

i := AcntList.ItemIndex;

if AcntList.Selected[i] = true then

begin

SAcntTable.Filtered := True;

SAcntTable.Filter := 'AcntCode = ' + Copy(AcntList.Items.Strings[i], 1, 5);

end;

end;



실행하면 필드명(예: A2001)이란 필드가 없다고 에러가 나네요..



답변 부탁드려요..

2  COMMENTS
  • Profile
    블랙봉 2001.06.22 22:33
    SAcntTable.Filter := 'AcntCode = ' + '''' + Copy(AcntList.Items.Strings[i], 1, 5) + ''''; 이렇게 되야 되지 않나요? A2001을 ''로 둘러 싸지 않아서 나는 에러 같은데요.



    SAcntTable.Filter := 'AcntCode = ' + QuotedStr(Copy(AcntList.Items.Strings[i], 1, 5)); 이렇게 해도 되겠고...





    우아앙.. wrote:

    > 리스트박스에서 아이템을 하나 선택했을때 아이템 텍스트중 앞에서 5문자를 필드값으로 받아서 필터링 하는건데요..

    >

    > 예를 들면 아이템 이름이 'A2001 : 계정' 이라면 앞에 5문자 A2001을 필드값으로 받아서..

    >

    > var

    > i: integer;

    > begin

    > i := AcntList.ItemIndex;

    > if AcntList.Selected[i] = true then

    > begin

    > SAcntTable.Filtered := True;

    > SAcntTable.Filter := 'AcntCode = ' + Copy(AcntList.Items.Strings[i], 1, 5);

    > end;

    > end;

    >

    > 실행하면 필드명(예: A2001)이란 필드가 없다고 에러가 나네요..

    >

    > 답변 부탁드려요..

  • Profile
    하기 2001.06.22 22:08
    먼저 필터에 대한식을 해주고

    (SAcntTable.Filter := 'AcntCode = ' + Copy(AcntList.Items[i], 1, 5))

    필터(Filtered := True) 이렇게 해주셔야 할것 같은데요







    김상면 wrote:

    > SAcntTable.Filter := 'AcntCode = ' + Copy(AcntList.Items[i], 1, 5);

    >

    > 쩝 이거 아닌가요?

    >

    > 좋은 하루 되세요...

    >

    > 우아앙.. wrote:

    > > 리스트박스에서 아이템을 하나 선택했을때 아이템 텍스트중 앞에서 5문자를 필드값으로 받아서 필터링 하는건데요..

    > >

    > > 예를 들면 아이템 이름이 'A2001 : 계정' 이라면 앞에 5문자 A2001을 필드값으로 받아서..

    > >

    > > var

    > > i: integer;

    > > begin

    > > i := AcntList.ItemIndex;

    > > if AcntList.Selected[i] = true then

    > > begin

    > > SAcntTable.Filtered := True;

    > > SAcntTable.Filter := 'AcntCode = ' + Copy(AcntList.Items.Strings[i], 1, 5);

    > > end;

    > > end;

    > >

    > > 실행하면 필드명(예: A2001)이란 필드가 없다고 에러가 나네요..

    > >

    > > 답변 부탁드려요..