Q&A

  • 않돼요!!!!!!!!!! 델파이무공 고수님들??????
안녕하세요.

이틀째 입니다. 이문제로 고생하고 있는 것이 쩝~

제가 할려는 것은 테이블의 디비중 날짜필드의 값이 오늘날짜보다 이전이면

다른 테이블의 필드를 에디트해서 '등록'이라는 문자열을 삽입하고 저장하고

아니면 '미등록'이라는 문자열을 삽입해 주려고 하는데요.



Table2의 Outday라는 필드(날짜 yyyy-mm-dd)가 오늘날짜보다 작으면(이전이면)

Table1을 에디트하고 Enter라는 필드에다가 '미등록'이라는 문자열을 삽입한다.

작지 않으면 '등록'이라고 바꾼다.

이런 것을 만들려고 합니다.

그런데 문제는 변수선언이 잘못되었다고 에라가 나오는데

아무리 고쳐도 않돼요.

또 이 작업을 테이블내의 모든 레코드를 당일 날짜별로 '등록'과 '미등록'을

삽입해 주어야 하는데 어떻게 전체다 바꿀 수 있나요.

우선 아래의 소스를 보시고 판단해 주십시오.



procedure TForm1.Button1Click(Sender: TObject);

var

date : TdateTime;

begin



Table2.open;

if table2.FieldByName('Outday').Value < date then

begin

Table1.edit;

Form1.Table1['Enter'].value := '미등록'; table1.post;

end

else

begin

Table1.edit;

Form1.Table1['Enter'].value := '등록'; table1.post;

end;

end;

2  COMMENTS
  • Profile
    강민주 2000.04.20 09:47
    mad wrote:

    > 안녕하세요.

    > 이틀째 입니다. 이문제로 고생하고 있는 것이 쩝~

    > 제가 할려는 것은 테이블의 디비중 날짜필드의 값이 오늘날짜보다 이전이면

    > 다른 테이블의 필드를 에디트해서 '등록'이라는 문자열을 삽입하고 저장하고

    > 아니면 '미등록'이라는 문자열을 삽입해 주려고 하는데요.

    >

    > Table2의 Outday라는 필드(날짜 yyyy-mm-dd)가 오늘날짜보다 작으면(이전이면)

    > Table1을 에디트하고 Enter라는 필드에다가 '미등록'이라는 문자열을 삽입한다.

    > 작지 않으면 '등록'이라고 바꾼다.

    > 이런 것을 만들려고 합니다.

    > 그런데 문제는 변수선언이 잘못되었다고 에라가 나오는데

    > 아무리 고쳐도 않돼요.

    > 또 이 작업을 테이블내의 모든 레코드를 당일 날짜별로 '등록'과 '미등록'을

    > 삽입해 주어야 하는데 어떻게 전체다 바꿀 수 있나요.

    > 우선 아래의 소스를 보시고 판단해 주십시오.

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > date : TdateTime;

    > begin

    >

    > Table2.open;

    > if table2.FieldByName('Outday').Value < date then

    > begin

    > Table1.edit;

    > Form1.Table1['Enter'].value := '미등록'; table1.post;

    > end

    > else

    > begin

    > Table1.edit;

    > Form1.Table1['Enter'].value := '등록'; table1.post;

    > end;

    > end;



    안녕하세요.

    날짜보다 작은것만 한다구요.

    그럼.. 먼저 Query를 쓰던지 아님 필터(filter)를 이용해..

    날짜보다 작은값목록을 구해

    목록을 첨부터 끝까지 '미등록'으로 하고

    큰값에 목록을 구해.. 첨부터 끝가지 '등록'으로 하면 될것 같네요.



    2000.





  • Profile
    mad 2000.04.21 10:44
    필터를 찾아봤지만 책에는 날짜형과 문자형이 비교대상이 되지 않아요.

    에러가 뜹니다.

    이것을 보시고 생각 좀 해주세요. 물론 동작 안하는 것입니다.





    폼의 에디트 박스에는 오늘의 날짜가 문자열로 오고

    테이블2의 날짜필드가(Outday) 에디트에 표시된 날짜보다 작으면

    테이블1의 엔터필드를 '미등록'이라고 수정하고

    아니면 등록이라고 수정하는 것을 만들려고 합니다.

    그런데 잘 안되네요.

    제 생각에는 날짜형인 것을 문자열로 바꾸어주고

    조건문에서 크다, 작다로 비교하면 안된다는 것을 알지만

    날짜의 비교는 도데체 어떻게 하는 것입니까?

    즉 데이터필드의 날짜형인 데이터가 오늘의 날짜보다 이전이면

    다른 테이블 전체를 수정해 주어야 하는데

    방법을 알길이 없습니다.

    어떤분이 쿼리를 사용하라고 하시는데

    저는 쿼리를 전혀 사용할 줄 모릅니다.

    데이터타입은 파라독스입니다.







    procedure TForm1.Button1Click(Sender: TObject);

    begin

    if Form1.Table2.FieldByName('outday').value < edit1.text then

    begin

    Table1.edit;

    Form1.Table1['Enter'].value := '미등록'; table1.post;

    end

    else

    begin

    Table1.edit;

    Form1.Table1['Enter'].value := '등록'; table1.post;

    end;

    end;



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    Edit1.Text := FormatDateTime('yyyy-mm-dd', Date);

    end;





    혹시 필터나 쿼리를 사용하면 어떤 방식으로 사용하는 건지요.

    날짜형은 아무리 해도 않되던데요.

    위의 소스를 보시고 수정가능 하다면 답변을 주시고

    않되는 것이라면 다른 방법은 없는지 부탁드립니다.

    이제는 4일째군요. 쩝~



    초보자가 웁니다.

    '불러봐도~ 질문해도~ 답변없는 델파이여~'

    이노래 아시나요????







    강민주 wrote:

    > mad wrote:

    > > 안녕하세요.

    > > 이틀째 입니다. 이문제로 고생하고 있는 것이 쩝~

    > > 제가 할려는 것은 테이블의 디비중 날짜필드의 값이 오늘날짜보다 이전이면

    > > 다른 테이블의 필드를 에디트해서 '등록'이라는 문자열을 삽입하고 저장하고

    > > 아니면 '미등록'이라는 문자열을 삽입해 주려고 하는데요.

    > >

    > > Table2의 Outday라는 필드(날짜 yyyy-mm-dd)가 오늘날짜보다 작으면(이전이면)

    > > Table1을 에디트하고 Enter라는 필드에다가 '미등록'이라는 문자열을 삽입한다.

    > > 작지 않으면 '등록'이라고 바꾼다.

    > > 이런 것을 만들려고 합니다.

    > > 그런데 문제는 변수선언이 잘못되었다고 에라가 나오는데

    > > 아무리 고쳐도 않돼요.

    > > 또 이 작업을 테이블내의 모든 레코드를 당일 날짜별로 '등록'과 '미등록'을

    > > 삽입해 주어야 하는데 어떻게 전체다 바꿀 수 있나요.

    > > 우선 아래의 소스를 보시고 판단해 주십시오.

    > >

    > > procedure TForm1.Button1Click(Sender: TObject);

    > > var

    > > date : TdateTime;

    > > begin

    > >

    > > Table2.open;

    > > if table2.FieldByName('Outday').Value < date then

    > > begin

    > > Table1.edit;

    > > Form1.Table1['Enter'].value := '미등록'; table1.post;

    > > end

    > > else

    > > begin

    > > Table1.edit;

    > > Form1.Table1['Enter'].value := '등록'; table1.post;

    > > end;

    > > end;

    >

    > 안녕하세요.

    > 날짜보다 작은것만 한다구요.

    > 그럼.. 먼저 Query를 쓰던지 아님 필터(filter)를 이용해..

    > 날짜보다 작은값목록을 구해

    > 목록을 첨부터 끝까지 '미등록'으로 하고

    > 큰값에 목록을 구해.. 첨부터 끝가지 '등록'으로 하면 될것 같네요.

    >

    > 2000.

    >

    >

    • 델초보
    • 2000.04.20 14:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 뎐세
      2000.07.15 18:51
      Thread를 사용하시는게 좋겠네요. 먼저 Thread unit을 하나 만들구요. anyThread = class(TThread) ...
    • 강민주
      2000.04.20 10:34
      이진수 wrote: > dbgrid에서 현재 table의 전체 레코드들이 존재하는 상태에서 화면에 나타나는 레코드만...
    • Mr.Q
    • 2000.04.20 09:36
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 2000.04.20 21:09
      Mr.Q wrote: > date나, now는 2000년을 00년으로 표현해주는데, > 자신의 나이를 빼서, 출생년도를 구하...
    • 강민주
      2000.04.20 09:50
      Mr.Q wrote: > date나, now는 2000년을 00년으로 표현해주는데, > 자신의 나이를 빼서, 출생년도를 구하...
    • 조규춘
      2000.04.20 09:51
      Mr.Q wrote: > date나, now는 2000년을 00년으로 표현해주는데, > 자신의 나이를 빼서, 출생년도를 구하...
    • mad
    • 2000.04.20 09:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강민주
      2000.04.20 09:47
      mad wrote: > 안녕하세요. > 이틀째 입니다. 이문제로 고생하고 있는 것이 쩝~ > 제가 할려는 것은 테이...
    • mad
      2000.04.21 10:44
      필터를 찾아봤지만 책에는 날짜형과 문자형이 비교대상이 되지 않아요. 에러가 뜹니다. 이것을 보시고 생...
    • 조규춘
      2000.04.20 09:43
      어린왕자 wrote: > 안녕하세요..손댈데 많은 델초보 어린왕자입니다. > 도움말을 보다가..파스칼문법이 ...
    • 최용일
      2000.04.20 07:14
      안녕하세요. 최용일입니다. 이런건 조금만 생각해보면 하실수 있을텐데요... 일단은 for문으로 돌려야겠...
    • 냉이
    • 2000.04.20 06:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Mr.Q
      2000.04.20 12:21
      냉이 wrote: > 안녕하세요.. 저는 이제서야 델파이를 배우기 시작한 초보입니다.. > edit박스에서 입력받...
    • 최용일
      2000.04.20 07:17
      안녕하세요. 최용일입니다. 메세지박스를 띄울땐 ShowMessage함수를 이용합니다. 예) ShowMessage('이 ...
    • 박정용
      2000.04.21 22:49
      아주 간단한건데.. 어떻게 하냐면요 델파이의 오브젝트 인스펙트창에서 보면 각각의 컴포넌트마다 cursor...
    • 하얀까마귀
      2000.04.20 07:46
      안녕하세요 하얀까마귀 입니다.. CM_MOUSELEAVE, CM_MOUSEENTER 메시지를 이용하시면 마우스가 콘트롤 ...
    • 하얀까마귀
      2000.04.20 07:54
      안녕하세요 하얀까마귀 입니다.. 질문하신게 마치 스토어드 프로시져 같네요... 후후 지금 말씀하신 ...
    • 초보
    • 2000.04.20 05:30
    • 0 COMMENTS
    • /
    • 0 LIKES
    • Mr.Q
      2000.04.20 05:11
      어린왕자 wrote: > 안녕하세요..델피언님들.. > 오늘두 질문 하나할께요.. > 커서가 스트링그리드 한셀...
    • 어린왕자
      2000.04.20 06:32
      Mr.Q wrote: > 어린왕자 wrote: > > 안녕하세요..델피언님들.. > > 오늘두 질문 하나할께요.. > > 커서...
    • 어린왕자
      2000.04.20 06:55
      스트링그리드의 에디트모드가 True가 되었을때 성공하더라구요.. 어린왕자 wrote: > Mr.Q wrote:...
    • 이치형
      2000.04.20 03:20
      초보 wrote: > 변수값(문자형)을 리스트박스에 5번 출력되게 하는건데, 잘 모르겠어요. 안녕하세요? 아...
    • 깨구르
    • 2000.04.20 02:56
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 병규
      2000.04.20 04:39
      안녕하세요.. 메모란을 False로 하지 마시고 속성창에서 ReadOnly를 TRUE로 하세요.. 그렇게 하시면 같은 ...
    • 이치형
      2000.04.20 03:16
      깨구르 wrote: > 사정상 Meme의 Enabled를 false로 했는데 그 안에 적어진 > 글자의 색깔을 바꿀순 없나...
    • Mr.Q
      2000.04.20 05:18
      초보운전 wrote: > 델파이 함수 중에 Trim 이란거 있죠.. > > 이 함수좀 자세히 설명해 주실분 없나요?...
    • ACCESS
      2000.04.20 02:45
      초보운전 wrote: > 델파이 함수 중에 Trim 이란거 있죠.. > > 이 함수좀 자세히 설명해 주실분 없나요?...
    • 이치형
      2000.04.20 03:27
      ACCESS wrote: > 초보운전 wrote: > > 델파이 함수 중에 Trim 이란거 있죠.. > > > > 이 함수좀 자세...
    • ACCESS
    • 2000.04.20 02:20
    • 0 COMMENTS
    • /
    • 0 LIKES
    • ACCESS
    • 2000.04.20 02:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.04.20 08:17
      안녕하세요 하얀까마귀 입니다... 헉헉 질문 읽는다고 고생했다.. 헉헉~~ ( 엑세스님이 상세히 질문을 ...
    • ACCESS
      2000.04.20 21:43
      덕분에 모든 문제가 해결되였읍니다. 며칠동안 해결책을 찾다가 겨우 CalcField를 써서 해결하긴 했지만...
    • 이치형
      2000.04.20 03:06
      차니 wrote: > DB를 두개 열고 싶은데여... > open하면 똑같은 디비가 열리는데 무엇이 잘못되었는쥐 모...
    • 최현수
    • 2000.04.20 02:07
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강민주
      2000.04.20 02:20
      최현수 wrote: > 안녕하세요. > 흠, 요앞 제가올린 프린트 문제는 아무도 답을 해주시지 않는 군요. > ...
    • 최현수
      2000.04.20 02:45
      강민주님께서 답해주신대로 하니까.. 아래 코드에서 label1.Caption := format('#,0',[1234567]); 결...
    • 강민주
      2000.04.20 03:12
      에구 실수.. str := FormatFloat(' #,0', [Value]); 이렇게 하세요.. ^^;