|
こんにちは、YU-TANG です。
何となく思ったことをつらつら書いてみますが。
Access のネイティブオブジェクトの内部処理は、Access 2003 に
至るまで一貫して DAO/Jet-SQL で統一されています。したがって
リストボックスの RowSource などは Jet-SQL マナー(ワイルド
カードは * )になると私は理解しています。
Access 2002 以降は [ツール]-[オプション] に ANSI SQL モードと
SQL92 モード(ワイルドカードに % を使うのはこちら)の切り替え
箇所があると聞いていますが、私は Access 2000/DAO メインのユーザー
なので、その影響範囲がどこまで及ぶのかは知りません
MDB ファイルのデータベースエンジンはあくまで Jet ですから、
ADO 接続は仮にそれが自 MDB に対するものであったとしても、事実上
外部接続と理解しています。
例えるなら隣の部署の人に内線ではなく外線で電話をかけるような
ものでしょうか。
したがって、MDB 内の閉じた処理では(たとえ M$ がどんなに PR
しようと)ADO を使う意味はほとんど無いと考えています。
# Jet-SQL 4.0 の一部の新機能は ADOX からしか使えないものが
# 有るので、そのときは止むを得ず使うこともありますが。
% での SQL がなぜ ADO 接続で正しい RecordCount を返さないのか
については、私自身ほとんど ADO を使わないので分かりません。
何となく CursorLocation がアヤシく感じますが、根拠無しです。
|
|