- ベストアンサー
VBA 外部データの制御
SOURCEプロパティ文のSQL文を指定する箇所で .SOURCE "SELECT 社員名 FROM 社員 WHERE 部門ID IN(SELECT 部門ID FROM 部門 WHERE 部門名 = " & CombBOX & " )" とすると 右カッコがありませんとエラーがでます。 どうにか実行できないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
部門名はテキスト型ですよね? WHERE 部門名 = " & CombBOX & " )" を WHERE 部門名 = ' & CombBOX & "' )" としては? また Dim strSql as String strsql = "SELECT 社員名 FROM 社員 WHERE 部門ID IN(SELECT 部門ID FROM 部門 WHERE 部門名 = ' & CombBOX & "' )" debug.print strsql としてイミディエイトウィンドウに出たもので確認する それでもダメなら イミディエイトウィンドウに出たものと ↓の行の前部分(数行)も提示されては? .SOURCE "SELECT 社員名 FROM 社員 WHERE 部門ID IN(SELECT 部門ID FROM 部門 WHERE 部門名 = " & CombBOX & " )"
その他の回答 (2)
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
> 右カッコがありません つまりカッコが終了出来ていませんね。 途中で文法がミスっています。 > IN(SELECT 部門ID FROM 部門 WHERE 部門名 = " & CombBOX & " )" 全然覚えていないので見当違いかもしれませんが。 ・CombBOXの両脇をシングルクォーテーションをつけてみる。 ・CombBOXはオブジェクトならプロパティ名までちゃんと指定する。 パッと見で気になったトコです。
お礼
両方試しましたが、だめでした。 すみませんでした。
- PrintScree
- ベストアンサー率25% (538/2091)
.SOURCE "SELECT 社員名 FROM 社員 WHERE 部門ID IN (SELECT 部門ID FROM 部門 WHERE 部門名 = " & CombBOX & " )" INと(の間にスペースがないだけでは?
お礼
スペースいれましたが同じエラーが返ってきました(:;)
お礼
ありがとうございました。 どうもcomboboxの両端に空白を入れておいたのがひっかかていたようです。