C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[62397] Re:사용자가 지정한 MDB파일을 열수있나요?
도라지 [forevermc] 1305 읽음    2010-09-10 15:15
이민아 님이 쓰신 글 :
: 안녕하세요.

: ADO를 이용한 DB 프로그램 질문드립니다.
:
: 1. mdb 파일을 열어서 테이블에 표시하는데 default 설정이 아니라 사용자가 지정 할수있게 할 수 있나요?
: 검색해보니까
:
: ADOConnection1->ConnectionString =
:            "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\CALIBU2EX0.mdb";
: ADOConnection1->Connected = true;
: ADOConnection1->Open();
:
:
: 요런식으로 해주면 될거 같은데 막상 해보니까 안되네요
: class EOleException with message 'Opereration is not allowed when the object open
: --> 이런 에러가 떠요..ㅜㅜ
:
: 2. MDB 파일을 엑셀 파일로 바꿀수있는지?
:
: 엑세스에 그런 메뉴가 있는건 봤는데 한 테이블에 한개의 엑셀파일을 만드는건 있네요..
:
: 제가 하고싶은건 MDB 파일안에 테이블이 여러개 있는데 한꺼번에 바꿀수있는 지
: 엑세스에 그런 기능이 없는지? or 프로그램으로 짜는게 가능한건지?.
:
:
: 3. 궁극적으로 하고싶은건 MDB 파일 2개를 compare하여 다른 내용을 알려주는건데요..
:
:   한 DB에 테이블이 많아도 가능하겠죠?
:   (사실 제가 DB쪽을 잘 몰라서요)
:
: 질문이 많았네요..
: 일부라도 아시는 분 답변 주시면 넘넘 감사드리구요..복받으실꺼예요 ^.^


참고하세요..
지금 제가 동적으로 MDB파일 불러와서 테이블 생성하는 소스입니다.

bool __fastcall TChildFrm::OpenMDBFile(AnsiString FileName) {
	AnsiString ConnectionString;

	try {
		ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
		ConnectionString = ConnectionString + "Data Source=" + FileName + ";";
		ConnectionString = ConnectionString +
			"Persist Security Info=False;Jet OLEDB:Database Password=\"\"";
		prjDBConn->ConnectionString = ConnectionString;
	}
	catch(...) {
		ShowMessage("파일열기 실패");
		return false;
	}
	return true;
}
//------------------------------------------------------------------
__fastcall TChildFrm::TChildFrm(TComponent* Owner) : TForm(Owner) {

	scriptDirectory = ExtractFilePath(Application->ExeName);

	if (openDialog->Execute() == mrOk) {

    	if(openDialog->FileName.IsEmpty())
        	return;

		if (!OpenMDBFile(openDialog->FileName)) {
			ShowMessage("프로그램 종료후 다시 시도해보시기 바랍니다.");
			this->Close();
		}
	}
	else {
		this->Close();
	}
}


설명 :  MDI 형식으로 프로그래밍 한것중 차일드마다 MDB를 틀리게 지정합니다.
그래서 차일드가 생성될때 생성자에서 openDialog를 이용하여 MDB를 선택하면

해당 차일드가 선택한 MDB의 포커스를 가지게끔.. ㅎㅎ;;

+ -

관련 글 리스트
62384 사용자가 지정한 MDB파일을 열수있나요? 이민아 952 2010/09/09
62397     Re:사용자가 지정한 MDB파일을 열수있나요? 도라지 1305 2010/09/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.