2010/08/26

access2010 2007との互換性 どうなるか その4

2010で2007用ファイルを作るときに気が付いたこと。
CurrentDB.Versionの値が12.0から14.0に変化する契機を覚えておく。

新規作成後、CurrentDB.Versionは12.0。
12.0を維持できていれば2007で起動したときアラートは出ない。 だから、2007用ファイルを作るときは、新規ファイルにインポートする形をとる必要がある。当然にインポートするオブジェクトは、2010新機能を用いていないものでなければならない。

で、どのタイミングで12.0から14.0になるのか。

2010新機能がもつオブジェクトを保存したとき。たとえばフォームにWebブラウザコントロールを配置した場合、配置した時点ではまだ12.0。フォームを保存したとき14.0になる。テーブルでのデータマクロ集計フィールドも同様と思われる。実際そこまで確かめてないだけなんだが、おそらく。

一部の例外はマクロ。2010でマクロを作った場合は基本的に14.0になる。但し、マクロの新規保存では12.0のまま。マクロを修正した時点で14.0に遷移。上書き保存しなくても遷移。なので、インポートして2007用ファイルを作るとき、大丈夫だと思ってマクロを修正すると新規インポートからやり直しということ。また、ネストしたIFブロックとか2007が理解できないマクロは書かない。

2010/08/25

access2010 データマクロ


データマクロのパラメータ
レコードの参照
レコードの作成
ReturnVarsコレクション
LastCreateRecordIdentity
データマクロの実行

access2010 パッケージソリューションウィザード その7


パッケージソリューションを用いたアプリケーション配布ファイルの作成メモ
製品版もしくはRuntime環境への配布する場合にパッケージソリューションを使用すると便利。
ただし、2010版についてはセキュリティ設定に難があるので少しだけ手を入れる必要がある。
製品版で設定可能な信頼できる場所とするレジストリ登録が間違っているので、本来のレジストリ情報をウィザードで渡してあげる。

Orcaでregistry tableを修正してもよい

Package Solution Wizard まとめはこちら

access2010 2007との互換性 どうなるか その3


2007/2010各バージョンからaccdeを作成したとき、各々での動作。
2007製造/2010(32)動作のパターンを除き、動作しません。
オブジェクトが全くないaccdeでも同様。

2010から追加されたコントロールや機能を搭載した場合にどうなるのか。
サンプルには、Webブラウザーコントロールを使用。
2010から追加されたものが配置や設定された時点で、CurrentDB.Versionが14.0に変わります。削除しても12.0には戻りません。
データマクロ/集計フィールドをテーブルに追加した場合、2007ではReadOnlyとか参照できなくなります。

2010/08/23

access2010 動画でテスト


memo
Camstudio 1280-720  ffdshow H.264 8000kbpsでキャプチャ後、MediaEncoderx64でmp4にコンテナ入れ替え

access2010 Who am I?

Public Function WhoamI() As String
    WhoamI = Application.CodeContextObject.Name
End Function

2010/08/22

access2010 SQL Azure その2

Moving to the SQL Azure Cloud from Access or MySQL
なんという後押し感。ズゴッと背中を押された気分

access2010 SQL Azure

ちょっと面白そうだ。考えておこう。
SQL Azure
Windows Azure Platform 従量課金プラン
Access 2010 and SQL Azure
Microsoft Azure and Cloud Computing...What it Means to Me and Information Workers
  • Compute Instance Pricing is High
コンピューティングは高いよ。$86/月だよ、だけど、
  • SQL Azure is Very Reasonable
アプリケーションホストが不要でSQL Serverだけでいいなら、SQL Azureはお得だよ。$10/月+転送量だよ。容量1GBだけどそんなに使わねぇだろ。
と、言ってる気がする。

SharePointのホスティングでaccess serviceを使ったWebデータベースでもっさり使うよりはましなような気がする。というか、access serviceのホスティングって日本でどっかやってくれないなのかな。
http://accesshosting.com/というのがあるけれども、1GB/5ユーザで$49なんよね。

2010/08/20

access2010 パッケージソリューションウィザード その6

  • インストール先のサブフォルダ指定の件、
開発行き案件となったのだが、修正となるでしょうか。そっと見守るだけ。

  • レジストリの件
現時点においては修正されないことが確定。マジっすか。ユーザ操作によって本来必要なレジストリを指定できる手段が用意されているから。うすうすそうなるかと思ってましたが。

でもね、でもね、どう見ても2007のものをそのまま搭載しちゃったっていうのが原因じゃ、ゲフンゲフン
なんかのついでに 12.0 を 14.0 に直しておいてくれればいいのになと。

Package Solution Wizard まとめはこちら

access2010 マクロによるショートカット作成に関する不具合 その2

じゃぁどうするかっていうと、こうする。
コメントを挿入するとうまくいく。また。エラー対処しているとよい感じ。要はコマンド単一だと発生している感じ。 なぜだか、サブマクロの順番を変えるのも有効。

出会ったこのパターンが特異だったんだろうかな。コメント入れたら動くっつーのも早々に見つかったんだけれども、偶然がそんなに重ならないでしょと思えば、他にも発生するパターンってあるような気がする。
本現象については、開発向けに案件が移動したということなので、修正の有無についてはいずれ判明するんではないかと。思い起こせば、不具合と認識しているけど直さないままっていうのはあるかもね。

access2010 マクロによるショートカット作成に関する不具合 その1

Microsoft Answers に投稿していたのだけれど、MSのサポートを受けることができ、ひとまずの結果が出たのでメモ。現象の要約としては、マクロで作成したショートカットに割り当てたコマンドが意図しないコマンドとして実行されるということ。

このショートカットの構成は偶然な組み合わせなのだが、すこぶる調子悪い。
サブマクロ名:SortRemoveAllを押下すると、該当フォームがデザインビューになる
サブマクロ名:Filteringを押下すると、ClassModuleが新規作成される
サブマクロ名:DesendingOrderを押下後降順並び替えは実行されるが、チェックマークがつかない。
まぁ3番目はよしとしても、残り二つはRuntime環境でも発生しているので、もしかしてクリティカル?
Runtimeだとデザインビューにはならないが、壊れかけのレイアウトビューになり、ClassModuleが作成されたことがアプリケーション終了時に確認できる。

2010/08/05

access2010 データマクロの存在確認

コードで存在を確認するすべがないかな?と思ったらあった。
Sub FuncDataMacro()
    Dim cn As ADODB.Connection, rs As New ADODB.Recordset
    
    Set cn = CurrentProject.Connection
    
    rs.CursorLocation = adUseClient
    rs.Open "select LvExtra from MSysObjects where Name='テーブル1'", cn
    
    Debug.Print rs(0)
    
    rs.Close: Set rs = Nothing
    Set cn = Nothing
End Sub
ここでデータマクロ編集するつもりはないけど。