2014-09-25 1 views
0

안녕하세요! 여러 Windows 7 컴퓨터에서 완전히 업데이트 된 MS Access 2010에서 다음 오류가 발생합니다. . 버튼을 눌렀을시 연속 용지는 오류가 간헐적으로 팝업하지만 형태는 5 분 미만 정도에 가까운 특히MS 액세스 이상한 오류 2448 '이 개체에 값을 할당 할 수 없습니다. "

오류 2448을 :. "당신은 그 객체에 값을 할당 할 수 없습니다."

이 오류를 발생시키는 코드는 다음과 같습니다.

If me.temQC = 'RCS' then 

    me.temQCchecked = TRUE 

End if 

docmd.close acForm, "FRM_TEM1", acSaveYes 

temQC는 varchar (20) 데이터 유형이고 temQCchecked는 기본값이 0 인 비트 유형입니다. ** 실제 SQL Server 유형을 적절히 반영하기 위해 bool에서 bit로 전환 된 temQCchecked 유형을 편집하십시오. **

서식의 레코드 소스는 다음과 같습니다. :

SELECT TBL_Samples.*, TBL_Observations.* FROM TBL_Samples INNER JOIN 
TBL_Observations ON TBL_Samples.SampleID = TBL_Observations.SampleID ORDER BY 
TBL_Observations.GridID, TBL_Observations.GridLetter; 

일반적인 설정 크기는 약 50 레코드이므로 너무 중요하지 않습니다. 다이너 셋 (불일치 업데이트) 쿼리를 설정했습니다.

왜 이런 일이 발생하는지 혼란 스럽습니다. temQCchecked는 어떤 식 으로든 인덱싱되지 않습니다. 누군가 도움을 줄 수있는 도움을 주시면 감사하겠습니다. 시간 내 주셔서 감사합니다!

*** 새로운 정보 : 코드는 기본적으로 폼을 닫는 버튼의 않게합니다() 이벤트에서 실행

. 쿼리 및 다른 버튼으로 값을 업데이트 할 수 있습니다. 백엔드가 TBL_Observations에 추가 인덱스가없는 SQL Server 2012 Express라고 추가해야합니다. 다른 유사한 테이블의 불린은 매우 비슷한 코드로 잘 작동하는 것처럼 보입니다. 또한 나는 단 한 명의 사용자 만 켜고 내 테이블 유지 관리가 오전 3시에 발생하므로 잠금 오류가 절박하다고 생각합니다. 고맙습니다!

+1

그 코드는 어디에 위치해 있습니까? LOAD vs Current에서 vs Click을 클릭하면 차이가납니다. 이 쿼리를 수동으로 실행하면 값을 True로 변경할 수 있습니까? –

+0

SQL Server에는 [부울 유형] (http://stackoverflow.com/questions/7170688/sql-server-boolean-literal)이 없습니다. smallint를 사용하고 1과 0 값을 할당해야합니다. – Parfait

답변

0

닫힌 양식으로 뭔가를 시도한 결과로 문제가 발생했다고 생각합니다. 양식을 닫고 다른 양식을 열 때이 문제가 발생했습니다. 첫 번째 양식을 닫은 후 새 양식을 열기 전에 저는 잠시 쉬었습니다.

Dim PauseTime, Start, 
PauseTime = 3 ' Set duration. 
Start = Timer ' Set start time. 
Do While Timer < Start + PauseTime 
    'Do Nothing 
Loop 
+0

대단히 감사합니다! 시도해 볼게! 느린 컴퓨터에서 오류가 자주 발생하기 때문에 나는 당신이 맞다고 생각합니다. Dana, Wayne, Parfait의 도움에 감사드립니다! – Fedaykin

+0

해결책 : 이렇게하면 당황 스럽지만 MS-Access 파일을 RAM 드라이브에 저장해서는 안됩니다. 실제 하드 디스크에서 파일을 시작하기 시작했는데, 이제 오류가 발생한 후로부터 몇 주가 지났습니다. – Fedaykin

관련 문제