2013-08-29 2 views
1

콤보 상자가 업데이트 될 때마다 "자동으로"노래를 재생하고 싶습니다. 콤보 상자의 내용에 따라 해당 노래를 변경하고 싶습니다. 불행하게도 아래의 코드는 반환MS 액세스의 Windows Media Player

Constant expression required 

여기에 내가 함께 일하고 있어요 코드입니다 : 어떤 도움을 크게 감상 할 수

Private Sub cboCustomerID_AfterUpdate() 
txtSongFile = Me.cboCustomerID.Column(2) 
Me.Refresh 
Const conMEDIA_FILE_TO_OPEN As String = Me.txtSongFile 

Me![WindowsMediaPlayer1].openPlayer (conMEDIA_FILE_TO_OPEN) 

End Sub 

가! 고맙습니다.

답변

1

언급 한 오류는 런타임 오류가 아니라 컴파일 오류입니다. 이 라인에 의해 발생 :

Const conMEDIA_FILE_TO_OPEN As String = Me.txtSongFile 

이유는 당신이 = 기호의 오른쪽에 사용할 수있는 대한 VBA 규칙은 매우 제한적이다. 이것은 Access의 온라인 도움말이 말합니다 :

"리터럴, 다른 상수 또는 Is를 제외한 모든 산술 또는 논리 연산자를 포함하는 모든 조합."

하지만 대신 변수를 사용할 수 있어야합니다 : WMP 열고 (플레이) 콤보에서 파일 이름을 얻을 수 없습니다 - 너무 복잡한 방법을

Dim strMEDIA_FILE_TO_OPEN As String 
strMEDIA_FILE_TO_OPEN = Me.txtSongFile 
+0

모든 권고를? –

+0

방금 ​​상수 대신 변수를 제안하는 답변을 업데이트했습니다. 나머지 코드에서도 작동합니까? – HansUp

+0

완료! 고마워, 너무 많이 !! –