MW211 EXIT

devlog
Excel/下線の影響範囲
2015年01月24日
「Ctrl+End」で全範囲の末端まで移動する場合、
通常は文字が入力されているところまで移動する。

下線の場合も、下線のセル、つまり下線の上の行まで移動する。

ところが、下線の中でも以下の下線については、
その下線の下まで移動してしまう。
  ・二重線
  ・太線(一番太い線)

恐らく、下のセルまで(跨いで)影響のある線ということなのだろう。

微妙な盲点だ。
分類:Excel
MSSQL/特定の文字数で区切る
2015年01月22日
例えば、'あ1い2う3え4お'を「4文字」で区切る場合。
┌─────────┬─────────────────┬────────┐
│すべて            │SELECT [列]                       │'あ1い2う3え4お'│
┌─────────┬─────────────────┬────────┐
│左から 4文字の左側│SELECT LEFT([列], 4)              │'あ1い2'        │
├─────────┼─────────────────┼────────┤
│左から 4文字の右側│SELECT RIGHT([列], LEN([列]) - 4) │      'う3え4お'│
├─────────┼─────────────────┼────────┤
│右から 4文字の左側│SELECT LEFT([列], LEN([列]) - 4)  │'あ1い2う'      │
├─────────┼─────────────────┼────────┤
│右から 4文字の右側│SELECT RIGHT([列], 4)             │        '3え4お'│
└─────────┴─────────────────┴────────┘
[列]の文字数を超える指定をしても問題ない(RIGHT()の場合も)。
但し、負数となるような指定をするとエラーとなる。
(上記で[列]が3文字の場合は、「LEN([列]) - 4」が「-1」(負数)となりエラー)
分類:MSSQL
MSSQL/表のマッチング
2015年01月19日
表の差異を比較し検出するSQL文。
┌──────────────────────────────────────┐
│SELECT ISNULL([右表].[キー], [左表].[キー]) AS [キー],                      │
│       [左表].[比較列]                      AS [左列],                      │
│       [右表].[比較列]                      AS [右列]                       │
│    FROM [左表]                                                             │
│        FULL JOIN [右表]                                                    │
│          ON [右表].[キー] = [左表].[キー]                                  │
│    WHERE [右表].[比較列] IS NULL              -- 左のみのもの              │
│       OR [左表].[比較列] IS NULL              -- 右のみのもの              │
│       OR [右表].[比較列] <> [左表].[比較列];  -- 差異があるもの            │
└──────────────────────────────────────┘
分類:MSSQL
ExcelVBA/色の型
2015年01月18日
「RGB()」で指定する色を変数で保持する場合、そのデータ型は何なのか?

┌──────────────────────────────────────┐
│Dim 色 As Long = RGB(255, 255, 255)                                         │
└──────────────────────────────────────┘
Long型でOK。
分類:ExcelVBA
Windows/ファイル検索
2015年01月17日
コマンドプロンプトで、ファイルの位置を検索するには。
┌──────────────────────────────────────┐
│C:\>dir /b /s | find "ファイル名"                                           │
└──────────────────────────────────────┘
  (上記はCドライブ配下全てを検索する場合(cdで任意の場所に移動して実行のこと))

フルパスでファイル名が出力される。


「dir /b /s」でフルパス一覧が出力され、「find」で抽出ということだ。
分類:Windows
ExcelVBA/EditModeとClose
2015年01月16日
MSSQLとのアクセスにて。

「.EditMode」の値の遷移を以下にまとめた。
┌──────────────────┬────────────┐
│Dim テーブル As New ADODB.Recordset │ テーブル.EditModeの値  │
├──────────────────┼────────────┤
│テーブル.Open …                    │「0(adEditNone)」       │
├──────────────────┤                        │
│テーブル.Fields("列名").Value = 値  ├────────────┤
├──────────────────┤「1(adEditInProgress)」 │
│テーブル.AddNew                     ├────────────┤
├──────────────────┤「2(adEditAdd)」        │
│テーブル.Fields("列名").Value = 値  │                        │
├──────────────────┤                        │
│テーブル.Update                     ├────────────┤
├──────────────────┤「0(adEditNone)」       │
│テーブル.Close                      │                        │
└──────────────────┴────────────┘
値が代入されれば更新モード(「1(adEditInProgress)」)、
「.AddNew」が実行されれば追加モード(「2(adEditAdd)」)となり、
「.Update」で、元(「0(adEditNone)」)に戻るようだ。

「.Close」時に元(「0(adEditNone)」)に戻ってない場合には
エラー(「このコンテキストで操作は許可されていません。」)となってしまう。

よって、「.Update」を漏らさずやるか、
更新失敗等の場合には必ず一次的なロールバック「.CancelUpdate」を
必ず行うこと。

クローズ処理を以下の様にしておけば、たいていは大丈夫だろう。
┌──────────────────────────────────────┐
│If Not (テーブル.BOF Or テーブル.EOF) Then                                  │
│    If テーブル.EditMode = adEditInProgress _                               │
│    Or テーブル.EditMode = adEditAdd Then                                   │
│        テーブル.CancelUpdate                                               │
│    End If                                                                  │
│End If                                                                      │
│If テーブル.State <> adStateClosed Then                                     │
│    テーブル.Close                                                          │
│End If                                                                      │
└──────────────────────────────────────┘

ちなみに削除モード「4(adEditDelete)」ってのもあるのだが
こいつがよくわからない。

「.Delete」の前後では「0(adEditNone)」のままだし、
もちろん「1(adEditInProgress)」とかになっている状況で
「.Delete」をすると「0(adEditNone)」になる。

MSDNの説明は「カレント レコードが削除されたことを示します。」なので
エラー系で発生するというわけでもなさそう。
もちろんトランザクション中でコミット前でも即「0(adEditNone)」になる。
分類:ExcelVBA
データ解析/グラフの種類
2015年01月15日
基本的なグラフの種類は以下の通り。
  ・折れ線グラフ
  ・棒グラフ
  ・帯グラフ
  ・円グラフ
  ・レーダーチャート

解析グラフの種類は以下の通り。
┌──────┬───────────────────────────────┐
│ヒストグラム│いわゆる棒グラフ                                              │
│(度数分布図)│但し、他の棒グラフと違うのは、横軸(度数)が必ず連続している点  │
├──────┼───────────────────────────────┤
│パレート図  │棒グラフと折れ線グラフを組み合わせた複合グラフ                │
│        (*1)│棒グラフは大きい順に左からソートされ、                        │
│            │折れ線グラフはその割合の累積が左から右へ積み重なっていく      │
│            │(よって、右端では100%となる)                                  │
│            │左側の大きい棒グラフを解消していくことが優先課題となる        │
├──────┼───────────────────────────────┤
│散布図      │点を散らばしたグラフ                                          │
└──────┴───────────────────────────────┘
                                 *1:ちなみに「パレートの法則」は「80:20の法則」
分類:データ解析
PHP/(UTF-8→Shift_JIS)文字化けタイミング
2015年01月13日
┌──────────────────────────────────────┐
│<meta http-equiv="Content-Type" content="charset=Shift_JIS"/>               │
└──────────────────────────────────────┘
「Shift_JIS」のホームページに、「Shift_JIS」にはない「UTF-8」の「☑」文字を
入力した場合の挙動。

(1) 「☑」をコピー    →クリップボード上は「UTF-8」的に記録(CF_UNICODETEXT)
(2) 「☑」を貼り付け  →ホームページ上は「UTF-8」で表示
(3) POST送信(submit)  →「Shift_JIS」に変換(ここで文字化け「?」)
分類:PHP
MSSQL/スクリプト生成
2015年01月11日
「SQL Server 2014 Management Studio」にて
スクリプト生成時に詳細オプションを変更すべきところは以下の通り。
┌─────────────────────────┐
│テーブル/ビューオプション                        │
│  ┌────────────────┬──────┤  ┌────────┐
│  │トリガーのスクリプトを生成      │False       │→│True            │
├─┴────────────────┴──────┤  └────────┘
│全般                                              │
│  ┌────────────────┬──────┤  ┌────────┐
│  │スクリプトを生成するデータの種類│スキーマのみ│→│スキーマとデータ│
└─┴────────────────┴──────┘  └────────┘
分類:MSSQL
データベースプログラミングスキル
2015年01月10日
データベースプログラミングに関する代表的なスキルをまとめると
以下のような感じになる。

【データベース(RDBMS)スキル】
  □Oracle(PL/SQL)              …有償のメジャーなSQL
  □MS-SQL(Transact-SQL)        …半有償のメジャーなSQL
  □MySQL/MariaDB               …無償のメジャーなSQL
  □PostgreSQL(PL/pgSQL)        …無償で機能豊富なSQL関数
  □SQLite                      …簡易SQL
  □MS-ACCESS                   …身近なSQL

【プログラミング言語スキル】
  □C                           …ポインタとメモリ
  □C++(VisualC++)              …オブジェクト指向、VisualStudio
  □Java                        …オブジェクト指向
  □VisualBasic                 …VisualStudio、VBA
  □PHP                         …Webサーバ
  □JavaScript(jQuery)          …Webクライアント
  □Python                      …Google言語
  □Ruby                        …オブジェクト指向
  □Perl                        …正規表現

【バッチスキル】
  □Windowsバッチ
  □WSH(VBScript)
  □Windowsタスクスケジューラ
  □Linuxシェル
  □Cron
分類:IT全般
前へ 1 2 次へ