2011-06-11 2 views
1

, 해당 테이블에이 같은 사용자 뭔가가 지금언 바운드 OLE 개체 컨트롤러 - VBA를 통해 사진 변경 - 나는 테이블이 마이크로 소프트 오피스 액세스

id username name password  picture 

는, 그 형태로 내가 원하는 폼을 언 바운드 Ole 개체에 그림을 표시 할 수 있습니다. 내 상황에서는 언 바운드 개체를 사용해야하므로 바인딩 된 솔루션에 대해 알려주지 마십시오.

좋아, 이제 뭔가가 발생하는 값을 변경해야합니다 - 나는 DLookup()을 사용하여 내 테이블에서 그림을 얻을 수 있지만 VBA와 함께 컨트롤러에 값을 넣는 방법을 모르겠습니다. .. 어떤 속성을 사용합니까?

감사합니다. Fingerman.

+0

그림 필드에 무엇을 저장하고 있습니까? 실제 그림이나 단순한 경로와 파일 이름을 그림의 "링크"로 저장하고 있습니까? – HK1

+0

실제 그림 – fingerman

답변

2

나는 당신이하고 싶은 행동이 불가능하다고 생각합니다. 언 바운드 OLE 컨트롤의 값을 변경하려고하면 "이 구성 요소는 자동화를 지원하지 않습니다."라는 오류 2774가 발생합니다. 따라서 자동화를 사용하고 싶다면 바운드 컨트롤이어야합니다. 내가 생각할 수있는 유일한 다른 가능성은 디자인 모드에서 VBA를 사용하여 폼을 다시 여는 것입니다. 아마도 당신은 그것을 바꿀 수있는 방법을 찾을 수 있습니다.

그러나 이전에는 시도한 적이 없었습니다. 양식에 이미지를 표시 할 때 OLE 컨트롤 대신 Image 컨트롤을 사용합니다. Microsoft에 따르면 Image 컨트롤은 이미지에서 더 빠르게 작동합니다.

또한 실제 이미지를 테이블에 저장하지 않습니다. 대신 파일 시스템에 이미지의 경로를 저장합니다. 외부 이미지를 VBA의 이미지 컨트롤에 쉽게 할당 할 수 있습니다. Access 2007 이전에는 이미지를 데이터베이스에 저장하는 것이 비효율적이었습니다. 2007 년부터는 비효율적 인 새로운 방법이 있지만 여전히 사용하지는 않습니다.

+0

고맙습니다 ... 그럼 어떻게하면 vba를 통해 이미지 컨트롤의 가치를 바꿀 수 있습니까? – fingerman

+0

이미지 컨트롤의 그림 속성에 그림 파일 경로를 지정하십시오 :'Me.MyImageControl.Picture = "C : \ SomeFolder \ MyImage.jpg"' – HansUp

관련 문제