![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
VBAでPostgreSQLを読む処理を作成しています。
【例】
create table aaaaa (
sisya varchar(002),
busyo varchar(002),
suuchi decimal,
constraint aaaa_key primary key (
sisya,
busyo))
というテーブルを作成し
craete view vaaaa as select
sisya as v_sisya,
busyo as v_busyo,
sum(suuchi) as v_suuchi
from aaaa
group by sisya,busyo
というビューを作成して参照しています。
ACCESSのODBCで参照すると、正しく数値が入っているのですが、
viewをVBAから参照すると桁が落ちます。
60000が6になるなど。(不定期に。下4桁のゼロが消えているようです。)
vbaからでも正しく数値が吐き出されている場合もあります。
どのような原因が考えられるでしょうか?
お教えください。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>ACCESSのODBCで参照すると、正しく数値が入っているのですが、
>viewをVBAから参照すると桁が落ちます。
>60000が6になるなど。(不定期に。下4桁のゼロが消えているようです。)
ACCESSのODBC経由だと正しくて、VBAだと正しく表示できないなら、VBAの受け
取り変数の宣言や代入、出力方法に問題があるのではないでしょうか?
>vbaからでも正しく数値が吐き出されている場合もあります。
どういうケースで正しかったり、正しくなかったりという切り分けはできないのでしょうか?
今回の事象とは直接関係しないでしょうが、
>suuchi decimal
一般的には、decimal(m,n)と桁数を明示指定します。nは小数点以下の桁数、mは整数部桁数+nです。
省略した場合、桁数が何桁か、把握した上でこの指定をしていますか?
>sum(suuchi) as v_suuchi
>from aaaa
>group by sisya,busyo
この表定義は、(sisya,busyo)でプライマリキーにしています。「group by sisya,busyo」で「sum(suuchi)」としていますが、各グループの件数は1件なので、sum関数を使う意味はないのでは?
ご回答ありがとうございます。
decimalの有効桁数の省略値に関しては承知しています。
しかし何らかの影響があるのか?と思い、精度を指定してみましたが
変わりませんでした。
いろいろと試した結果、VBAでOLE DBで接続していたのですが、それが
原因だったようです。
通常のODBC接続にすると正しく計算されました。
お伝えする情報が少なかったのかもしれません。
しかし、原因を特定する足がかりにはなりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- Visual Basic(VBA) VBAのifで 4 2023/05/16 14:21
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLServerで文字列の末尾からあ...
-
データの先頭文字の置換
-
数値フィールドのワイルドカー...
-
Oracleのデータ型、NUMBERについて
-
文字列を time 型に変換するには。
-
文字列をsplitするSQL文を教え...
-
重複する項目を抽出したい
-
1、Rstudioで回帰直線を求める...
-
差し込み後、元データを変更し...
-
excel2013 MonthDays 関数が使...
-
外部参照してるキーを主キーに...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
-
SELECT 文 GROUP での1件目を...
-
for whichの使い方
-
datetime型でNULL値を入れたい。
-
SQLで特定の項目の重複のみを排...
-
SQLサーバから、項目の属性(型...
-
EXISTSを使ったDELETE文
-
処理件数を非表示にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLServerで文字列の末尾からあ...
-
Oracleのデータ型、NUMBERについて
-
データの先頭文字の置換
-
数値フィールドのワイルドカー...
-
文字列をsplitするSQL文を教え...
-
文字列からアルファベットだけ...
-
あいまい検索で数字から始まるもの
-
文字列を time 型に変換するには。
-
select文の書き方で分からない...
-
PostgreSQLのvarcharとtext
-
v$sysstatの値がオーバーフロー
-
数値が定期的にあらわれる文字...
-
VBA 3重ループ 独学勉強中
-
MySQL 文字列関数
-
T-SQL ユーザ定義関数 指定し...
-
VIEWから読むと桁落ちするんです
-
select条件で文字列項目...
-
差し込み後、元データを変更し...
-
外部参照してるキーを主キーに...
-
フィルターかけた後、重複を除...
おすすめ情報