2017年8月31日

【Access】SQLによる選択クエリ



Accessで選択クエリを行うSQLの基本です。

選択クエリとは、テーブルから指定のデータを抽出するときに使うクエリです。


今回は、下記のデータが格納されているテーブルから都道府県=群馬県のデータを抽出してみたいと思います。





まず、メニューから「クエリデザイン」をクリックします。



すると「テーブルの表示」というダイアログが表示されますが、ここではSQL文でクエリを作成するので[閉じる]ボタンをクリックします。



次に、メニューから「SQL」をクリックします。



すると、このような画面になるので、次のSQL文を入力します。

SELECT ID, 名物, 都道府県
FROM T_名物
WHERE 都道府県 = '群馬県';



SQL文を入力したら、メニューから[実行]をクリックします。



このように都道府県=群馬県のデータが抽出されました。


ここで、SQL文について少し解説します。
SELECT ID, 名物, 都道府県
FROM T_名物
WHERE 都道府県 = '群馬県';
まず、選択クエリを行う場合には、SELECT句を使います。
(※SQL文では、SELECTなどのステートメントを「句」という言い方をします。)

そして、SELECTに続けて表示したい列名を指定します。
ここでは「ID」「名物」「都道府県」がそれに該当します。
列名の区切りは「,」を使います。

そして、そのあとにFROM句が来てテーブル名を指定します。
この例では「T_名物」です。

そして最後に、WHERE句を使って抽出条件を指定します。
この例では、「都道府県 = '群馬県'」の部分です。条件に文字列を指定する場合は「''」シングルコーテーションで囲ってください。

WHERE句の条件の指定方法はいろいろあるのですが、基本は列名=○○といった感じです。

SQL文は最初はとっつきにくく分かりにくいですが、慣れれば簡単です。
このSQL文を使えば非常に複雑な抽出条件のクエリも作成できるようになります。ぜひ覚えてほしいと思います。


2017年8月30日

【PowerShell】pingを送信する


pingを送信するには、Test-Connectionコマンドレットを使います。

構文
Test-Connection [-ComputerName] <コンピュータ名>

PS C:\work> Test-Connection server1

Source        Destination     IPV4Address      IPV6Address                              Bytes    Time(ms)
------        -----------     -----------      -----------                              -----    --------
PC01          server1         192.168.1.1                                               32       0
PC01          server1         192.168.1.1                                               32       0
PC01          server1         192.168.1.1                                               32       0
PC01          server1         192.168.1.1                                               32       0
指定するコンピュータ名はIPアドレスでも大丈夫です。

あと、このTest-Connectionですが、非常に時間がかかります。
1回の送信に10秒ぐらいかかります。
ですので、普通にpingコマンドを打ったほうがいいように思われます。


2017年8月29日

【PowerShell】プログレスバーを表示する


Write-Progressコマンドレットを使って、プログレスバーを表示させることが出来ます。

構文
Write-Progress [-Activity] <1行目のメッセージ> [[-Status] <2行目のメッセージ>] [-CurrentOperation <プログレスバー下のメッセージ>] [-PercentComplete <完了率>]

$activity = "プログレスバーテスト"

$status = "進捗状況"

for($cnt = 0; $cnt -lt 100; $cnt++)
{
    Write-Progress $activity $status -PercentComplete $cnt -CurrentOperation "$cnt % 完了"

    Start-Sleep -Milliseconds 50
}

実行結果


このGIFアニメはLICEcapで作成しました。
LICEcapでキャプチャ動画(GIFアニメ)を作成する


2017年8月28日

【サクラエディタ】grepをコマンドラインから実行する方法



コマンドラインからgrepを実行するには、-GREPMODE(Grep実行モード)オプションで起動します。

PS C:\work> sakura -GREPMODE -GKEY="Log" -GFILE="*.cs" -GFOLDER="C:\work\Project" -GCODE=99 -GOPT=S
(注:サクラエディタのパスが通っていない場合は、環境変数にあらかじめパスを追加しておいてください。パスの追加方法はこちらを参考にしてください。)


その他のオプションは下記のとおりになります。
オプション 意味
-GKEY=検索文字列
-GFILE=検索対象のファイル
-GFOLDER=検索対象のフォルダ
-GCODE=文字コード
-GOPT=検索条件

上記例では、文字コードを99(自動判別)にしています。
また、検索条件は、S(サブフォルダからも検索)を指定しています。

オプションの詳細については、ヘルプをご覧になってください。

<参考サイト>
コマンドラインオプション | サクラエディタ ヘルプ


<関連記事>
【サクラエディタ】マクロをコマンドラインから実行する
【サクラエディタ】PPAマクロを使ってみる
【サクラエディタ】置換マクロを使ってみた
【サクラエディタ】1から順番に数字を縦に出力するマクロ
【サクラエディタ】矩形選択からの置換

2017年8月27日

【SyntaxHighlighter】Bloggerから読み込むライブラリをcdnjsに変更してみました。

以前、httpsのURLでアクセスするとハイライト表示されなくて、ハイライト表示をGoogle Code Prettifyに変えてみたという記事を書きましたが、今日、いろいろ試したところSyntaxHighlighterでもハイライト表示させることに成功しました。

結論から言うとライブラリの読込先をcdnjsに変更しました。

いままでSyntaxHighlighterの公開サーバーは、alexgorbatchev.comしかないと思っていましたが、今日、ネットで探してみたところ「cdnjs」というCDNがあっさり見つかりました。(笑)

cdnjs.com

このCDN、私は全く知らなかったのですが、実に3000以上ものライブラリを公開しています。

まったく驚愕です!

2017年8月26日

【サクラエディタ】マクロをコマンドラインから実行する



マクロをコマンドラインから実行する方法です。

環境変数[Path]に追加

まず、サクラエディタのパスが通っていない場合は、PowerShellを起動し、下記のように実行して環境変数にパスを追加してください。
PS C:\work> $oldSystemPath = [System.Environment]::GetEnvironmentVariable("Path", "Machine")
PS C:\work> $oldSystemPath += ";C:\Program Files (x86)\sakura"
PS C:\work> [System.Environment]::SetEnvironmentVariable("Path", $oldSystemPath, "Machine")
上記はシステム環境変数にパスを追加しています。追加したあとは、プロンプト画面を再起動してください。

2017年8月25日

【PowerShell】ネットワークアダプターのハードウェア情報を取得する


ネットワークアダプターのハードウェア情報を取得するには、Get-NetAdapterHardwareInfoコマンドレットを使います。

構文
Get-NetAdapterHardwareInfo [-Name] <アダプター名>

PS C:\work> Get-NetAdapterHardwareInfo

Name                           Segment Bus Device Function Slot NumaNode PcieLinkSpeed PcieLinkWidth Version
----                           ------- --- ------ -------- ---- -------- ------------- ------------- -------
LANアダプタ                          0   4      0        0                    2.5 GT/s             1 1.1


2017年8月24日

【PowerShell】ネットワークアダプターの統計情報を取得する


Get-NetAdapterStatisticsコマンドレットを使ってネットワークアダプターの統計情報を取得することが出来ます。

構文
Get-NetAdapterStatistics [-Name] <アダプター名>

PS C:\work> Get-NetAdapterStatistics

Name                             ReceivedBytes ReceivedUnicastPackets       SentBytes SentUnicastPackets
----                             ------------- ----------------------       --------- ------------------
LANアダプタ                          330026539                 237670        14046971             139266


2017年8月23日

【PowerShell】ネットワークアダプターの名前を変更する


ネットワークアダプターの名前を変更するには、Rename-NetAdapterを使います。

構文
Rename-NetAdapter [-Name] <現在のアダプター名> [-NewName] <新しいアダプター名>

PS C:\work> Rename-NetAdapter -Name "ロール エリア接続" -NewName "LANアダプタ"


確認
PS C:\work> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
LANアダプタ               Realtek PCIe GBE Family Controller            3 Up           21-11-A3-08-C1-6D         1 Gbps

Get-NetAdapterで確認してみると、名前が「LANアダプタ」になっているのが分かります。


2017年8月22日

【PowerShell】ネットワークアダプターの再起動


ネットワークアダプターを無効にしてから再度有効にして、ネットワークアダプターを再起動するには、Restart-NetAdapterコマンドレットを使います。

構文
Restart-NetAdapter [-Name] <アダプター名>

PS C:\work> Restart-NetAdapter -Name "ロール エリア接続"
-Nameパラメーターで指定する名前は、Get-NetAdapterで取得できる名前です。


2017年8月21日

【PowerShell】ネットワークアダプターの有効化・無効化


ネットワークアダプターの有効化および無効化を行うには、Enable-NetAdapterおよびDisable-NetAdapterコマンドレットを使います。

構文
有効化
Enable-NetAdapter [-Name] <アダプター名>
無効化
Disable-NetAdapter [-Name] <アダプター名>

有効化

PS C:\work> Enable-NetAdapter -Name "ローカル エリア接続"
-Nameパラメーターで指定する名前は、Get-NetAdapterで取得できる名前です。


無効化

PS C:\work> Disable-NetAdapter -Name "ロール エリア接続"

確認
この操作を実行しますか?
Disable-NetAdapter 'ローカル エリア接続'
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y
無効化する場合は、実行するか確認してきますので、無効化する場合はそのままEnterかYを入力してEnterしてください。



2017年8月20日

【PowerShell】ネットワークアダプターの一覧を取得する


ネットワークアダプターの一覧を取得するには、Get-NetAdapterコマンドレットを使います。

構文
Get-NetAdapter [[-Name] <アダプター名> ]

PS C:\work> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
ローカル エリア接続       Realtek PCIe GBE Family Controller            2 Up           21-11-A3-08-C1-6D         1 Gbps




2017年8月19日

ピロリ達の沈黙 - 最終章

この前、一年ぶりに胃カメラ検査を受けてきました。

ピロリ菌の再除菌のためです。

当日は、朝9ごろ病院に行き、30分ぐらいすると看護師に呼ばれました。
検査の同意書にサインし、さっそくベッドに寝かされます。

最初に喉の麻酔のためにゼリー状の液体を口に含み5分ぐらい待ちます。
その間、飲み込まないようにじっとしていなければならなく、もうこの時点で憂鬱な気分になってきます。

5分経ち、ゼリーを飲み込み、次に鎮静剤の点滴を打ちます。
昨年、鎮静剤が全然効かなかったので、今回は量を倍にしてくれました。

そして、マウスピースを口にはめ、いよいよ拷問、いや検査の開始です。

先生が胃カメラをゆっくり挿入していきます。

オェッ!オェッ!

苦しいー!(>_<)

全然鎮静剤が効いてねぇー!

昨年と一緒で意識がはっきりしたまま、覚醒状態で検査が進んでいきます。
途中、あんまり苦しいんで一旦止めてもらいました。

先生に口の中にチューブが当たるときに「オェッ!」となって苦しいと伝えると、スプレー式の麻酔を口の中に吹き付けてくれました。
すると今までの苦しさがかなり軽減され、楽に検査が受けられるようになりました。


検査終了後、1時間ほど別部屋のベッドで休憩したあと検査結果を教えてくれました。

「えーと・・・、陰性です。」

「えっ!?」

「ピロリ菌いません。」

「えっ!?」


どういうこと!?

先生によると、昨年の除菌がうまくいってたようだということらしいです。

えーー、去年除菌失敗したって言ってたじゃーん。

だいぶ遅れて除菌の効果が表れたみたいなんですが、そんなことってあるんですかね。なんかにわかには信じがたいですが、とりあえずまた除菌の薬を飲まなくていいと考えるとなんだかうれしくなってきました。

ただ、かなり胃が炎症を起こしているということなので、年に一回は胃カメラ検査を受けたほうがいいとのこと。まあ、今回スプレー式の麻酔でだいぶ楽に受けられたので、来年もそのやり方でやってもらおうと思います。


あと最後に、胃カメラで撮った写真をくれたんでご紹介します。


ちょっとグロい映像なのでモザイクかけときました。
ほんとに炎症起こしているのがはっきりわかります。



2017年8月18日

2017年8月17日

【超初心者向け】はじめてのAccess(その4:フォームを作成する)






前回、テーブルを作成してデータの格納できましたので、次はフォームの作成を行っていきます。

このフォームの作成することによって、データの入力や編集などを行う画面をユーザーに提供することが出来ます。

では、さっそく作成していきたいと思います。

2017年8月16日

【超初心者向け】はじめてのAccess(その3:テーブルを作成する)






では、ファイルの作成まで出来ましたので、次にテーブルの作成を行っていきます。

よくAccessの参考書とかを見ると、いきなり「顧客テーブル」とか「受注テーブル」の作成から入っていくことがありますが、超初心者にはちょっとハードルが高すぎると思います。

そこで今回はもっと単純なテーブルということで「名物テーブル」というのを作ってみたいと思います。

全国の各都道府県にある名物をデータとして格納します。

ちなみにテーブルとは、Excelのシートのようなものです。
横に列項目が並んでいて、レコードと言われる行によって構成されています。まあ、実際に作成してみたほうが理解できると思います。

では、今回作成する列項目は次になります。
列項目 内容
IDIDとなる数字。一位になる番号を格納します。
名物名物の名前。
都道府県都道府県名。その名物がどこの都道府県の食べ物かという意味になります。


それでは、前回作成した「TestDB.accdb」を開きます。


まず、メニューの「作成」のところから「テーブル」をクリックします。



するとこのような「テーブル1」というタブが表示されます。



次に、最初の列の「ID」はそのままにして、2列目の「クリックして追加」をクリックします。
そして、表示されたメニューから「短いテキスト」を選択します。







するとこのようになるので、「フィールド1」と黒く反転しているところに、「名物」と入力します。



そうしたら、次に右隣の「クリックして追加」を先ほどと同じようにクリックします。
そしてまた同じ「短いテキスト」を選択します。



そして今度は「都道府県」と入力してください。


ここまで出来たら保存します。



左上の保存ボタンをクリックしてしてください。



すると、「名前を付けて保存」ダイアログが表示されるので、テーブル名を入力して[OK]をクリックします。
今回、テーブル名は「T_名物」としました。


とりあえずこれでテーブルの作成は完了です。

あとはこのテーブルにデータを入力していくだけです。


では、例となる以下のデータを入力してみます。
ID 名物 都道府県
1石狩鍋北海道
2牛タン宮城県
3稲庭うどん秋田県
4きりたんぽ秋田県
5焼きまんじゅう群馬県
6ひもかわうどん群馬県
7サンマーメン神奈川県
8富山ブラック富山県
9ひつまぶし愛知県
10きしめん愛知県
11讃岐うどん香川県
12長崎ちゃんぽん長崎県
13ソーキそば沖縄県
14サーターアンダギー沖縄県




入力するとこのようになります。

うーん、麺類が多いな。(笑)


では、最後に保存しましょう。
これでテーブルにデータの格納が出来ました。

次回は、フォームの作成を行っていきます。


<関連記事>
【超初心者向け】はじめてのAccess(その1:Accessとは)
【超初心者向け】はじめてのAccess(その2:データベースを作成する)
【超初心者向け】はじめてのAccess(その3:テーブルを作成する)
【超初心者向け】はじめてのAccess(その4:フォームを作成する)
【超初心者向け】はじめてのAccess(その5:レポートを作成する)

2017年8月15日

【超初心者向け】はじめてのAccess(その2:データベースを作成する)






では、前回からの続きです。


まず、Accessを起動してください。
ちなみに今回はAccess2016を使って説明しますが、ほかのバージョンでも操作は大体同じです。


起動したら、「空のデスクトップデータベース」を選択します。



そうすると、このようなファイル名を決める画面が出てきますので、矢印で指しているボタンをクリックします。



ここで、ファイルの保存場所を決めます。
この例では、「C:\Data\access」にしてます。

保存場所を決めたら、ファイル名を入力して[OK]ボタンをクリックします。
(今回、ファイル名は「TestDb.accdb」にしています。)



ファイル名欄に先ほど決めた名前が入っていることを確認して、[作成]ボタンをクリックします。



すると、このような画面が表示されてきます。
ここでまず「テーブル1」というテーブルの作成画面が表示されていますが、とりあえず右上の[×]ボタンをクリックして一旦ファイルを閉じます。



そうしたらファイルが保存されているか確認してみます。

最初に決めたファイルの保存先に「TestDb.accdb」というファイルが出来ていることが確認できます。

次にこのファイルを開いてみます。



すると、このような「セキュリティの警告」というのが出る場合があります。
その場合は、[コンテンツの有効化]をクリックしてください。



これでひとまずデータベースを構築していく準備が出来ました。


次回から実際にテーブル作成などを行っていきます。


<関連記事>
【超初心者向け】はじめてのAccess(その1:Accessとは)
【超初心者向け】はじめてのAccess(その2:データベースを作成する)
【超初心者向け】はじめてのAccess(その3:テーブルを作成する)
【超初心者向け】はじめてのAccess(その4:フォームを作成する)
【超初心者向け】はじめてのAccess(その5:レポートを作成する)



2017年8月14日

【超初心者向け】はじめてのAccess(その1:Accessとは)


Microsoft Officeの仲間にAccessというソフトがあるのですが、みなさんご存知でしょうか。

私はこれまでAccessを使っていろいろなシステムを構築してきましたが、意外とこのソフト、世間には知られていません。

もちろん、普段から使っているという方はよく知っていると思いますが、私の周りのIT業界の仲間でも名前は聞いたことあるけど実際に触ったことがないという人は結構います。

そこで、そんな人たちに向けて、これからAccessの使い方をご紹介していきたいと思います。

Accessは使いこなせればとっても便利なソフトですし、いろんなことが出来るソフトですので、ぜひマスターしてほしいと思います。




まず、そもそもAccessとは何かということですが、AccessはMicrosoft Officeのなかに含まれるデータベースソフトです。

通常、パソコンを買ったときにWordとかExcelは最初から入っていると思うんですが、Accessは別途購入するなどしないと使えません。この辺があまり世の中に知られていない原因じゃないかと思うんですけど、まあ、しょうがないですよね、個人でデータベースソフトを使うということはあまりないと思いますので。

ちなみにAmazonで価格を見てみると、Access 2019単体で1万5千円ぐらいですね。


あと、いまはOffice 365 Soloというのがあって、年額1万2千円ぐらいでAccessを含めたOffice製品の最新版が使えるという仕組みがあります。
※現在は名前がMicrosoft 365 Personalに変更されています。

年額1万2千円が高いか安いかは個人の判断に分かれると思いますが、同等の製品が使えるOffice Proffesionalがだいたい6万円ぐらいするんで、サポート期限のことなんかも考えると結構お得だと思います。また、Office 365 SoloだとMacやタブレット、スマートフォンでの利用が可能なのも魅力的だと思います。


では、データベースソフトとは何かということですが、ずばり、データベースを扱うソフトのことです!

すみません、全然分からないですね。(笑)

でも、そもそもデータベースってよく分からないですよね。

ことば自体はよく聞くけど、説明しろと言われるとなかなか難しいんじゃないでしょうか。

私なりに一応説明すると、データベースとは、

「目的のデータを必要なときにすぐに取り出せる仕組み」

だと思います。

たとえば、スマホで友人の電話番号を知りたいとなったとき、電話帳の索引から調べたり検索して調べますよね。こういったほしいデータをすぐに取り出せる仕組み(この例では電話帳アプリ)がデータベースと言えると思います。

また、アナログな世界でもデータベースは存在しています。一番身近な例でいうと図書館ですね。図書館というのは本が分類ごとに書棚に納められていて、図書カードを使って借りたい本を探すことが出来ますよね。まさにデータベースと言えると思います。まあ、現在はコンピューターで管理されるのが一般的だと思いますが。



えーと、ちょっと前置きが長くなってしまいましたので、実際のAccessの使い方は次回説明したいと思います。

では。


<関連記事>
【超初心者向け】はじめてのAccess(その1:Accessとは)
【超初心者向け】はじめてのAccess(その2:データベースを作成する)
【超初心者向け】はじめてのAccess(その3:テーブルを作成する)
【超初心者向け】はじめてのAccess(その4:フォームを作成する)
【超初心者向け】はじめてのAccess(その5:レポートを作成する)


2017年8月13日

【PowerShell】コントロールパネルの項目を表示する


PowerShellでコントロールパネルの項目を表示するには、Show-ControlPanelItemコマンドレットを使います。

構文
Show-ControlPanelItem [[-Name] <項目名>]
Show-ControlPanelItem -CanonicalName <正式名>
Show-ControlPanelItem [[-InputObject] <ControlPanelItem[]>]

項目名を指定

項目名を指定する場合です。
以下に項目名が「システム」のコントロールパネルを表示する例を示します。
PS C:\work> Show-ControlPanelItem -Name システム


正式名を指定

正式名を指定する場合です。
以下に正式名が「Microsoft.ProgramsAndFeatures」(プログラムと機能)のコントロールパネルを表示する例を示します。
PS C:\work> Show-ControlPanelItem -CanonicalName Microsoft.ProgramsAndFeatures


Get-ControlPanelItemで取得した項目を表示

Get-ControlPanelItemで取得した項目をパイプラインで渡して表示することが出来ます。
PS C:\work> Get-ControlPanelItem -Name 電源オプション | Show-ControlPanelItem


InputObject

InputObjectでControlPanelItemオブジェクトを指定して表示することが出来ます。
PS C:\work> $p = Get-ControlPanelItem -Name 電源オプション
PS C:\work> Show-ControlPanelItem -InputObject $p