おもいだす
過去記事貼り付け機能を試す。過去を振り返りすぎるきらいのあるわたし。
今でももう一度飲みたいと思っている。検索してみたらこんなのを発見した。
Tottemo(トッテモ)ちゃんオンラインショップ Tottemo*History
キャラだけは健在なようだけど、ミルクティーも多摩ビヴァレッジも既に…。
はてなダイアリーからのインポート
「今日の一枚」だっけか、添付画像が別記事になってる。まあいいか。
Access 2007の日付選択カレンダーで、値を変更しても反映されない 解決編
変更時イベントが発生した時点では、Valueは元の値のままだというのが問題だった。
しかし、テキストボックスのTextプロパティで、変更後の日付を取得できることがわかった。
もちろんこれはテキスト形式になっているわけだが、Formatを使ったりすれば大丈夫…だろう。
クエリの結果で、日付選択カレンダーが要らないのに表示される
クエリのプロパティでは、日付選択カレンダーの表示・非表示は設定できない。たぶん。
編集ロックしてるのにも関わらず、日付選択カレンダー表示ボタンが隣のフィールドの文字にかかって、読めなくなったりして困る。要らない場合は、日付のフィールドの定型入力プロパティに何か設定してやると表示されなくなる。
Access 2007の日付選択カレンダーで、値を変更しても反映されない
Accessでいろいろ発見したのでついでに。
ちなみに、Access 2007 SP1です。SP2だと直ってるかも知れません。SP2にしたくてもできない環境。
日付を入力するテキストボックスに、日付選択カレンダーを簡単に表示できるようになったのは、Access 2007のちょっとした喜ばしい点。もう参照設定に悩まされなくて済む…といいのだけど。さて、この日付選択カレンダーを表示させたテキストボックスの、変更時イベントに日付が変わった場合の何かを書いても、反映されないという現象。
変更時イベントはちゃんと発生している。そこで動作を追いかけてみると、テキストボックスの見た目の値は変わっているのに、中の値は変わらず以前の値のままの様子。フォーカスを一度どこかへ移すと、中の値が更新されるようだ。じゃあ変更時イベントじゃなくて…何だろ。とりあえずは別のコントロールにSetFocusして逃げた。追々究明してみる。
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にしてみたが、状況は変わらなかった。
条件を付けたら使えるとはいえ、やはり不安。何か間違っているだろうか。