コード中から Database を 操作するコードの書き方

解決


help  2002-07-03 00:55:57  No: 104486

データコントロールを使用せず、コード中から Database を DAO3.6 で操作するコードの書き方をご教示下さい。


Say  2002-07-03 02:16:56  No: 104487

どういう操作でしょう?
あなたには、どこまでわかってて、
どのへんがききたいのでしょう?
もうすこし具体的に示して下さい。


help  2002-07-03 02:38:11  No: 104488

SQLを使用して、複数のデータを呼び出したいのですが、
データコントロールは使用ができません。

Dim AcFName As String            
Dim TableName As String              

AcFName = "C:DIS.mdb"
TableName = "PUBLIC"
  
Set DB = DBEngine.Workspaces(0).OpenDatabase(AcFName)
Set RS = DB.OpenRecordset(TableName, dbOpenDynaset)

ここまではわかったのですが、SQL をどこに組み込んでよいのかがわかりません。
またデータをフィールド、レコードともに複数呼び出したいのですが、
テキストなどで複数のデータを呼び出せるのか心配です。

名前  7/5    7/6   7/7  
A      23    56    36
B      15    15    17
C      24    51    12

の7/5のBとCを呼び出すと設定し、

B      15
C      24

にテキストでは表示されるのでしょうか?
もしくはデータコントロールを使わなくてもDataGirdのように表示されるコントロールはあるのでしょうか?
ご教授の程よろしくお願いします。


help  2002-07-03 07:02:43  No: 104489

度々失礼します。
Dim AcFName As String
Dim sqlstr As String

sqlstr = "select ・・・"
Set RS = DB.OpenRecordset(sqlstr)
Do Until RS.EOF
List1.AddItem RS.Fields("名前")
List2.AddItem RS.Fields("7/5")
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
DB.Close
Set DB = Nothing
まで、できましたが、それぞれのListBOXに、それぞれの該当する値が並んでるだけの状態です。
List1.AddItem RS.Fields("名前") & RS.Fields("7/5")
と入力しても、実際、名前の長さが個々に違うので表示がつながってしまってわかりずらくなります。

Datagridのようにレコードごとにうまく表示させる方法はありますでしょうか?


Say  2002-07-03 18:40:38  No: 104490

コードで書き込むのであれば、
ListViewコントロールやMSFlexGridコントロールが使えます。

Excelが併用できるのなら、一旦xlsファイルに取得して
OLEコントロールに貼り出すとか、
MSSpreadコントロールを使う、という手もありますが、
使い勝手はあまりよくありません。

Accessが併用できるのなら、Forms2.0 Object Libraryの
ListBoxなら複数項目をセット可能ですが、
Microsoftが動作保証をしていませんので、
パーソナルユースでないのなら、使わないほうが無難です。


help  2002-07-03 21:00:32  No: 104491

ありがとうございました。
がんばってみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加