ラベル Office365 の投稿を表示しています。 すべての投稿を表示
ラベル Office365 の投稿を表示しています。 すべての投稿を表示

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 ブロックに移り、マクロトレースなどに関する処理を終え、再スローされる。例外をスローだな。なんかへんだなと思ってた
  ただ、使用については気を付けておくことがある。

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/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/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 を使用するということ。使えばわかるその程度のお話でもある。

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