2013/11/21

Office 2010 SP2 KB2911960

なんだかなぁ。
Office 2010 SP 2 の適用後インストールされていない Office 2010 製品が追加される動作について
まぁいいけど。でも、あんまりよくないこともあるけど。

2013/11/16

Office 2013 クイック実行 Office 展開 - 6

以前のバージョンの Office 2013 クイック実行に戻す方法
というのがあったので。
更新バージョンを最新でないものなどにすることができる話で、オンライン修復のオプションみたいな感じ。
管理者権限で、
integratedoffice.exe REPAIRUI RERUNMODE version 15.0.xxxx.yyyy
と実行すればよし。

2013/11/13

Office 2013 クイック実行 Office 展開 - 5

ちょうど更新も来たことだし、締めくくり的な感じに。
<Configuration>
  <Add SourcePath="\\ServerName\SharedFolderName\">
    <Product ID="">
      <Language ID="ja-jp" />
      <Language ID="en-us" />
    </Product>
  </Add>
</Configuration>
<Configuration>
  <Add SourcePath="\\ServerName\SharedFolderName\" OfficeClientEdition="64">
    <Product ID="">
      <Language ID="ja-jp" />
      <Language ID="en-us" />
    </Product>
  </Add>
</Configuration>
こんな感じでダウンロードしてリポジトリに配置した。
 v32.cab と v64.cab は最新バージョンのお知らせに使用されるので上書きしてしまって構わない。

2013/11/08

Windows 8.1 Hyper-V 久しぶりのXP

ほんと久しぶりにXPマシン(仮想)を作っていたのだけど、
Windows XP や Windows Server 2003 環境において、Windows Update 実行時に Svchost.exe の CPU 使用率が 100 % となる、時間を大幅に要する
こんなの該当していたとはね。どうりで Windows Update が終わらんわけだ。かーっ。

2013/11/07

Office 2013 クイック実行 Office 展開 - 4

もう少し更新バージョンについて簡易に運用できないか。そんなことを試してみた。
<Configuration>
  <Add SourcePath="\\ServerName\SharedFolderName\">
    <Product ID="O365ProPlusRetail">
      <Language ID="ja-jp" />
    </Product>
  </Add>
  <Updates Enabled="TRUE" UpdatePath="\\ServerName\SharedFolderName\" />
</Configuration>
とした時、用意したリポジトリを使用し製品のインストールとアップデートが行われるのだけど、リポジトリにアップデートに必要な範囲で情報が存在すればいいのではないかということ。UpdatePath 属性の設定が無視される事象がなければよいのだが、今のところ見当たらないのでおそらくこんな感じなるのではないかと思った。ただ、オンライン修復を実行してしまうとカスタマイズした内容ごっそりと上書きされてしまうことはわかっている。

2013/11/03

Office 2013 クイック実行 Office 展開 - 3

インストールとアンインストールができたので、Office の更新バージョンの運用。
<Configuration>
  <Add>
    <Product ID="O365ProPlusRetail">
      <Language ID="ja-jp" />
    </Product>
  </Add>
</Configuration>
とすれば、展開時最新の更新バージョンでインストールされるが、意図的にバージョンを指定するときなどについてなど。

Office 2013 クイック実行 Office 展開 - 2

展開に使用するファイルのダウンロードが済んで共有フォルダに配置したので、続いてインストールと削除について。

構文:setup.exe /configure config.xml
かなりシンプルな設定だとこの通り。
<Configuration>
  <Add>
    <Product ID="AccessRetail">
      <Language ID="ja-jp" />
    </Product>
  </Add>
</Configuration>
この設定では、Access 単体製品(x86)日本語版の実行時最新バージョン をMSが提供する CDN を使用しインストールが行われる。


Office 2013 クイック実行 Office 展開 - 1

そのままでもインストールは早く済むのだろうけど、インターネット上から何度もダウンロードするのも避けたい時もあるだろうし、製品アップデートを制御ってどうするかなと。
いまさらなのだけど、片付けておきたいので。
最低限必要な資料/ツールは以上。Office 365 ProPlus となっているけれども、
それら以外の製品(他スイート/単体)もサポートされているのでいろいろと使えそう。

2013/10/28

Office 365 Access アプリ -42- 境界

以前にも取り上げていたのだけど、
Office 365 Access アプリ -35- データベースサイズ
情報が
Software boundaries and limits for SharePoint 2013 / SharePoint Apps limits
更新されていたので 。

Office 365 上で作成した Access アプリのデータベースはWindows Azure SQL データベース上にアプリごとに作成されて、1GBが上限。オンプレミスで展開している SharePoint 2013 については、使用されるSQL Server 2012 次第。
そして、app パッケージは100MBまで。

2013/10/14

Office 365 Access アプリ -41- 既定となる言語や照合順序

SharePoint サイト上で新規作成する場合はサイトの"地域の設定"に依存するのだけど。

デスクトップから新規作成する場合、OSの設定 [地域]の影響を受けるようだ。

2013/10/09

Access 2013 KB2768008

とりあえず、KB2752093の件は解決でよいか?
 Description of the Access 2013 update: October 8, 2013
 今月もだばーっと出てますけど。
October 2013 Office Update Release
Click-to-Run は、15.0.4535.1511でいずれ更新ということで。

2013/10/08

Access 2013 KB2752093 途中経過 - KB2894086

ということですよ
The symptoms listed above appear only in Office 2013 installations that were installed using the MSI installation files.
You may choose to uninstall the September 2013 Public Update for KB2752093 and wait for the next public update for Microsoft Access 2013.
 アンインストールして次を待てと。

2013/09/14

September 2013 Office Update Release

今回は調子悪いことばかり。詳細は、Technet Blogs : Microsoft Office Updates で。
September 2013 Office Update Release
September 2013 Office Update: Targeting and Repeated Offering
さっき WSUS をチェックしてみたら
  • Security Update for Excel 2003 (KB2810048)
  • Security Update for Microsoft Office SharePoint Server 2007 (KB2760589) 32-Bit Edition
  • Security Update for Microsoft Office SharePoint Server 2007 (KB2760589) 64-Bit Edition
  • Security Update for Microsoft Office 2007 suites (KB2760411)
  • Security Update for Microsoft Office 2010 (KB2767913) 64-Bit Edition
  • Security Update for Microsoft Office 2010 (KB2767913) 32-Bit Edition
  • Security Update for Microsoft Office 2013 (KB2810009) 64-Bit Edition
  • Security Update for Microsoft Office Excel 2007 (KB2760583)
  • Security Update for Microsoft Office Excel Viewer 2007 (KB2760590)
  • Security Update for Microsoft Office 2007 suites (KB2760588)
これらの再リリースを取得していたので、MS13-072/MS13-073/MS13-074を確認すると、
Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2845537)
Vulnerabilities in Microsoft Excel Could Allow Remote Code Execution (2858300)
Vulnerabilities in Microsoft Access Could Allow Remote Code Execution (2848637)
は、更新されています。 脆弱性を解決するファイル更新については変更なし。Access 2013(x64)環境KB2810009の更新が失敗したとなる現象は解決した。

Access 2013 の製品アップデートKB2752093 についてはもう少し待つ。

2013/09/11

Access 2013 KB2810009 MS13-074

Update : 2013/09/14 (JST) 解決していることを確認
なにしてんのぉ
MS13-074: Description of the security update for Access 2013: September 10, 2013
Vulnerabilities in Microsoft Access Could Allow Remote Code Execution (2848637)
 失敗しまくり。

Access 2013 KB2752093

結局のところ、何の修正をしたのか。。。
Description of the Access 2013 update: September 10, 2013
よくわかんねっす。
いったい何がしたいのだ。

2013/09/06

Office 365 Access アプリ -40- KB2885199

遭遇する経緯がなかった。
Access 2013 web app Add button disabled in view
必須フィールドに連結されるコントロールがビューに存在しない時、新規レコードボタンが無効のままになるという話。
対応方法としては、
  • 必須フィールドとしない
というのが挙がっているけど、
  • 既定値を設定しておく
でもよい気がする。

2013/09/01

Office 365 Access アプリ -39- チャートを表示する

見様見真似でもなんとかなるか。


なんとかなった。表示部分だけど。
なにげにラベルの色分けとか整理されているし。

2013/08/28

Google Charts - Timeline

お、いいね

Access アプリで使うような気がする。InternetExplorer だとちょっとあれだっただけど。
 Google Charts - Visualization: Timeline

2013/08/26

Professional Access 2013 Programming

Professional Access 2013 Programming を読んでいます。

いつものWROX シリーズ。ぐずぐず言ってても仕方がないので英語だけど読みます。
Inside Out同様、Access アプリの内容が多いです。どんだけって感じですが嫌いじゃないのでよい。
気になっていた内容があって読んでいたのだけど、なるほどねぇと面白かった。Access アプリ上でChartを表示させることとデスクトップとの統合って話。ChartはGoogleを使ったサンプルで今更ながら javascript を少し勉強する羽目になった。その他、Inside Out より実践に近いサンプルとかあったので今後参考にしていこうかと。

2013/08/03

Office 365 Access アプリ -38- カスケード コンボボックス

Access アプリに新しい機能が追加されたというお話です。
Access Blog
Introducing a new user experience feature in Access web apps: Cascading Controls
追加された機能は絞り込みされるコンボボックスなのだけど、追加された機能よりは機能が追加されるプロセスの方が重要ではないかと思ったりする。Office 365 上で提供されるサービスだからさらっとできることなのだろう。

"親コントロール / Parent Control" プロパティが追加になっている。このプロパティに指定できるコントロールは、コンボボックス コントロールもしくは、オートコンプリート コントロール。
親コントロールが更新されると該当のコンボボックス コントロールの"値集合ソース / RowSource"がフィルタリングされる仕組み。親コントロールが未選択になると"Disabled"になる親切仕様なのである。

2013/07/21

Microsoft Access 2013 Inside Out

Microsoft Access 2013 Inside Out を読んでいます。

いつもの Inside Out シリーズなのだけど、徹底解説ってとこでしょうか。 Paperbackの入荷を待ってるのもなんなんで、O'LEILLY から eBook を購入してみた。$22くらいになったので迷うことなく。
850ページくらいのボリュームのうち、600ページを超えて Access アプリ に関する解説なので、一度は読んでおきたかった。フリーの付録も結構な量。入門書とかの類ではないのが良いかな。

著者は、Jeff Conrad:Access Junkie

2013/07/02

Access 2013 Runtime リリース

Access 2013 ランタイムがリリースされました。

MSI Version で 15.0.4517.1004 っぽいかな

2013/06/28

Office 365 Access アプリ -37- リンク テーブルで接続する

  リンク テーブルとして接続する手順のメモ。接続してからどうするかはお好みでどうぞ。
  すべては バックステージ > 情報 > 接続 から始まる。

  ここでは、
  • Windows Azure SQL データベースのファイアーウォール設定
  • 接続アカウントの有効化
  • 接続情報の取得
を行うことがまず必要。

2013/06/22

Office 365 Access アプリ -36- TechEd North America 2013 SES-B309

Access Services に関するセッション。概要の説明やデモ。
Real SharePoint Apps, Real Fast with the New Microsoft Access 2013


Office 365 Access アプリ -35- データベースサイズ

  境界: 仕様によって固定されている超過不可能な静的な制限

  Office 365 上のSharePoint サイトに配置したAccess アプリの本体であるデータベースはWindows Azure SQL データベースなのだけど、それには最大容量とか境界がある。確認の方法は簡単、
SELECT
    DATABASEPROPERTYEX(DB_NAME(),'Edition'),
    DATABASEPROPERTYEX(DB_NAME(),'MaxSizeInBytes')
  問い合わせると、Web エディション / 1GB という結果になる。

  まぁ、充分でしょう。

2013/06/16

Access 2013 YouTube officevideos -2-

  クエリの抽出条件について、基本的なこと。クエリデザイナ上での記述の仕方とか。特別なものではないけど、基本的なテーマだとは思う。

Training: Use query criteria in Access 2013: The basics tutorial - Video 1 of 4


Access 2013 YouTube officevideos -1-

  YouTube Officeのチャンネルにドサッと ビデオ が投稿されたのでリンク。すべて英語ではあるけれどもペースは速くないので見てるとなんとなくでもわかるはず。

"まずはやってみよう"的なところから。
Training: Create your first Access 2013 database: Create an Access desktop database - Video 1 of 2

2013/06/08

Surface Pro を購入した

  いつになっても新しいマシンを手にするとうれしいものである。

  先週末、Surface Pro を購入した。 以前からタッチ対応のラップトップ が欲しかったから。
すでにラップトップを所有していれば、Surface に限らず RT搭載を買っていたかな。お出かけのいつものお供が欲しかったわけでもないから、バッテリーや重さ的なところも別に気にならない感じかなと。
  で、早速、OSは en-us な環境などにした。同梱 Office 2013 は使用せず、Office 365 ProPlusを展開して、Access 2013 が含まれる環境に。Office 2013 は en-us / ja-jp で使いたいし。

2013/06/02

Office 365 Access アプリ -34- テキストボックス コントロール 既定値

まさか、テキストボックス コントロールで嵌るとは思わなかった。

  "既定値 / DefaultValue"プロパティの設定された状態により使用される値が変わるのはどうなのと思ったけど、何とか原因が掴めたのでよかった。


  "既定値 / DefaultValue"プロパティ を設定した テキストボックスから取得できる値が微妙なのである。いくつかのパターンと解決策を探ったことのメモ。

2013/05/27

Office 365 Access アプリ -33- 日付/時刻関数 - DateAdd/DateDiff/EOMonth

よく使う関数についてメモをしておく。こういうのは勢いが大事。そして、後で考える。
DateAdd 関数 (Access 2013 カスタム Web アプリ)
DateDiff 関数 (Access 2013 カスタム Web アプリ)
EOMonth 関数 (Access 2013 カスタム Web アプリ)
DateFromParts 関数 (Access 2013 カスタム Web アプリ)
  特別にややこしいものはない。DateFromParts 関数の第2引数は 1から 12、第3引数は 1から 31で存在しない日付になる場合は エラーになる。いずれかが Null の場合、Null が返る。月末を求める EOMonth 関数があるのでいかようにもなるかなと。

2013/05/26

Office 365 Access アプリ -32- 日付/時刻関数 - DatePart

DatePart 関数(VBA)があるので用途を理解するのは簡単なのだけど。
DatePart 関数 (Access 2013 カスタム Web アプリ)
  Format 関数は クエリ とデータ マクロでのみ使用できるから、おのずと DatePart 関数を使うことが多くなるのかなと。



Office 365 Access アプリ -31- テキスト関数 - Concat / Stuff

  Office 365 上の Access アプリ で使用できる関数は、Access デスクトップ データベース で使用できる関数とは異なる。"Windows Azure SQL データベース"が使用されるから、Transact-SQLの関数がベースになっているのだろう。

  まず、文字列を連結する演算子は、 "+"。文字列フィールド、もしくは文字列変数を連結は、
[Field1] + [Field2] + [Field3]
となり、連結される文字列に Null が含まれる場合、結果は Null になる。また、文字列の結合に"&"演算子が使用できないことについては、
Concat 関数 (Access 2013 カスタム Web アプリ)
を使用する。
  • 引数は2つ以上が必要
  • 引数は暗黙の変換で文字列になる
  引数に Null が含まれても必ず文字列が戻り、すべてが Null である場合、長さ0の文字列が戻る。

2013/05/09

Office 365 Access アプリ -30- カレンダーUI など作ってみたい

なにかと必要な カレンダー を模した UI を作っておきたいかなと。


2013/05/03

Office 365 Access アプリ -29- 概要 ビュー について

以前に"概要 / Summary" ビューがどんな感じのものか見ていたけれども、もう少し詳しく確認してみた。
Access2013 -9- カスタムWebアプリ 概要 ビュー
  さきに、"概要 / Summary" ビューについて理解したこと。
  • "リスト ペイン"と"関連 アイテム / Related Item" コントロールのサブセットで構成されている。
  • レコードソースはビューごとの"埋め込み クエリ / Embedded Query"ともいえる。
説明に使用するテーブル定義

2013/04/28

Office 365 Access アプリ -28- ポップアップを表示する マクロ アクション

 "ビューの変更 / ChangeView" マクロ アクションと似ているので、その違いなど中心をメモ
OpenPopup Macro Action (Access 2013 custom web app) (まだ、英語)

  条件(Where) / 並び替え(Order By) 引数は、"ビューの変更 / ChangeView" マクロ アクションと同じ仕様。ビュー(View) 引数はすべてのビューから選択できるのが違う点。 

Office 365 Access アプリ -27- ビューの変更 マクロ アクション

Where 条件式の記述がすんなり頭に入らなかった。
ChangeView マクロ アクション (Access 2013 カスタム Web アプリ)

  ビュー名は当然なのだけど、テーブル名も必須なのである。"ビューの変更 / ChangeView" マクロ アクションでは、テーブルに紐づけられた"ビュー"のみ指定できる。ポップアップでのみ使用する独立したビューは指定することができない。
  テーブル(Table) / ビュー(View) / 並び替え(Order By) 引数は文字列、Where 引数のみ式引数になる。条件引数の記述がうまくいかないなぁということが多いかもしれない。

Office 365 Access アプリ -26- 変数の設定 マクロ アクション

レファレンスには"一時変数"とされているけど、変数自体を任意に削除する方法はありません。
SetVariable マクロ アクション (Access 2013 カスタム Web アプリ)

  当たり前ですが、
  • 変数名を指定する"変数 / Variable"
  • 代入する"値 / Value"(式引数)
は必須です。"値 / Value"は式引数なので、UI マクロで使用できる関数で演算した結果を代入することも可能。

2013/04/27

Office 365 Access アプリ -25- マクロの中止 マクロ アクション

"マクロの中止 / StopMacro"は、データ アクションとマクロ コマンドのそれぞれにある。

  役割としては実行しているデータ マクロもしくは、UI マクロを中止するというところが同じ。
  • "マクロの中止 / StopMacro" マクロ コマンド (UI マクロ)
  • "マクロの中止 / StopMacro" マクロ アクション (データ マクロ)
ポップアップの内容はどうでもいい。
  だが、データ マクロ上で使用する場合がある"マクロの中止 / StopMacro" マクロ アクションは COMMIT TRAN を実行してデータ マクロを終了する。別な表現、するべきところであれば COMMIT して終了する。

Excel VBAの書籍を読んでいます。

勉強させてもらいます。○┐ペッコリ
Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応
 VBAアクションゲーム?Excel(エクセル)で動かそう! の近田さん(Excel MVP)の著書です。

Office 365 Access アプリ -24- 外観の変更

Access アプリの全体的なデザインはサイトのテーマに依存する。

  デフォルトの設定では、"Office"となっていてすっかり見慣れた配色なのだけど、サイトの設定でテーマ / 配色 / 背景をカスタマイズするという感じ。


2013/04/21

Office 365 Access アプリ -23- テーブル イベント サンプル2

テーブル イベントを利用したサンプル。

  [エラーの生成 / RaiseError] マクロ アクションを使用することで例外をスローし、レコードの操作をロールバックさせることも可能。Access アプリの各ビュー上での操作でも特段のマクロ記述なく実行されるので、過度なものは論外として普通に使っていくものだと思う。


  テーブル:在庫にアイテムの在庫数が記録されていて、テーブル:出庫に出庫数に関するレコードを挿入することで、在庫数を更新するのが主なシナリオ。レコードが挿入されるときの在庫数によって異なるアクションを実行するロジックも含める。

Office 365 Access アプリ -22- テーブル イベント サンプル1

3種類のテーブル イベントを使用するよく見かけるサンプル。証跡を記録。

 フィールド:Field01を持つテーブル:table01の
  • レコードの挿入
  • フィールドの更新(更新前後の値)
  • レコードの削除
を、それぞれのテーブル イベントで別のテーブルに記録を行う。

こんな感じのものを記録していくサンプル

Office 365 Access アプリ -21- テーブル イベント 更新時

更新時テーブル イベントを用いてレコードが更新された日時を記録する。

  すでにレコードの更新日時を用意してある。

  ただ、これだと問題がある。

Office 365 Access アプリ -20- テーブル イベント 挿入時

データ マクロに続いてテーブル イベント。まずは"挿入時 / OnInsert" テーブル イベント。

  テーブルイベントは、
  • 挿入時 / OnInsert
  • 更新時 / OnUpdate
  • 削除時 / OnDelete
の 3種類。記述したマクロ アクションは、SQL Azure データベース上の DML トリガー(After トリガー)に変換されそれぞれのイベントで実行されるストアド プロシージャということ。
DML トリガー : MSDN
  レコードが挿入された時間を保存するフィールドを用意。

2013/04/15

Office 365 Access アプリ -19- 照合順序を変更する

Office 365 / Access アプリで使用される SQL Azure データベースの照合順序を変更するチャレンジ。結果としては実現していると思われるのだけど サポートされる方法ではないと思う。

  データベースの照合順序はAccess アプリを作成した時点の[サイトの設定]→[地域の設定]の内容が採用される。再確認していないが、[並び替え順序]が"日本語"になっていれば、"Japanese_XJIS_100_CI_AS_KS_WS"となっているはず。そもそも照合順序が違う事態にならなければよいのだけれど、そうもいかない場合もある。素敵な サンプル アプリがあってもそれが en-US な Access アプリであれば作成された時の照合順序が使用されてしまうから、おそらく"Latin1_General_100_CI_AS_KS_WS"になるはず。
  この Access アプリを Office 365上だけで使用する分には大きな影響はなくてそこそこ問題なく使えるはず。レコードをソートしたときの順序が異なる場合があるくらいだろうか。ただし、デスクトップ上のAccess ファイルから直接 SQL Azureに接続した場合には、デスクトップ上のクエリでの抽出結果は意図しないものになる場合などがある。どうしてもこれを避けたいとして、SQL Azure データベースの照合順序を変更するときどうすればよいか調査を行った。

2013/04/12

Office 365 Access アプリ -18- データマクロ エラーの生成

エラーの生成 / RaiseError マクロ アクション を確認してみる。


  エラーの説明 / Error Description のみを引数として、データ マクロ で UI にメッセージを表示させる唯一の方法なのである。SQL Azure上ストアドプロシージャに変換される内容は、
TRY ブロック内で、THROW 50000, N'エラーがスローされます', 1 となる。実行後、CATCH ブロックに移り、マクロトレースなどに関する処理を終え、再スローされる。例外をスローだな。なんかへんだなと思ってた
  ただ、使用については気を付けておくことがある。

Office Cumulative Update for April 2013

定例の更新です。

  Access については、1 件。Cumulative Update for April 2013
  [外部データ]タブを選択して、データベース を閉じるか、新規 データベース を作成しようとするとAccess が クラッシュ する件。まぁ、クラッシュ はダメだわな。C2R 環境に対してはそのうちやってくることでしょう。

 別件、
で、mscomctl.ocx / MS12-060 に関連した アップデート が先月でているから、使っている人は見ておいたほうがいい。

2013/04/06

Office 365 Access アプリ -17- 起動時マクロ

起動時マクロ/On Start Macro は、Access アプリ が起動する時のみ実行されるマクロ。


  当然、Access アプリ に起動時マクロ はひとつだけ。

この場合、起動のたびにユーザ名が表示される。

2013/04/01

Office 365 Access アプリ -16- データマクロ レコードを挿入する

データマクロで新規レコードを挿入する。ちょっと小細工。


  データマクロでテーブルにレコードを挿入する場合、レコードの作成/CreateRecord データブロックで追加すればよい。だけど、ユニークインデックスであるとかの理由によって挿入できない時がある。

盛大にアラートが出る。
  あらかじめ想定できることは対処しておく。


2013/03/31

Office 365 Access アプリ -15- レコードの再クエリ

あまり手を加えない方向が良いと思うのだけど、これくらいは。

  レコードの再クエリ/RequeryRecords マクロ アクションは使っておくことになるかなと。


  まぁ当然にこのようなことは起きるわけで、"F5" 押下でブラウザのリロードでもよいのだけど UI として用意するのもよいじゃね?と思う。


2013/03/27

Office 365 Access アプリ -14- アクションバー

リスト ビューに組み込まれたコマンドボタン

  追加 / 削除 / 編集 / 保存 / キャンセルが用意されていて、充分な機能が用意されているので特に何もすることはない。

  表示/非表示は、ビューの書式設定で行う。

2013/03/25

Office 365 Office ProPlus の展開

り、、流石という感じ。

  しばらく前に試してみてはいたもののうまくいかず放置していた件。さすがです。
  WSUSではできないですから、Office アップデートを組織内でコントロールするときには必須ですねぇ。いくらインストールにスムーズ感がある Click-to-Run でも結構DL量あるし、必要になったら準備しておこうかなと。Office 単体製品でもできればいいなぁと。

Office 365 Access アプリ -13- データマクロ レコードロック

レコードのロックについて勉強してみた。さて、あってるのかどうか。


  レコードごと/ForEachRecord データブロックで確認する。
BEGIN TRAN

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

DECLARE _dm_cur1 CURSOR LOCAL STATIC FOR
 SELECT
  [F_text]
 FROM
  [Table1]
 
 WHERE [Table1].[ID] = 1
 --ORDER BY [ID] ASC

OPEN _dm_cur1
CLOSE _dm_cur1
DEALLOCATE _dm_cur1

SET TRANSACTION ISOLATION LEVEL READ COMMITTED
--- ここまで実行して確認

ROLLBACK TRAN
  こんな感じのものをSSMSで実行しながら確認。データ マクロがストアド プロシージャに変換されたものを簡略化した。

2013/03/24

Office 365 Access アプリ -12- データマクロ トレース

データ マクロのデバッグとかにトレースを見る。詳細までは見れないけれど。

データ マクロ実行の経過や結果をトレースで確認することができる。


  "データ マクロのトレース/Data Macro Tracing"がOnになっていると、データ マクロ実行時の経過が記録されていく。変換されたストアド プロシージャにロジックが組み込まれているのでこれ以上の操作をすることはない。"トレース テーブルの表示/View Trace Table"押下でテーブルが表示される。ただし、ブラウザで。


  軽い内容であればこれで充分なのだけど、ログが多くなったりデータマクロを動作させるためのUIを用意したりと以外に面倒な時がある。

2013/03/23

Office 365 Access アプリ -11- レコードの作成 データ ブロック

テーブルに 1レコード追加する簡単なお仕事。

  当たり前だけれども、レコードの作成先であるテーブル指定は必須です。そして、クエリは指定できない。

  無論、フィールドの設定/SetField アクションが必須。全フィールド分が必要ということではない。

Office 365 Access アプリ -10- レコードの参照 データ ブロック

翻訳されると意味が少し通じなくなる。

Look Up "A" Record なのである。
  参照するレコードが複数である場合、その先頭レコードが参照される。なんにしても 1レコードだけ参照される。レコードごと/ForEachRecord データ ブロックとの違いはこの点にある。


  同じく参照するレコードが存在しない場合、データ ブロック内のデータ アクションなどは実行されない。

Office 365 Access アプリ -9- レコードごと データ ブロック

ForEachRcord そのまんま"レコードごと"。テーブルもしくはクエリから参照したレコードを順次処理を行う。

  レコードごと/ForEachRecord データ ブロック内でいくつかのデータ ブロックやデータ アクションを使用することができるのだけど、例えばレコードの編集/EditRecord データブロックを使用した場合、参照されているすべてのレコードに対しフィールドの編集を行うことができる。レコードの削除/DeleteRecord アクションを使用した場合、すべてのレコードを削除することになる。当然 If プログラム フローなどでフィールドの値を判定しながら処理することもできる。

2013/03/20

Office 365 Access アプリ -8- データマクロ

必要なければ、それはそれでよいのだけど。それよりも重大な問題は、この投稿の時点でオンラインヘルプに間違いが多すぎること。Access 2010 に関する内容になっていて、Access アプリ向けではないのである。

  テーブルを定義していくだけで最低限の機能を持ったビューが作成されるのだから、要件を満たすならそれでいい。アプリケーションらしいものにする上で必需になるんだろうなと。

  レコードが編集可能なビュー上での操作やビューのレコードソース以外からの参照などについてはデータマクロを使うことになろうかと思う。定義域関数の代わりになるものとかも含まれる。

Office 365 Access アプリ -7- 権限とアクセス許可レベル

ポチポチと調べていけば、答えはいずれ見えてくる。

  ベースになるお話は、
にあるので勉強が必要。 Access アプリ が配置されたサイトとそれに紐づけられたユーザグループとさらにそれに割り当てられたアクセス許可レベルに影響を受ける。
  デフォルトでは、ユーザは"サイトのメンバー"に属している。"サイトのメンバー"には、"編集"というアクセス許可レベルが割り当てられているので Access アプリに限った話でいうと、レコードの CRUD と Access アプリ のカスタマイズなど権限を持っている。
  Access アプリ 上でのロジック以外でどのように制御ができるのかのメモ。

2013/03/17

Office 365 Access アプリ -6- SSMSでSQL Azure に接続

SSMS:SQL Server Management Studio で、データストア先である SQL Azure に接続

  ツールの準備はこのあたりから。
  なくてもよいのだけど、大量の テストデータ を作ったりするときに便利かなと思う。インストールについてはメモなし。以降はすべて揃っているものとして。
  まずは接続。Access アプリ が作成されてるとして、[Backstage]→[情報]からSQL Azureへの接続情報を取得する。

この4つのパラメタを使用

2013/03/14

Office 2013 Office updates 2013/3/12

なるほど、おおむね月2回って感じになるだろか。

  セキュリティ更新プログラム以外に製品の更新がある。
こんな感じから

始まって

2013/03/11

Office 365 Access アプリ -5- 地域の設定とか

SQL Azure で使用できる関数はよいのだけど、TodayとかNowとか。
タイムゾーンだけではなく、照合順序の話も。

  以前のAccess Servicesの場合、現在の日時を取得しようとすると[サイトの設定]に関わることなく一定のタイムゾーンで取得するしかなかった。新しいOffice 365 は[サイトの設定]で定めたタイムゾーンで取得できる。ひとつひとつ確認するのでもよいのだけど、内部的にどうなってるのか確認したかった。

タイムゾーンに従った日時が得られる。

Office 365 Access アプリ -4- 連絡先

特徴的なところを テンプレート "連絡先" でちょっと見る。

テーブルがひとつだけ。そして、標準のビューが揃っている。
  • 詳細を一覧表示 / List View
  • データシート / Datasheet View
  • 概要 / Summary View

2013/03/07

Office 2013 累積アップデート 2013/02

あー、こんなかたちで出るんですね。
  2013/02のHotfix。Access 2013 については、2件。そのほか関連しそうなものでもSharePointなどに関わる内容のような気がする。
  SharePointカスタムリスト上の日付に関連するものと、複雑なクエリや大量のデータをインポートしようとするときエラーがでる不具合の修正。いつも思うけど、どんなんだ?って。Hotfixだから累積などされていずれServicePackに含まれるのでしょう。Office 2013 リリース直後のUpdateに比べればあわてる必要はない内容。

2013/03/05

Office 365 Access アプリ -3- テンプレートとかサンプル

何がどんな感じでできるのか。

  テンプレートとか試してみるとよいのだが、Access 2013 にないサンプルが SharePoint ストアから入手できるのでこちらも見ておきたい。

  オーソドックスな内容で用意されているわけです。もうすこし手の入ったサンプルを見ておく。

2013/03/03

Office 365 Access アプリ -2- 削除とか保存とか

作ったものを保存しておいたり、不要なものを削除したり。

  削除はよいとして、保存はバックアップ的な操作になる。

削除

  削除は SharePoint サイト から削除を行う。
  [サイトコンテンツ]→[該当のAccess アプリ]→[3点リーダ]→[削除]。これだけ。

  ごみ箱には入らない。

Office 365 Access アプリ -1- 新規に作成

Access 2013 カスタム Web アプリ / Custom web app とするか考えてみたものの、

  Office 365 で使うことが多いのだろうから、Office 365 Access アプリ / Access app というタイトルにしておこう。

"Custom web app"と"Access app"は同じものを指していて、"apps for SharePoint"である。
  Access 2013 では"カスタム Web アプリ"、新しい Office 365(SharePoint 2013)では"Access アプリ"ということになる。新しい Office 365 では、"apps for Office"と"apps for SharePoint" があって注目すべき機能なのだけど、"Access アプリ / Access app"は"SharePoint用アプリ/apps for SharePoint"なのである。使用される場所が全く違うわけで、"apps for Office"は、Excel などアプリケーション上で運用されるものに対し、"Access app"はSharePointサイト上アプリとして運用される。もとより種類が違うのだ。なので、SharePoint のルールというか仕様というか流儀に沿わないとならないし、Access だったらこうだろ!っていう話は存在しない。特殊な SharePoint用アプリ のひとつが Access アプリ ということであり、その編集ツールとして Access 2013 を使用するということ。使えばわかるその程度のお話でもある。

  ともあれ、新規作成/保存/削除など基本的なところから。

2013/03/02

Office 365 Developer サブスクリプション

お知らせが急に来たので。
Office 365 Developer サブスクリプション を活用してアプリを開発し、公開する

Ultimate か Premium 限定なのだけどありがたいことだ。さっそくサインアップ。
きたーっ