よろしくお願いいたします。
フォーム画面にボタンとテキストボックスを用意して、
hogeFrom とhogeToとしたテキストボックスに検索条件を入力し、
ボタンを押下すると、accessで作ったテーブル(ChargeInfo)のデータ(接続文字列)を使って、
SQLサーバにあるテーブル”hogehogeCountry”の内容を取得し、フォーム上のリストに反映されるようにしたいです。
本日同様の質問をしておりますが、一から自分で書いたコードのため、エラーが出るたびに進めなくなり、解決するたびに新しいエラー内容を記載し、再質問をさせていただいております。
(こういった投稿の仕方が違反であれば、教えていただければ幸いです)
本件では、コード内にあるエラー箇所、
objCon.ConnectionString = strSql
の部分について主にご教示いただきたく存じます。
strSql の部分に、SQLサーバに接続するための接続文字列が入ったテーブルの列を取得するSQL文を代入しています。
ですが、前回のご指南により、
「ConnectionString は実行したいSQLを設定するとこではなく接続するための文字列を設定するとこです」
から、どのようにしてSQLを実行した値をうまく接続文字列として使い、SQLサーバにあるテーブル”hogehogeCountry”の内容を取得ることができるのか、試行錯誤の末わからなくなってきました。
有識者の方々お知恵をお貸しください。
※備考
・リストに表示したいデータは、SQLサーバの”hogehogeCountry”に格納されている
・SQLサーバへの接続文字列は、同一Accessファイル内のテーブルに格納していて、strSqlとして使用したい
・汎用性を高めるため、接続文字列は直接コードに書かず、Accessのテーブルに格納して呼び出して使いたい
・コード内にあるように、ConnectionStringの使用にこだわっているわけではなく、望む結果になるのであれば他の方法でもかまわない
Private
1' On Error GoTo Err_データ取得_Click 2 3Dim invFrom As Variant 4Dim invTo As Variant 5 6invFrom = Me.invoiceFrom.Value 7invTo = Me.invoiceTo.Value 8 9 If IsNull(invoiceFrom) And IsNull(invoiceTo) = True Then '検索条件が未入力の場合 10 11 MsgBox "検索条件を指定してください" 12 Exit Sub 13 14 15 End If 16//(もしテキストボックスのいずれか(もしくは両方)に、検索条件として値が入っていた場合) 17以下より実現したい内容と、そのコード。 18・データを取得してリスト表示 19・データは、SQLサーバの”hogehogeCountry”に格納されている 20・SQLサーバへの接続文字列は、同一Accessファイル内のテーブルに格納していて、strSqlとして使用する 21 22 If Not IsNull(invoiceFrom) Or IsNull(invoiceTo) = True Then 'いずれかが入力されている場合 23 24 25 26’データをリストに表示 27Dim objCon As New ADODB.Connection 28Dim objRs As New ADODB.Recordset 29Dim strSql As String 30 31 Set objCon = Application.CurrentProject.Connection 32 33 strSql = "SELECT ID, COL1 FROM ChargeInfo WHERE ID = 1" 34 35 **objCon.ConnectionString = strSql **//ここでエラー 36 objCon.Open 37 objRs.Open "hogehogeCountry", objCon, adOpenKeyset, adLockOptimistic 38 39 Set Me.Recordset = objRs 40 41 objRs.Close 42 objCon.Close 43 44 Set objRs = Nothing 45 Set objCon = Nothing 46 47 End If 48```。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/11 01:42