2017-01-25 1 views
0

から数値フィールドを認識してください私は私のSQLサーバー上のストアドプロシージャに接続している私のExcelシートにリンクテーブルを作成している、とExcelがインポートされたストアドプロシージャ

Sheet.Range("TableName").ListObject.QueryTable.Refresh BackgroundQuery:=False

このようなマクロを経由して、それを更新偉大な作品が、テキストとして数値の列を取得し、私のマクロは、これらのテキスト値で数学をしようとすると失敗します。

私の現在の回避策は、数値としてこれらのフィールドを認識するために、Excelを取得し、各数値フィールド、ため

Sheet.Range("TableName[[#All],[NumericField]]").Value = Sheet.Range("TableName[[#All],[NumericField]]").Value

を呼んでいます。これはうまくいくが、ちょっとした感じがする。

ストアドプロシージャのフィールドが数値であることをExcelに認識させる他の(より良い)方法はありますか?あなたはExcelが数値としてそれらを認識したい場合は、コメントから答えを定式化

+0

クエリは実際に数値を数値として返しますか?小数点区切り記号は関係していますか?データは数値フィールドに格納されていますか? –

+0

Excelは、クエリのメタデータがnumbers *であることを示す限り、数字を数字として認識する必要があります。ストアドプロシージャを見て、どこから選択しているかを確認し、テーブルが数値を数値として格納していることを確認し、それに応じてプロシージャを変更して数値フィールドを実際の数値にキャストしてください。 –

+1

さて、私はあきらめて、フィールドはnvarcharです。ありがとう!うまくいけば、それは私が今日やることのない、馬鹿げたことです。 :) – nwhaught

答えて

関連する問題