1

この EXCEL VBA での選択は、Excel の数値形式になります。

strSQL = "SELECT * FROM OPENQUERY(dtb, 'SELECT col from table')"

しかし、列に関数を作成すると、Excel でテキスト形式になります。

strSQL = "SELECT * FROM OPENQUERY(dtb, 'SELECT sum(col) from table')"
strSQL = "SELECT * FROM OPENQUERY(dtb, 'SELECT col*1.0  from table')"
strSQL = "SELECT * FROM OPENQUERY(dtb, 'SELECT col-1    from table')"

試してみましたがto_number(...)to_number(to_char(...))役に立ちませんでした。

なんで?どうすればこの状況を解決できますか?

解決策(SQL サーバーのキャスト関数を使用して列を数値に変換する)

strSQL = "SELECT cast(col# as numeric(10, 2)) col# " _
         "FROM OPENQUERY(dtb, 'SELECT sum(col) col# from table')"
4

1 に答える 1

0

解決策(SQL サーバーのキャスト関数を使用して列を数値に変換する)

strSQL = "SELECT cast(col# as numeric(10, 2)) col# " _
         "FROM OPENQUERY(dtb, 'SELECT sum(col) col# from table')"
于 2012-10-12T13:04:08.407 に答える