mdb 파일 쿼리 실행시 3001번 오류가 발생한다면...
페이지 정보
작성자 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 4,170회 작성일 12-08-03 21:36본문
휴가를 떠나야하는데 이놈의 3001번 오류때문에 엉망징창이 되어 버렸다.
인터넷 검색을 해보면 다음과 같은 문제점이 있다고 MS는 말하고있다.
문제 : 3001 런타임 오류: 인수전달이 잘못되었습니다.
원인 : Form의 텍스트값을 인수로 쿼리를 실행할 때, Access2000의 인수 전달의 제한에 의해 발생하는 문제입니다.
해결책 : VB에서 폼의 텍스트 값을 스트링 변수로 저장한 후, 직접 SQL문을 실행함으로써 해결할 수 있습니다.
1.Access 2000에서 빈 MDB를 만듭니다.
2.임의의 테이블을 만들어 일련번호와 메모 필드를 만듭니다.
3.일련번호와 메모필드를 입력상자로 가지고 있는 폼을 만듭니다.
4.폼의 일련번호를 조건으로 폼의 메모값을 업데이트하는 업데이트쿼리를 작성합니다.
5.폼에 명령버튼을 만든 후, 클릭 이벤트에 4번에서 만든 업데이트쿼리를 실행하도록 아래 코드를 작성합니다.
Private Sub Command_Click()
DoCmd.OpenQuery "UpdateQuery명"
End Sub
6.폼에서 메모필드의 값에 255자 이상의 값을 입력하고 Update 명령버튼을 누르면 다음 에러가 발생합니다. "'3001' 런타임 오류가 발생하였습니다. 인수가 잘못되었습니다." 7.Update 명령버튼의 이벤트 프로시저를 다음과 같이 수정합니다.
Private Sub Command_Click()
Dim strTest As String
strTest = Me.텍스트
DoCmd.RunSQL "UPDATE Table1 SET Table1.텍스트 = '" & strTest & "'" & _
"WHERE (((Table1.ID)=[Forms]![Table1]![ID]));"
End Sub
8.폼에서 메모필드의 값에 255자 이상의 값을 입력하고 Update 명령버튼을 Click하여도 정상적으로 업데이트됩니다.
그런데 중요한 사실 한가지를 모르고 있나보다.
MDB 파일은 2GB까지만 지원한다. Access 2007은 모르겠지만 2003에서는 2GB가 넘는 순간,
.addnew
:
:
.update <= 요기서 "3001 런타임 오류: 인수전달이 잘못되었습니다."라는 에러를 뿜어내더군요.
원인도 모른체 2틀을 원인분석한다고 난리부르스를 추다가 휴가 떠나는 날도 해결 못하고 갔다와서,
2GB 용량 한계를 보는 순간 필이 오더군요. 역시 사람이 쉴때는 쉬어야하나 봅니다.
DB를 분리했더니 해결되어 버리네요. 속이 후련합니다.
저 처럼 헤매는 사람이 없기를 바라는 맘에 적어봅니다.
댓글목록
등록된 댓글이 없습니다.