vba/excelのユーザーフォームのスプレッドシートコントロールにインポートしようとしているデータを含むテーブルがあります。
結果はエンドユーザーに表示されるため、SQLテーブルの列見出しではなく、初期化時にヘッダーセルの値を設定しました。
私のクエリは次のようになります
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
sConnString = "Provider=SQLOLEDB;Data Source=mysource;Initial Catalog=mydatabase;User Id=myusername;Password=mypassword;QuotedID=No"
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.Open sConnString
Set rs = conn.Execute("SELECT * FROM WOFT_tbl_clients WHERE userid = '" & UserId.Value & "';")
If Not rs.EOF Then
/////////////////
/something here!/
/////////////////
Else
MsgBox "Error: No records returned.", vbCritical
End If
If CBool(conn.State And adStateOpen) Then conn.Close
Set conn = Nothing
Set rs = Nothing
私がやろうとしているのは、データベースから選択した列の出力を取得し、スプレッドシートコントロールで好きな列にそれらをフィードできるようにすることです。
したがって、実際には、列ID、名前、およびユーザーIDの結果セットを行2から始まるスプレッドシートコントロールに出力できるループが必要です。私のデータベースには、このスプレッドシートでは不要な他の多くの列も含まれていますが、同じユーザーフォームの別のスプレッドシートコントロールに必要であり、そのうちのいくつかは両方に表示されます。
私がやりたいのは、各列を独自のレコードセットに含めることです。そのため、IDレコードセットにIDのようなものを格納して、スプレッドシートコントロール1の列Aで使用し、スプレッドシートコントロール2の列6で使用することができます。 ?
これが理にかなっていることを願っています!Excel2010を使用しています