ここから本文です

以下のようなフィールド構成のテーブルがあるとします。

pow********さん

2019/10/2115:58:36

以下のようなフィールド構成のテーブルがあるとします。

(アクセス)

フィールド名 形式
D_Item 数値型
B_Item 数値型
A_Item 数値型
C_Item 文字列型

テーブル名 : TEST_TABLE


vb.net(2019) にて以下のコードを実行してみました。

------------------------------------------------------------------------------------------------------

Function GetSChema() As Boolean

Dim fTbl As DataTable
Dim fRestrirtions As Object() = New Object() {Nothing, Nothing, "TEST_TABLE", Nothing}

Try
fTbl = pConn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Columns, fRestrirtions)
GetSChema = True

Catch ex As Exception
MsgBox("アクセススキーマ情報を取得来ません" & vbCrLf & ex.ToString, MsgBoxStyle.Information, pcDataSource)
GetSChema = False
Exit Function

End Try

' Debug
For Each row In fTbl.Rows
Console.WriteLine(vbCrLf & " : " & row("Column_name").ToString)
Next row

Exit Function

End Function

------------------------------------------------------------------------------------------------------

私の予想では、

: D_Item
: B_Item
: A_Item
: C_Item

と出力されると思ってましたが、実際には

: A_Item
: B_Item
: C_Item
: D_Item

とフィールド名の昇順に並び替えられて出力されました。

テーブルの構成上の順番に取得する方法がわかりません。
何方か、ご教示いただけると助かります。

閲覧数:
6
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

2019/10/2116:32:07

http://www.woodensoldier.info/computer/csharptips/146.htm

こちらを参考にしてみて、

For Each row In fTbl.Columns
Console.WriteLine(vbCrLf & " : " & row.ColumnName.ToString)
Next row

とかになるのかな?

ダメでしたらごめんなさい。

質問した人からのコメント

2019/10/21 16:47:34

あいがとうございました。

おかげでヒントをいただきました。

row("ORDINAL_POSITION")

で項目の順番情報を取得できました。

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる