2010-05-16 5 views
4

나는 콤보 박스를 가지고있다.콤보 박스 값을 SQL 쿼리에 전달 ACC

나는 콤보 박스의 텍스트를 질의로 전달하기를 원한다.

내 쿼리는 다음과 같습니다

select..from..where something=[Forms]![Enter Data]![comboCup] 

양식 이름은 데이터를 입력하고 콤보 상자의 이름은 combocup입니다. 내가 수행해야합니다

[Forms]![Enter Data]![comboCup]![text] 

또는

[Forms]![Enter Data]![comboCup]![value] 

?

+0

은 콤보 상자의 소스에 대한 자세한 내용을 말한다. 1 열 이상입니까? – Smandoli

답변

6

[양식]! [데이터 입력]! [comboCup]을 사용해야합니다.

@Remou가 말했듯이 Access 컨트롤의 .Text 속성은 컨트롤에 포커스가있는 경우에만 사용할 수 있습니다. 이 모든 액세스 제어의 기본 속성이기로

.Value 속성은 중복, 그래서이 두 동일합니다는 .text 및 .Value 등의 property가 점으로 구분되는 것이

[Forms]![Enter Data]![comboCup] 
    [Forms]![Enter Data]![comboCup].Value 

(주 연산자와 아니고 컬렉션을 묘사하는 강타)

APPEND 쿼리의 SELECT 문에서 콤보 상자의 값을 사용하려는 경우 문제가 될 수 있습니다. 이 경우 저장된 쿼리에서 매개 변수로 콤보 상자를 선언하는 것이 좋습니다. 그렇게하지 않으면 행이 삽입되지 않을 수 있습니다. 반면 매개 변수를 선언하면 참조 된 콤보 상자의 값인 Null로 해석됩니다.

+0

죄송합니다. 추가 쿼리가 무슨 뜻인지 설명해 주시겠습니까? –

+0

INSERT INTO MyTable (MyField) 값 ([양식]! [데이터 입력]! [comboCup]). 양식 컨트롤을 매개 변수로 정의하면 더 잘 작동합니다. –

+1

당신이 찾고있는 것을 모르는 상태에서 구글에 의해서만이 대답을 찾는 것은 쉽지 않습니다, 그리고 현재 Access helpfile을 검색하는 것은 악몽입니다. 이 답변이 현재 Google 검색의 첫 페이지에 있다는 것은 그것이 얼마나 유용했는지에 대한 증거입니다. –

0

양식 모듈에서 작동합니다 경우이 같은 (단지 의사 코드)를 수행 할 수 있습니다

Event comboCup_afterUpdate() 
    strCup = Me!comboCup 
    strSQL = "SELECT ... etc ... ='" & strCup & "'" 
End Sub 

다른 모듈에서, 다음, 여전히 위의 그림과 같은 변수를 사용하는 경우; 그러나이 경우 양식의 필드를 식별하는 구문에는 많은 작업이 필요합니다. 이 모든 것이 지금까지 의미가 있다면 나는 그것에 대해 더 자세히 말할 수 있습니다.

+2

다음에 strSQL은 어떻게 될 것입니까? – Fionnuala

+0

이 대답은 "콤보 상자의 텍스트를 쿼리에 전달"과 어떤 관련이 있습니까? –

2

아니요. 텍스트는 컨트롤에 포커스가있을 때만 사용할 수 있습니다. comboCup 값은 바운드 열입니다. 쿼리에서 해당 값을 찾고 있는지 확인하십시오. 그렇지 않으면 콤보의 열 속성을 참조해야합니다.

1
Dim comboBoxText As String 

comboBoxText = Me.YourComboboxName.Column(1) 

참고 : 콤보 상자 열이 1 어레이를 기반으로