2012-08-27 2 views
1

백 엔드에서 MS SQL 2008에 연결된 MS Access 2010 응용 프로그램이 있습니다.MS Access 2010 런타임 오류 '2467'

응용 프로그램을 실행하면 런타임 오류 '2467'이 발생합니다. 입력 한 표현식은 닫혀 있거나 존재하지 않는 개체를 나타냅니다.

내가 디버그에 선 점을 선택하면!!

양식을 FRM_MAIN_HOME FRM_SUB_EDIT.Form.RecordSource =

나는 SSMS에서 쿼리를 실행하고 잘 작동했습니다

.

누락 된 참조를 찾았으므로 아무 것도 없습니다.

Shift 키를 사용하여 응용 프로그램을 실행하면 양식을 표시 할 때 다른 오류가 발생합니다. 데이터 형식이 기준 식에 일치하지 않습니다. 이번에는 디버그 옵션이 없지만 이것이 진짜 문제라고 생각합니다.

한 가지 더 : 다른 데이터베이스에서이 응용 프로그램을 실행하면 오류없이로드됩니다.

도움을 주시면 감사하겠습니다.

감사합니다. 나는 SSMS에서이 코드를 실행하면


Forms!FRM_MAIN_HOME!FRM_SUB_EDIT.Form.RecordSource = _ 
    "SELECT V.VendorNumber, V.VendorName, T.DocumentNumber, " _ 
    & "T.DocumentDate, T.AmountInc, T.GSTClaim, T.GSTBatch " _ 
    & "FROM TBL_VENDOR_MASTER AS V INNER JOIN TBL_GST_01_TRANSACTIONS AS T " _ 
    & "ON V.AAVendorID = T.AAVendorID WHERE T.GSTBatch =" _ 
    & Me.BATCH_NUM & " ORDER BY V.VendorName" 

, 그냥 잘 작동합니다. 또한 다른 데이터베이스를 선택하면 오류없이 작동합니다.

+0

FRM_MAIN_HOME이 (가) 열려 있습니까? 시작 형태입니까? 잘 작동하는 쿼리는 무엇입니까? 수동으로 시작 양식을 열고 코드를 단계별로 실행하면 어떻게됩니까? – Fionnuala

+0

양식이 열리고 오류가 발생합니다. 쿼리는 테이블에서 레코드를 선택합니다. 수동으로 양식을 열면 불일치 데이터 형식의 다른 오류가 발생합니다. – mikimr

+0

질문에 의해, 나는 SQL을 게시하시기 바랍니다. 필요한 양식이 열리지 않아야하며 열어야합니다. – Fionnuala

답변

0

문제는 테이블이 매우 큰 일부 메모리 문제와 관련된 것으로 보인다 (과 :

SELECT V.VendorNumber, 
     V.VendorName, 
     T.DocumentNumber, 
     T.DocumentDate, 
     T.AmountInc, 
     T.GSTClaim, 
     T.GSTBatch 
FROM TBL_VENDOR_MASTER AS V 
INNER JOIN TBL_GST_01_TRANSACTIONS AS T 
ON V.AAVendorID = T.AAVendorID 
ORDER BY V.VendorName 

당신과 같이 링크 필드를 설정해야합니다 내 컴퓨터가 가장 빠릅니다 ...),하지만 MS Access가 실행되는 동안 나타난 오류 메시지 (필드, 탭 또는 기타를 클릭 할 때마다 디버그가없는 동일한 오류가 발생합니다. 옵션), 내가 가지고있는 테이블 중 하나를 좋아하지 않았던 MS Access에있는 테이블과 관련있다.

이 오류를 해결하려면 이전 백업을로드하고 문제를 발견 할 때까지 일부 열을 업데이트하고 MS Access를 테스트하기 시작했습니다. 또한 인덱스를 추가하고 ODBC의 기본 제한 시간을 레지스트리에서 0 (무제한)으로 변경했습니다.

이 문제를 해결 한 것으로 보입니다.

0

잘못된 이벤트에서이 광고를 게재하고 있습니다. 폼의 컨트롤을 참조하는 데 Open 이벤트를 사용할 수 없습니다. 하위 형식 레코드 소스를 동적으로 설정하는 이유가 확실하지 않습니다.

레코드 원본이 있어야한다 :

Link child field : GSTBatch 
Link master field : BATCH_NUM 
+0

recordsource는 응용 프로그램에 표시 할 데이터베이스의 일부 레코드를 검색합니다.코드를 변경해도 다른 데이터베이스와 작동이 중단되지 않습니까? 또한 어떻게 링크 필드를 설정합니까? – mikimr

+0

링크 필드는 하위 폼 컨트롤의 속성입니다. 하위 폼은 하위 폼 컨트롤과 포함 된 폼으로 구성됩니다. 하위 폼 컨트롤의 속성에 액세스하는 방법은 사용중인 MS 액세스 버전의 특정 확장에 따라 다릅니다. 꾸준한 손을 가지고 있다면, 포함 된 양식 바깥 쪽의가는 선을 클릭 할 수 있습니다. 데이터 탭에서 링크 필드를 볼 때 올바른 컨트롤을 가지고 있고 컨트롤의 이름은 FRM_SUB_EDIT입니다. – Fionnuala

+0

감사하지만이 방법은 효과가 없습니다. FRM_SUB_EDIT에 링크 필드를 설정했는데 응용 프로그램을 실행하고 데이터베이스를 선택하면 GSTBatch 매개 변수와 Batch_Num 매개 변수를 묻는 팝업이 나타납니다. – mikimr