[pgsql-jp: 38904] Re: Excel VBA + ODBC 接続でデータ取得で、先頭1桁を返す場合がある?
Hiroshi Inoue
inoue @ tpf.co.jp
2007年 10月 27日 (土) 23:52:02 JST
井上です。
vyx02237 @ nifty.com wrote:
> 樋口です。
>
>
>> これは具体的にどのような現象でしょうか?
>> 簡単なサンプルコードで示していただけるとありがたいのですが。
>>
>
> ドライバーのバージョン 管理ツールのデータソースで見えるバージョンを
> 上げながら、下記のコードを走らせて見ました。
>
> コード
>
> Function odbctest()
>
> Dim ThisCon As ADODB.Connection
> Dim ThisRecordset As ADODB.Recordset
> Dim sqlstr As String
>
> Set ThisCon = New ADODB.Connection
>
> ThisCon.Open "Provider=MSDASQL; DSN=PostgreSql; UID=********; PWD=******"
>
> Set ThisRecordset = New ADODB.Recordset
>
>
> ThisRecordset.CursorType = adOpenKeyset
>
> ThisRecordset.Open "select * from generate_series(1,3);", ThisCon
>
> Debug.Print ThisRecordset.RecordCount
>
> While ThisRecordset.EOF <> True
> Debug.Print ThisRecordset.Fields.Item(0)
> ThisRecordset.MoveNext
> Wend
>
>
> Debug.Print ThisRecordset.RecordCount
>
> End Function
>
> --
>
> 8.01.02.00 動作正常
> 8.02.02.00 動作正常
> 8.02.03.00 ダメ
>
> 以上の結果となります。 8.02.03.00の場合、
> debug.prin の結果は
> 3 --recordcountは正しい
> 1 --eof が正しくなく、ループしてない。
> 3 --recordcountは依然として正しい。
> となります。
ありがとうございます。
こちらで同じようなコードを8.2.0300で走らせましたが
3
1
2
3
3
となって問題ない結果に見えます。オプションの設定
あたりが微妙に違っているのかもしれません。差し支
えなければMylog出力を直接私宛に送っていただけませんか?
pgsql-jp メーリングリストの案内