ここから本文です

VBAの質問です。

eit********さん

2012/2/217:37:05

VBAの質問です。

度々で申し訳ございません。

DBからデータを取得する際、キー選択ボックスで選択した文字列をテーブル名に指定したいのですが、指定の方法がわかりません。

'*****************************
'DBからデータ取得
'*****************************
If OptionButton1 = True Then
???? myRS.Open Source:="SELECT キー選択Box.Text", ActiveConnection:=myConn2
Else
myRS.Open Source:="テーブル1", ActiveConnection:=myConn
Range("A2").CopyFromRecordset Data:=myRS
myRS.Close: Set myRS = Nothing
myConn.Close: Set myConn = Nothing
myConn2.Close: Set myConn2 = Nothing
End If
End Sub

以上、よろしくお願いします。

補足DBからデータを取得する際、キー選択ボックス(コンボボックス)で選択した文字列をテーブル名に指定したいのですが、実行時エラー3709「この操作を実行するために接続を使用できません。このコンテキストで閉じているかあるいは無効です。」となってしまいます。


myRS.Open Source:="SELECT" & キー選択Box.Text, ActiveConnection:=myConn2

閲覧数:
1,161
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

por********さん

2012/2/218:32:13

こんにちは。
myRS.Open Source:="SELECT キー選択Box.Text", <=== ここの部分ですが、
やりたいことを文字列で指定したら、できます。
今回は、
myRS.Open Source:="SELECT " & キー選択Box.Text

キー選択Box.Text <=== これが、オブジェクトですよね、
文字列と&記号で接続することで、sourceが計算できます。

あとは、「キー選択Box.Text」が、空白だったら、誤作動します。 問題ないか、判定をしておいてください。
データベースに問い合わせするのに、selectだけだと、だめです。

質問した人からのコメント

2012/2/6 15:49:17

できました。ありがとうございました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる