작동해야한다. 글로벌 사용
)는 액세스 VBA를 모듈에 바르
Global yourvariable As String
당신은 변형, 싱글 등을 사용할 수있는 몇 가지 다른 값을 필요로하는 경우값을 저장하려면 윈도우 등록 를 사용
B) :
SaveSetting "yourprojectname", "Settings", "yourvariable", yourvalue
검색하려면를 값 :
retvalue = GetSetting("yourprojectname", "Settings", "yourvariable", "your_default_value_if_not_exist")
C) 폼 열기 명령 절차에 OpenArg를 사용
DoCmd.OpenForm "stDocName", acNormal, "filter_if_needed", "stlinkcriteria", acFormEdit, acWindowNormal, "arguments_forOpenArgs"
만약 VARS 및 값, 예와 체인을 사용하여 하나 개 이상의 값을 보낼 수있는 세 가지 가능한 솔루션
Private Sub Form_Open(cancel as integer)
your_args=Me.OpenArgs
대상 폼
: 나 "파이프"를 사용하는 본 예에서
myvar_mutiple="name=John Doe|address=Rua del Percebe 34|location=Madrid|phone=34 91 1234567"
(각 "SP의 취득이와
splitvar=Split(myvar_multiple,"|")
: 키 1) 문자에 AltGr 키가 각 VAR을 분리 = 대상 절차에 대한 다음 값 는 각 쌍을 분할 필요 litvar ""name = John Doe "와 같은 요소 "= "을 사용하여 다시 분할하여 변수 값을 얻습니다. 각 값에 대해 결과를 로컬 변수에 재 할당 할 수 있습니다. 전체 코드 예제 : 내가 "여러 바르"이 코드를 사용
if me.OpenArgs<>"" then
splitvar=Split(me.OpenArgs,"|")
for x=0 to ubound(splitvar)
tmpsplit=Split(splitvar(x),"=")
paramvars=tmpsplit(0)
paramvalue=tmpsplit(1)
select case paramvars
case "name"
stname=paramvalue
case "address"
straddress=paramvalue
case "location"
strlocation=paramvalue
case "phone"
strphone=paramvalue
end select
next
end if
몇 가지 권장 사항 : 은 - 항상 낮은 케이스 변수를 사용하거나 변경이 :
paramvars=tmpsplit(0)
paramvars=lcase(tmpsplit(0))
로
- "="값을 사용해야 할 경우 다른 대체 문자로 변경하거나 왼쪽의 첫 번째 "="양식을 검색 할 수 있습니다 (이 솔루션 대신 Split을 사용합니다)
paramvars=trim(lcase(left(splitvar(x),len(splitvar(x))-(len(splitvar(x))-instr(splitvar(x),"="))-1)))
- 당신이 어떤 값을 보낼 수 및 대상 코드를 변환 할 수 있음을 기억하십시오. 이 예제에서는 문자열 만 사용하므로 cLng 또는 cInt 등을 사용할 수 있습니다.
솔루션에서 Excel에서 시트를 Excel로 선택하는 것이 더 좋은 대안이라고 생각합니다.
"양식"을 언급 할 때, 액세스 양식을 의미합니까? 물론 –
입니다. 내가 아는 유일한 것은 :) – mtz