SQL Server 2012 Power View 体験サイト
あったのね。
百聞は一見に如かず。ついでに Expression Encoder を使って動画キャプチャ。
SQL Server 2012 Power View 体験サイト
あったのね。
百聞は一見に如かず。ついでに Expression Encoder を使って動画キャプチャ。
Make SQL Server linked table more secure
Power Tip: Improve the security of database connections
やっぱり読んでたかも。でも理解できていなかったことがある。
キャッシュされた接続ね。
How to save your SharePoint password in Windows
これもだ。
Internet Explorer 9 crashes when you edit items in Datasheet View on a SharePoint site
明日みてみよう。
だが、結局見てない。
Japan SharePoint Group
いやぁ勉強になったというか、まだまだ理解できないお話が多いのだけれども、雰囲気というかそんな感じのものが掴めた気がして、とても有意義だった。どえらく刺激を受けたのは間違いない。やっぱり話を聞きに行くって行為はとても大事だな。
ということで、SharePointをもうすこし勉強したいし、自分のなかで整理もしておきたいから、AccessからみたSharePoint的な備忘をしておこうと考えたところ。
Access2007からSharePointとの関わりが深くなり始めているのだけれども、Office365とかもあるから、Access2010とSharePoint2010(Office365 SharePoint online含む)という感じでいいかな。
Microsoft SharePoint Server 2010 自習書シリーズ
SharePoint Server 2010 自習書 Enterprise 機能 Access Services 活用ガイド
Webデータベースについて解りやすい内容となっているのではないかと思う。自習書だから、まずはやってみようで取り組むのにちょうどよいレベルなのでしょう。
Webデータベースだけということではなくて、SharePointリストリンクテーブルのレプリケーションについて。SharePointリストとの同期はAccessの中の人が組み込みの処理で実行してくれるのからお任せの方向でよいのだけど、処理途中でサーバへの接続が切れてしまったらどうなるのだろうということ。
Accessのオプション→カレントデータベースにこのようなプロパティがある。各々の効果についてはやってみれば明白だからよいとして、SharePointリストのリンクテーブルはキャッシュが肝になっている。これがなかなか高速で、以前のバージョンに比べると使用するのにあまり抵抗感がなくなってきていると思う。まぁこれはいいか。
そこで、クライアントサイド(DAO)とサーバサイド(Named DataMacro)でレコード(SharePointアイテム)を追加していくとき、接続が切れたらどうなるのかを見ておく。
サーバサイドのデータマクロだと都度の処理が遅いからクライアントで実行できるようにしてみた。用途を決めてないから日と祝日名だけ。以下、xmlのみ
何の切っ掛けかわからないのだけどSharePointWorkSpaceのアイコンになってしまった。なのでカスタマイズをしてみる。
Round関数はクライアント/ブラウザ/ADSすべてで挙動が異なるから、FormatNumber関数で代用。これでいいのか?Int関数の代替はなくてもよいかな。
accessのRound関数は銀行型。確かSharePointの関数はExcelServicesが担当だったと思うからきっと算術型なのだろうと思って確かめていた。
データマクロ、集計フィールド、Webクエリやブラウザのフォーム上では算術型の値が返ってきた。クライアント上では銀行型で返る。データマクロ/集計フィールドの演算はサーバーサイドだから必ず算術型になる。
ということは、IsClientで分岐させてクライアント上ではクライアントマクロもしくはVBAで算術型丸めをすればよいのだろう。
なんかイントネーションが、、、。やっぱり、おふぃすさんろくごか
とりあえず試してみた、Access Servicesサイトもしくはそれを含むサイトに招待することができた。招待される人はHotmailのアドレスとかOnlineServicesアカウントを持っていればできるっぽい。
Hotmailのアドレスに招待出してログインすることはできた。
クライアントマクロやVBAで書くのは良いのだけど、Int/Fixが使えない条件でできるのかどうか確かめた。データマクロでFixを使用して計算したものと比較して結果は一致した。
1949~2150の間のみ。
使い方などまだ考えていないからとりあえず該当月の祝日を出力してもらう。以降、ざっくり検証しかしていないデータマクロのメモ(xml)
Office365上で実行すると1秒弱かかっているから、WebフォームのUIマクロかWebマクロで実行できるかどうかも検討してみよう。
既定の日付がある場合、該当のコマンドボタンにフォーカスを移動。以降、データマクロ/マクロのメモ
とりあえずいったんまとめ。祝日とかも考えよう。
オフラインで使用できるようにするためには、データマクロ以外を使用する。フォーム上の表示ロジックはそのまま使うとして、テーブル/クエリで必要な情報を拾ってくるでもよいのだけど、クライアントマクロで情報を生成してみる。
Webフォームのイベントでクライアントマクロの実行は可能。
今回使用しなかったけれどもWebフォームでVBAコード実行させることも可能。これについては、Use the IsClient() expression to conditionally run VBA from Web forms
クライアントフォームを開くことができるということは、開いたフォームを介して任意のプロシージャを実行できる。onOpenかonLoadでプロシージャ実行しフォームを閉じてしまえばいい。
見た目は変わらない。フォームヘッダに不可視テキストボックスを配置し、コマンドボタンのキャプションに使用するデータを3か月分テキストとして保存し持ちまわれるようにしてみた。
一時変数/TempVarsで持ちまわってもよいかなと思ってはいるけど、閉じるボタンでダイアログフォームを抜けた場合削除することができないんだよね。一時変数は255まで使えるはずだけど、まぁ有限だということだし使わない方法もよいかなと思っただけ。
いたずらしたわけでもないのにアイコンが変わってしまったし。
以降マクロのスクリーンショットとxml