SQLiteをAccessから使う

SQLite ODBC Driverを使って、Access 2007からSQLite3を使っている。珍しいかも知れないが、色々考慮した末こんなことになった。

で、以下のクロス集計クエリを実行してみて、どうにもおかしいので詰まった。

TRANSFORM Sum(nantara.jikan) AS jikanの合計
SELECT kantara.kantara_name
FROM kantara INNER JOIN nantara ON kantara.kantara_code = nantara.kantara_code
GROUP BY kantara.kantara_name
PIVOT nantara.hiduke;

jikanとhidukeはDATETIME型。結果、値の時間がすべて整数になる。上のSQLは試験のため取ってあるが、実際はFormatで時刻書式にするので、これだと全部00:00になってしまう。

しかし、

TRANSFORM Sum(nantara.jikan) AS jikanの合計
SELECT kantara.kantara_name
FROM kantara INNER JOIN nantara ON kantara.kantara_code = nantara.kantara_code
WHERE Year([nantara]![hiduke])=2009
GROUP BY kantara.kantara_name
PIVOT nantara.hiduke;

これだとOK。
違いはWHEREが入っているかどうかなのだが、例えばkantara_codeを条件にしても同様に整数になってしまう。とりあえずhidukeを条件にすると小数になってくれるようだ。
Access純正データベースにテーブルを、「テーブル構造とデータ」としてコピーしてみて、上記の二つのクエリを実行したら、どちらも大丈夫だった。

SQLite ODBC Driverが0.80なのに気付いて、最新版の0.83にしてみたが、状況は変わらなかった。
条件を付けたら使えるとはいえ、やはり不安。何か間違っているだろうか。