2015-01-24 2 views
0

내가 (형태로) 전역 변수를 설정하려고에 대한 변수를 할당하고 그것이 내가 할당을 만들기 위해 폼로드 이벤트를 사용했다 Form_MyFormMS 액세스 : 양식

을 =하고 전역 변수이기 때문에 설정 다른 프로 시저에서 할당을 다시 타이핑하지 않고도 내 프로 시저에서이 변수를 사용할 수 있기를 기대합니다.

가끔 내 변수를 인식하지 못하는 동안 문제가 발생하는 경우가 있습니다. 과제를 새로 고침하기 위해 다시 엽니 다.

많은 액세스 이벤트 양식을 보았지만 확실하지 않습니다. 모자, 그들이 내 상황에 도움이 될 수있는 방법

도움 주셔서 감사합니다!

+1

vb.net을 사용하고 있습니까? 이것이 Access 내에 있다면, 대신 vba가됩니다. – Blackwood

+0

예, 맞습니다. 내 실수는 – MFL

답변

0
  1. 액세스 모듈 (어떤 형태에도 포함되지 않음)에서 전역 변수를 정의하십시오. 이렇게하면 모든 개체 (양식, 보고서, 매크로 등)가 해당 개체에 액세스 할 수 있습니다.
  2. 모듈 내의 Public Function 또는 Public Sub의 변수를 초기화하고 데이터베이스의 시작 폼 (즉, 주 메뉴 또는 스위치 보드)에서/sub 함수를 호출하도록합니다.
  3. 이제 표현식, 쿼리, VBA 및 기타 영역에서 변수를 사용할 수 있습니다. ** 전역 변수를 다양한 매개 변수로 다시 정의해야하는 경우 해당 함수를/sub 함수에 설정하고 특정 트리거 이벤트에서 다시 호출하십시오.
+0

늦게 응답해서 죄송합니다. 인터넷이 제 마지막으로 사라졌습니다 !! 응답에 대답하려면 - 예 저는 신고 용 모듈을 사용하고 있습니다 – MFL

+0

늦게 응답 해 주셔서 죄송합니다. 인터넷이 끝이났습니다 !! 응답에 대답하려면 - 예 - 그냥 선언을위한 모듈을 사용하고 있습니다. 2 폼을 열 때 변수를 초기화합니다. 예를 들어 Load 이벤트에서 잠시 동안 작동하지만 잠시 후 일부 프로 시저가 인식을 멈 춥니 다. 그 변수 3 나는이 형태의 광산을 참조해야하는 정적 변수를 가지고있다. 나는 어떤 이벤트가 변수 할당을 리프레시하는 데 계속할 지 확신하지 못한다. – MFL

+0

애플 리케이션을 새로 만들 때 서브 플레이스 나 함수에서 변수 할당이 멈추는 동안 인식이 잘 안된다. – MFL

0

사용자 정의 전역 변수에서 동일한 문제가 발생하면 오류가 발생하거나 개발 환경으로 전환 할 때 변수에서 설정 값이 손실됩니다.
TempVar 컬렉션의 세션 변수를 사용하면 훨씬 더 안정적입니다. 데이터베이스를 닫거나 설정을 해제 할 때까지 설정된 상태로 있습니다.

MyFormName = me.Form.Name 
'Load the data into Session variables 
TempVars.Add "SessMyFormName", MyFormName 
'Use the value elsewhere 
SelectedForm = TempVars![SessMyFormName] 
'Remove All Session Variables Set Earlier 
TempVars.RemoveAll 'Destroy Session