안녕하세요? 그야말로 델파이 쌩초보입니다.
처음 해보는 델파이 프로그램이라 책보고 인터넷 찾아보고 해도 도저히 모르겠어서 고수님들께 질문을 드립니다.
제가 구현하려는 프로그램의 구조는 다음과 같습니다..
1. 메인폼에서 Edit에 회원번호 일부를 입력하고 엔터를 치면,
2. 유사한 해당 데이타가 있을 경우에만, 해당 문자열이 있는 레코드 목록을 새폼(Frm_A)을 띄워서 DBGrid 에 모두 출력을 합니다.
3. 출력된 DBGrid 목록 중에서 레코드를 클릭을 하면, 클릭한 레코드의 회원번호 값을 가져와서,
4. 그 회원의 세부사항을 또다른 새로운 폼(Frm_B)에 나타내주고, Frm_A 를 닫습니다. (Frm_B 에서는 필드갯수만큼 DBEdit 를 나열하여, 해당 회원번호로 쿼리한 값을 출력합니다)
여기서 1,2번은 궁여지책으로 어떻게 어떻게 해결을 했는데 (요기까지 1주일 꼬박 걸렸습니다. ㅎㅎ;;), 3번에서 dBGrid 의 row 를 클릭했을때, 그 row 가 선택을 해서 값을 가져오는 방법을 전혀 모르겠습니다.
인터넷 글을 찾다보니 똑같은 것은 없지만 대략 눈치로 때려잡은 사항은, Frm_A 의 DBgrid 에서 OnCellClick 이벤트와 OnMouseUP 이벤트를 이용해서 어떻게 하면 될 수 있을 것도 같다는 건데..
문제는 Frm_A.Dbgrid 의 오브젝트인스펙터에서 이벤트 탭을 눌러서 OnCellClick 이벤트에 더블클릭해서
코드 에디터로 가게 되면, 거기서부터는 뭐라고 써야할 코드는 둘째치고라도 어떻게 개념을 잡아야 할 지조차 막막한 상태입니다. 제가 보기에 얼핏 비슷해 보이는 예제를 보아도 도무지 이해 자체가 불가능하군요 ㅠㅠ
고수님들의 고견을 부탁드립니다.
가능하면 코드를 직접 써주시고 주석으로 설명을 해 주실 수 있는 친절한 고수님이 계실까요?
저 같이 까막눈 상태에서는 코드를 보고 직접 돌아가는 걸 보면서 아예 코드를 하나하나 외우는 것이 개념잡는데 더 빠르지 않을까 하는 생각에서입니다. (좀 무식한 방법이겠만 저는 그게 더 이해가 더 잘되는 거 같아서.. ㅠㅠ)
대신 짜달라거나 대신 숙제를 한다거나 뭐 그런 의도가 전혀 아님을 분명히 밝히고 싶습니다. 제가 늦깎이 델파이 입문자로써 제가 필요한 프로그램을 만들어보고자 하는 의도 외에는 없으니 제발 부탁 좀 드리겠습니다.
푸념섞인 질문을 읽어주셔서 감사합니다.
환절기 감기조심하시고 항상 행복하시기를 바랍니다.
P.S 아참.. 제가 사용하는 DB는 access 로 만들어서 ADO 로 연결을 해놓은 상태이고, 델파이7 사용합니다.
ADOConnection 과 ADOQuery 를 이용해서 연결을 하고 있습니다.
DataSet - DataSource - DbGrid
이렇게 연결되어 있는 상태에서 DbGrid 의 Row가 변경이 되면 DataSet도 같이 변경이 됩니다. 그 반대역시 같고요... DataSource 가 중간에서 연결해주고 있어서 같이 변동이 됩니다.
따라서 DbGrid 에서 클릭을 했던 어째떤 같에 어떤 셀을 선택했다면은 그것만으로 DataSet 의 어떤 행이 선택되어졌다고 보시면 되겟죠...
별다른 작업이 없다면 그냥 AdoQuery.FieldByName('필드명').AsString 와 같이 읽으면 되겟습니다.