문제

레거시 제품을 작업 중이며 ADO를 통해 SQL이 SQL Server에 연결된 액세스 데이터베이스에 SQL을 실행하고 있습니다. SQL을 실행할 때 '정의되지 않은 함수'라운드 '오류가 발생하지만 쿼리를 가져 와서 액세스로 직접 실행하면 잘 작동합니다.. 나는 모든 것이 정확하고 이것이 생산 코드이기 때문에 기계 별 문제라는 것을 알고 있습니다. 다른 기계에서 작동하며 많은 클라이언트를 위해 성공적으로 배포되었습니다.

어디에서 정직 해야하는지조차 모르겠습니다. Jet/Ado/MDAC의 올바른 (최신) 버전을 실행하고 있습니다.

모든 도움이 감사하겠습니다.

미리 감사드립니다.

편집 : 분명히 SQL에는 집계 함수 '라운드'가 포함되어 있습니다. JET와 SQL 구현의 차이점을 알고 있습니다. 이 문제는 코드가 아닌 내 컴퓨터의 구성 요소에 문제가 있기 때문입니다. SQL은 MS Access 2007을 통해 완료되지만 ADO를 통해서는 제대로 실행됩니다.

도움이 되었습니까?

해결책

edit2 : 의견에서 올바른 솔루션 :

SHAHKALPESH : 액세스를 통해 미세하게 실행하면 액세스에 DLL을 사용할 수 있으며 라운드 기능이 있습니다. 연결 문자열이란 무엇입니까?

stimul8d : 연결 문자열로 어떻게 할 수 있는지 잘 모르겠습니다. 이 코드는 변경없이 다른 모든 컴퓨터에서 작동합니다. 내 것이 아닙니다.

Andomar : 글쎄, 그게 당신의 문제입니다. 여전히 설치할 수 있습니다 VB6 SP6 아마도.

자극 8D : 글쎄, SP6은 그것을 고쳤다. Anndomar를 건배하고 SP6이 왜 고정되었는지 모르지만 그랬습니다!

편집 : 귀하의 의견에 따라 이 뉴스 그룹 게시물은 답일 수 있습니다.

불행히도, Access 외부에서 쿼리를 실행할 때 (VB에서 나온 것처럼) 데이터베이스에 대한 유일한 연결은 대부분의 VBA 기능에 대해 아무것도 모르는 제트 엔진을 통한 것입니다. 데이터를 VB 응용 프로그램으로 반환하고 데이터의 기능을 사용하는 것 외에는이 문제가 없습니다.

그리고 나중에 두 개의 게시물 :

나는 문제를 해결했다. 서비스 팩 6로 VB를 업데이트했습니다 ... 문제를 처리했습니다.

여기에 오래된 답변 :

라운드 () 대신 플로어 ()을 시도하십시오.

가장 가까운 정수에 무언가를 반올림하려면 다음을 수행 할 수 있습니다.

declare @floatmyboat float
set @floatmyboat = 1.51
select floor(@floatmyboat+0.5)

추신 : 아마도 당신이 얻는 정확한 오류를 게시 할 수 있습니다. "라운드 기능에는 2 ~ 3 인수가 필요합니다."라면 SQL Server가 라운드 ()에서 borking을 의미합니다.

다른 팁

Round () 함수는 SQL Server에도 존재합니다.
유일한 차이점은 : 액세스에서 정밀도는 선택적 매개 변수이지만 SQL Server에서는이를 지정해야합니다.

따라서 이것은 액세스에서만 작동하지만 SQL Server에서는 작동하지 않습니다.

select round(Column) from Table

이것은 액세스에서 작동합니다 그리고 SQL Server :

select round(Column,1) from Table

Access는 DLL을 사용할 수 있으며 라운드 기능이 있습니다.

ACE/JET는 VBA와 공유 표현 서비스를 사용합니다. 광범위하게 말하면, ACE/JET은 인수와 반환 값이 스칼라 유형 (예 : 어레이, 객체 없음) 인 모든 VBA5 함수 (방법과 구별) 표현식으로 지원합니다. 그만큼 Round() 표현식은이 정의에 속하며 실제로 VBA 기능과 동일한 의미를 가진 ACE/JET에서 사용할 수 있습니다. 그러나 ACE/Jet 엔진에 익숙한 사람이라면 누구나 알 수 있듯이 Semantics는 VBA 등가와 다를 수 있습니다.

SELECT TYPENAME(ROUND(5, 1))

VBA는 '길다'를 반환합니다

?Typename(Round(5, 1))

'정수'를 반환합니다.

다시 말해, Round() 여기서 문제가되지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top