|
답변 감사합니다 ^^
그렇다면 access mdb파일을 dbgrid에 뿌리는건 어떻게 하나요??
김문제 님이 쓰신 글 :
: StringGrid에는 그런 기능을 부여할 수 가 없는 듯 합니다.
: 하시려면 적절하게 코딩이 필요할 듯 합니다.
:
: 그냥, 엑세스에서 읽어 오는 기능이니까..
: SQL등을 이용하셔서 DBGrid를 사용하시는 것이 좋을 듯 합니다.
:
:
: StringGrid를 이용하시려면
: CSV와 StringGrid 그리고 Memo와 TStringList 를 적절하게 이용하셔도 되구요..
:
: 이런 저런 생각을 해 보게 되네여
:
: 도움이 못되는 듯..
: 좀더 고민해 보겠습니다.
:
:
: 어짜피..
: 수수께끼 님이 쓰신 글 :
: : 스트링그리드에 데이터 뿌리는것까진 했습니다.
: :
: : 근데 데이터라는게 레코드도 추가하고 중간에 특정 셀의 데이터를 바꾸기도 하고 뭐 그런 기능이 있어야 하잖아요?
: :
: : 단순히 뿌리는것까진 했는데 여기서부터 막히네요 ㅋㅋ
: :
: : 스트링그리드를 수정해서 새로운 레코드를 만들고 거기다 데이터를 입력해서 최종적으로 테이블의 내용을 수정하는걸
: : 하고 싶습니다.
: :
: : 스트링그리드는 db네비게이터 같은게 없나요?
: :
: : 아래 소스는 스트링그리드에 데이터 뿌린 소스 입니다.
: :
: : int RowCount= 1 ;
: :
: : AnsiString sSql;
: :
: : switch(ComboBox1->ItemIndex){
: : case 0:
: : sSql = "select * from Samsung";
: : break;
: : case 1:
: : sSql = "select * from Tesna";
: : break;
: : case 2:
: : sSql = "select * from ASE";
: : break;
: : case 3:
: : sSql = "select * from LUSEM";
: : break;
: : case 4:
: : sSql = "select * from STS";
: : break;
: : case 5:
: : sSql = "select * from SESS";
: : break;
: : case 6:
: : sSql = "select * from Amkor";
: : break;
: : default :
: : MessageBox(Handle,
: : "인덱스가 잘못되었습니다.","Warning", MB_OK);
: : break;
: : }
: : objData->Recordset = objConn->Execute(sSql, cmdText, TExecuteOptions());
: :
: : StringGrid1->Cells[0][0] = "순번";
: : StringGrid1->Cells[1][0] = "작업날짜";
: : StringGrid1->Cells[2][0] = "설비명";
: : StringGrid1->Cells[3][0] = "설비 시리얼No.";
: : StringGrid1->Cells[4][0] = "고장유형";
: : StringGrid1->Cells[5][0] = "조치내용";
: : StringGrid1->Cells[6][0] = "사용 Part";
: : StringGrid1->Cells[7][0] = "고객 담당자";
: : StringGrid1->Cells[8][0] = "작업자";
: : StringGrid1->Cells[9][0] = "비고";
: :
: : while (!objData->Eof)
: : {
: : StringGrid1->Cells[0][RowCount] = objData->FieldByName
: : ("순번")->AsString;
: : StringGrid1->Cells[1][RowCount] = objData->FieldByName
: : ("작업날짜")->AsString;
: : StringGrid1->Cells[2][RowCount] = objData->FieldByName
: : ("설비명")->AsString;
: : StringGrid1->Cells[3][RowCount] = objData->FieldByName
: : ("설비 시리얼No")->AsString;
: : StringGrid1->Cells[4][RowCount] = objData->FieldByName
: : ("고장유형")->AsString;
: : StringGrid1->Cells[5][RowCount] = objData->FieldByName
: : ("조치내용")->AsString;
: : StringGrid1->Cells[6][RowCount] = objData->FieldByName
: : ("사용 Part")->AsString;
: : StringGrid1->Cells[7][RowCount] = objData->FieldByName
: : ("고객 담당자")->AsString;
: : StringGrid1->Cells[8][RowCount] = objData->FieldByName
: : ("작업자")->AsString;
: : StringGrid1->Cells[9][RowCount] = objData->FieldByName
: : ("비고")->AsString;
: : objData->Next();
: : ++RowCount;
: : }
: :
: : 콤보박스에서 아이템을 선택하면 엑세스db파일의 테이블을 읽어서 그것을 스트링그리드에 표시하는겁니다.
: :
: : 고수님들 답변좀 해주세요 ㅎㅎㅎ
: :
: : 아 그리고 지금 스트링그리드의 프로퍼티에 레코드갯수(로우 카운트)를 3개로 맞춰놓은 상태인데요.
: :
: : 이렇게하면 불러오는 테이블의 레코드가 아무리 많아도 3개까지밖에 표시가 안되더라구요.
: :
: : 이걸 불러오는 테이블의 레코드갯수에 자동으로 맞춰지게 하려면 어떻게 해야될까요?
: :
: : 물론 스트링그리드의 레코드 범위를 넘어가면 스크롤바가 생겨야겠죠? ㅎㅎ
: :
: : 조금만 도와주세요~
|