2013-07-03 3 views
0

사용자 ID를 유지하는 가장 좋은 방법은 VBA/Access에 무엇이 있는지 궁금합니다. 사용자 ID는 다양한 양식으로 사용되어 사용자가 변경 한 내용을 추적합니다. .net 사용자 ID 변수를 보유하는 클래스를 작성하거나 my.system.settings를 사용하면됩니다. 이것은 옵션이 아니므로 변수를 메모리 또는 참조로 유지하고 보유 할 수있는 방법이나 방법은 무엇입니까? 마음에 떠오르는 생각은 "설정"표입니다. 그러나 과장되거나 과장되거나 더 나은 방법이 있는지 확실하지 않습니다.ID 문자열을 유지하는 가장 좋은 방법은 무엇입니까?

+0

'Environ $ ("Username") 충분하지 않습니까? –

+0

실제로 나는 그것에 대해 생각했지만 현재 디자인은 실제 계정 이름이 아닌 사용자 ID로 숫자 숫자를 사용하고 있습니다. –

+0

숫자로 인코딩 하시겠습니까? 많은 번거 로움에? –

답변

0

값을 유지한다는 것은 Access에서 데이터베이스 테이블에 값을 저장한다는 것을 의미합니다. 귀하의 설명에서 나는 현재 세션 동안 값을 유지한다는 것을 의미한다고 가정합니다.. 이 경우 테이블에서 값을 가져온 후에는이를 전역 변수에 저장하거나 인스턴스화 한 클래스 인스턴스의 특성으로 저장할 수 있습니다.

또 다른 액세스 옵션은 양식의 숨겨진 레이블에 대한 캡션으로 값을 설정하는 것입니다. 이것은 메인 스위치 보드 형태 일 수도 있고, 세션 전체에 걸쳐 열려있는 형태 일 수도 있고, 시작시 열리고 숨겨진 형태 일 수도 있으며, 세션 전체에 걸쳐 열려있을 수도 있습니다.

레지스트리 항목을 만들 수는 있지만 숨겨진 양식을 사용하는 것이 좋습니다. 어떤 방법으로 접근하든 세션 전체에서 값이 손상되지 않도록하는 것이 중요합니다.

+0

숨겨진 레이블을 추가하는 대신 약간의 변형은 주 (스위치 보드) 양식의'Tag' 속성을 user-id로 설정하는 것입니다. 'Me.Tag = 12345'. 그런 다음 'Forms! frmSwitchboard.Tag'로 읽으십시오. –

0

ID가 특정 세션에서만 지속되도록하려면 Global 변수가 가장 적합 할 것입니다.

변경 될 때까지 컴퓨터에서 계속 유지하려면 레지스트리를 사용하는 것이 좋습니다.

'SaveSetting appname, section, key, setting 
SaveSetting "MyApp", "ID", "Value", "12345678" 
'GetSetting(appname, section, key[, default]) 
CurrentID=GetSetting "MyApp","ID","Value" ' Add ,"DefaultValue" if you want a marker for if there is no value set 
'DeleteSetting appname, section[, key] 
DeleteSetting "MyApp", "ID" ' add ,"Value" if you only want this specific key deleted 
관련 문제