1

미리 도움을 주셔서 감사합니다. 나는이 함수에 익숙하지 않다 ...콤보 상자의 선택 항목으로 텍스트 상자에 계산 된 필드 채우기

유형, 양 및 단위와 같은 필드 목록을 포함하는 하위 양식이있다. 선택한 유형에 따라 총 금액을 계산하겠습니다. 그렇게함으로써, 나는 코딩을 시도했지만 다양한 에러가 발생했다.

"런타임 오류 '3078':"Microsoft Jet 데이터베이스 엔진이 입력 된 테이블/쿼리 '50000'을 (를) 찾을 수 없습니다. 이것에 대한

내 코드는 다음과 같습니다 둘째

If Me.cmbTOL1 = "Type B" Then 
Me.txtC1 = (DMax(Me.txtAmt1, 50000) * 0.055)/Me.txtNoofUnits1 
End If 

"런타임 오류 '2450':"매크로 식 또는 Visual Basic 코드에 언급 Mircosoft 액세스 양식을 찾을 수 없습니다 "frmInformation". 이것에 대한

내 코드는 다음과 같습니다

If Me.cmbTOL1 = "Type M" Then 
Me.txtC1 = (DMax(Me.txtAmt1, (2 * [Forms]![frmInformation]![GrossAmt])) * 0.015)/Me.txtNoofUnits1 
End If 

편집 : 나는 frmInformation에서 값 [GrossAmt]을 얻으려고

. [Forms] 외에 다른 방법이 있습니까! [frmInformation]! [GrossAmt] 값을 검색 하시겠습니까?

난 정말 DMAX() 함수를 얻을하지 않습니다 ...하지만 나는이 내 코드를 변경했습니다 ...

If Me.cmbTOL1 = "Type B" Then 
    If Me.txtAmt1 > 50000 Then 
    Me.txtC1 = (Me.txtAmt1 * 0.055)/Me.txtNoofUnits1 
    Else 
    Me.txtC1 = (50000 * 0.055)/Me.txtNoofUnits1 
    End If 
End If 

답변

1

DMin, DMax Functions에서, 구문은 다음과 같습니다

DMax(expr, domain[, criteria]) 

두 번째 인수 도메인은 ""으로되어 있습니다. 도메인을 구성하는 레코드 집합을 식별하는 문자열 식으로, 쿼리의 테이블 이름이나 쿼리 이름이 될 수 있습니다 매개 변수가 필요하지 않습니다. "

하지만 당신의 코드가 도메인 인수 DMax() 숫자 값을 제공합니다. 당신이 DMax()를 사용하는 경우

DMax(Me.txtAmt1, 50000) 
DMax(Me.txtAmt1, (2 * [Forms]![frmInformation]![GrossAmt])) 

난 당신이 달성하려고하는지 이해가 안 그러나, 당신은 제공해야합니다 그것을 도메인 인수로 테이블이나 쿼리의 이름을 입력합니다. 그리고 Me.txtAmt1도메인에, 필드에 따라 필드의 이름, 또는 표현해야한다.

오류 메시지는 양식이 열려 있지 않으므로 (Forms 컬렉션에 없음) 이름의 철자가 잘못되었거나 실제로 포함 된 하위 폼이므로 "frmInformation"양식을 찾을 수 없습니다. 또 다른 형태.

질문에서 코드 업데이트가 어떻게되는지 설명하지 않았습니다.직접 실행 창에 다음 줄을 입력하고 를 Enter 키를 누르면 어떻게되는지를 알려 :

? [Forms]![frmInformation]![GrossAmt] 

당신은 Ctrl 키 + 그램로 직접 실행 창을 열 수 있습니다. 폼, frmInformation, 직접 실행 창에서 위의 줄을 입력 할 때 폼보기에서 열려 있어야합니다.

액세스를 보는 것처럼 이런 직접 실행 창에서 열려있는 모든 형태의, 이름을 확인할 수 있습니다

for each f in forms : ? f.Name : next 
+0

가 으론을 편집 한 ... – GuessWho

+0

런타임 오류가 나타납니다 ... "런타임 오류 '2450': "Mircosoft Access는 매크로 표현식이나 시각적 기본 코드에서 언급 된"frmInformation "형식을 찾을 수 없습니다. 양식 이름을 확인하는 데 두 배가 걸렸습니다 ... 맞습니다 ... 잘못된 것이 있습니까? – GuessWho

+0

위 양식에 사용하는 양식은 하위 양식입니다 ... frmInformation은 기본 양식입니다 ... – GuessWho