2016-07-15 11 views
2

Excel에서 SQL을 실행하기 위해 ADO를 사용합니다.ADO SQL 문에 VBA 변수를 전달할 수 있습니까?

는 SQL 내 시스템에서

sSQLSting = "SELECT officer ,sum(mkt) from [$DB] where month=2 group by officer" 

은 YES & NO의 옵션으로 구성 콤보가있다. 예를 들어

, 문이 없음을 위해 where month=3

, 문, 나는 VBA.Then에 month를 저장하기 위해 정수 변수를 어둡게 할 내 계획에 where month=4

될 것 SQL이 될 것 SQL , 변수 - month은 3이 month에 저장되도록 콤보 박스 결과를 얻습니다.


마지막으로, integer variable-month이 내 계획입니다

 sSQLSting = "SELECT officer ,sum(mkt) from [$DB] where month=***group by officer 

*** SQL 문에 전달할 수 있습니다. 콤보 박스 결과를 포착하여 값을 SQL 문으로 전달할 수 있습니까? 이 같은

답변

1

뭔가는 SQL 문에 변수를 전달 할 수있을 것입니다. 그것은 여전히 ​​문자열이므로 하나처럼 취급해야합니다. 코드를 수정해야합니다 굵은의

Dim month As Long 
    month = combobox1.Value 
    sSQLSting = "SELECT officer ,sum(mkt) from [$DB] where month= " & month & " group by officer" 

콤보, 이런 식으로 뭔가를 들어

Dim month As Long 
month = 2 
sSQLSting = "SELECT officer ,sum(mkt) from [$DB] where month= " & month & " group by officer" 

+0

지금 내가 1에 콤보 상자의 값을 변경하는 등 사용자의 COMBO_BOX 이름에 맞게 긴 .AddItem 1 .AddItem 2 .... 달 = combobox1.Value 달 = "& 달 &"당신이 예 사용하는 경우 '가 – Vito

+0

@Vito 작동하지 않습니다/아니오 당신이 없을 것이다으로 12'는 .dim 월 변수에 정수를 전달하십시오. – KyloRen

+0

내가 개월 = combobox1.Value'.Lastly '로 이달 잡을 그 때는 12'(정수 포맷에서 12 개월) .additem .... addItem를 1 .additem 2 '로 콤보 옵션을 변경할 경우 중량에 대해 상기 전달되다 값은 어디 달 = "& 달 &'.IT 정확하게 사용자가 월을 선택하자? – Vito