• 締切済み

エクセルVBAとsqlserverについて

ご教授ください エクセル2010を使用しています。 OSはWin7です。 エクセルVBAでユーザーフォームを作成し そこに入力した値からSQLを発行して データを取るようにしたいのですが どのようにすればいいのでしょうか。 select day from AAA where day = ******************** ※ *にユーザーフォームから入力した値を渡したいのです。    *はyyyymmdd形式で入力します。 以上、よろしくお願いします。

みんなの回答

noname#247307
noname#247307
回答No.2

SQLを使ってデータアクセスするのではなくて、SQL Serverに接続してデータを取得したいのですね。私はあんまり詳しくないんですが、どうもADODBオブジェクトを利用するようですね。こんな感じでやるようです。 Dim con As ADODB.Connection Dim rs As ADODB.Recordset Set con = New ADODB.Connection con.connectionString = "Provider=プロバイダ.1;Data Source=データソース;Initial Catalog=データベース; Trusted_Connection=yes;" con.Open Set rs = New ADODB.Recordset rs.ActiveConnection = con rs.Source = "SELECT * FROM テーブル" rs.Open Range(レンジ).CopyFromRecordset rs rs.Close con.Close 実際やってないので、ADODBについて調べてみてください。

回答No.1

SQL発行? データを取る?? んー。とりあえず。 ユーザーフォームに入力したものは何でしょうか。 Textboxに入力して、Commandbutton1とかを押して実行する・・・のなら Private Sub TextBox1_AfterUpdate()   If Not IsDate(TextBox1.Text) Then     MsgBox "「日付」と認識出来ません。", vbCritical     Textbox1=""   End If End Sub 日付のみ入力できるようにする方法です。 http://www.accessclub.jp/urawaza/10.html 上記リンクも参考にしてみてください。 Format(Date, "yyyy/mm/dd") 上記行はDate変数に入ったものをyyyy/mm/ddに変換してます。 上記を試しにMsgboxで出力すると 2014/06/27 と出ると思います。 もっと詳しい状況を教えて頂ければ、回答できるかと思います。

関連するQ&A