Top > OOobbs2 > 95
  • The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
  • Go to OOobbs2/95.

** [[OOobbs2/95]] [#a2fc2656]
-''サマリ'': Baseでテーブルのフィールド名の取得
-''環境'': Basic
-''状態'': 解決
-''投稿者'': [[ike@九州]]
-''投稿日'': 2008-03-21 (金) 09:47:48

*** 質問 [#b0822422]
Baseに関するBasicの勉強中です。

ダイアログで登録中のデータソースの任意のテーブルにアクセスできるようになったのですが、テーブルの全てのフィールド名を取得するにはどうすればよいのでしょうか? 

SELECT文の生成に利用しようと思っています


*** 回答 [#s6a70abe]
- com.sun.star.sdbcx.XColumnsSupplier インターフェースの getColumns メソッドを利用するのはどうでしょうか?  

フォームや com.sun.star.sdb.RowSet サービスであれば次のようにすればフィールド名を取得できます。

 Sub Main
   oDrawPage = ThisComponent.getDrawPage()
   oForms = oDrawPage.getForms()
   oObj1 = oForms.getByName("Standard")
   oColumns = oObj1.getColumns()
   vElementNames = oColumns.getElementNames()
   msgbox Join(vElementNames, ", ")
 End Sub

フィールド名から列インデックスを探すのは [[OOoBasic/Base/RowSet#c596ecc7]]。

しかし、データベースさっぱり分かりません…。

-- [[はにゃ?]] &new{2008-03-21 (金) 18:17:11};
- RowSet サービス下だったのですが、一度 SELECT * FROM テーブル名で、 oRowSet.execute() 実行後にできました、深謝。煩雑に問い合わせするかも知れませんがよろしくお願いいたします… Join はこんな使い方出来るんですね -- [[ike@九州]] &new{2008-03-22 (土) 09:19:06};

#comment
*** 感想,コメント,メモ [#x81e6a35]

#comment

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes