2017-01-10 7 views
1

Iは、以下の方法を使用する場合:MS-アクセスもレコードは、値が転置さ

rstArray = rs.GetRows(rs.RecordCount) 

アレイへの出力が同様のサイズである:

rstArray(1,6) 'just an example 

実際に出力(

rstArray(6,1) 'again just an example 

私は質問がなぜ転置されるのですか?

どうすればいいですか?私は遅いバインディングを使用していて、Excelで作業している場合はapplication.tranposeを使用できますが、Accessの場合はどうなりますか?

答えて

2

これは、方法GetRowsです。 Excelの転置機能を使用することができますが、レコード数がExcelの最大列数を超えた場合は、常に機能しません。

  1. ループアレイ上代わりに又は行 - 列列行インデックスを使用して:

    あなたは3つのオプションを有しています。

  2. 転置を行うヘルパー関数を記述します。
  3. Excelにデータを挿入するだけの場合は、GetRowsを使用しないでください。代わりにRange.CopyFromRecordsetメソッドを使用してください。
+0

私はこの答えを恐れていました。私は現在、オプション#1をしています。私はこの現在の関数のAccessで100%作業していますが、レコードセットのコピーをよく知っていました(Excelからのアクセスに分岐しましたか?) – Phesago

+0

技術的にはExcelからADOに分岐します。 ;-) – ThunderFrame

+0

これはばかな質問かもしれませんが、ADOは何ですか?これは基本的にDAOとADDOBの違いですか?もしそうなら、私はすでにそれを理解していると思います。 – Phesago

0

使用Application.WorksheetFunction.Transpose (rs.GetRows)

よろしく、 TheSilkCode

+0

'rs.GetRows'から返された配列にヌル値が含まれている場合、' Runtime Error '13':Type mismatch'がこの方法で発生します。 –

関連する問題