全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

2008年04月

【拡張SQL】行番号を割り当てる(其の弐)

以前の記事「【拡張SQL】取得したデータに行番号を割り当てる」で取得したデータに行番号を割り当てる方法について説明しました。
この記事の補足です。

Oracleの場合、以下の方法が利用できます。
 1.ROWNUMを利用する。
 2.ROW_NUMBER() OVER (ORDER BY 項目1, 項目2 ...)を利用する。

どちらも取得したデータに行番号を割り当てるのですが、割り当てるタイミングが異なります。

「1.ROWNUMを利用する」の場合、ORDER BY句で整列する前のデータに対して行番号を割り当てます。
そのため、ORDER BY句で整列された状態のデータに行番号を割り当てたい場合には利用できません。

「2.ROW_NUMBER() OVER (ORDER BY 項目1, 項目2 ...)」の場合、OVERの後で指定した順に整列したデータに対し、行番号を割り当てます。
この記述は、SQL Serverの場合と同じです。
(以前の記事「【拡張SQL】取得したデータに行番号を割り当てる」をご覧下さい)

以下、上記の証明です。
続きを読む

【Excel VBA】ADOを使ってCSVファイルを読み込む

Excel VBAを利用してCSVファイルを読み込む場合、以下の方法があります。
 1.テキストファイルとして読み込む。
 2.データベースに見立てて読み込む。

1は、テキストファイルと同じ方法で読み込みます。
その場合、データの検索や整列、集計等は、VBAで処理を記述する必要があります。

2は、データベースに見立ててデータを操作することができます。
そのため、データの検索や整列、集計等は、SQLを使えばできます。
そのため、1よりも、2の方が楽にデータを扱うことができます。
(複雑な集計は、SQLで行うよりもVBAで記述した方が楽な場合もあります)

CSVファイルをデータベースに見立てて読み込む方法は、以下の通りです。
続きを読む

【VB.NET】VB.NETからVBScriptを実行する

VB.NETでは、コード内にVBScriptのコードを記述し、それを実行する機能があります。その方法について説明します。

今回は、VBScriptの関数にVB.NETから値を渡す方法です。

VB.NET内に記載したVBScriptのコードを実行するためには、「Microsoft Script Control」を利用する必要があります。参照設定で該当するCOMコンポーネントを追加しましょう。

以下、サンプルです。
続きを読む

【データベース】主キーとユニークインデックスの違い

主キー(プライマリキー)とユニークインデックスの違いについてです。
上記の2つは、どちらもデータを一意(ユニーク)にするために利用します。
基本的な考え方(データを一意に特定できるようにする)は、同じですが、以下のような違いがあります。

《主キー(プライマリキー)》
 ・制約であるため、1つのテーブルに1つしか設定できない。
  →複数の項目を主キーとして指定することは可能(複合キー)
 ・NULLを許容しない。
 ・キー値の変更を許容しない。

《ユニークインデックスキー》
 ・インデックスの一種である。
 ・オブジェクトであるため、1つのテーブルに複数設定できる。
 ・NULLを許容する。
  →但し、NULLは一意であるかどうかの判定から除外される。
 ・キー値の変更を許容する。
続きを読む

【Excel VBA】パフォーマンスを向上させる(其の弐)

Excel VBAのパフォーマンスを向上させるためには、いくつかの方法があります。
以前の記事「【Excel】VBAのパフォーマンスを向上する」では、画面の描画を停止することで、パフォーマンスを向上する手段について説明しました。
今回は、シートオブジェクト型の変数を利用してパフォーマンスを向上する方法を説明します。
この方法は、セルやシートのプロパティを多数利用する場合に有効な手段です。

以下、サンプルです。
続きを読む

【Windows】Windows VistaのUACを解除する

Windows Vistaを利用していると、管理者権限が必要とする操作を行う都度、ユーザの許可を求めるダイアログが表示されます。
推奨されていませんが、これを解除する方法があります。

以下、解除する方法です。
続きを読む

【開発】パッチファイルをファイルに適用する

オープンソースでは、ソースコードに適用するパッチファイルが公開されていることがあります。
このパッチファイルの適用方法について説明します。

Windowsでパッチファイルを適用するには、専用のツールが必要になります。
(Linux系OSの場合、patchコマンドが用意されています。このコマンドのWindows版を利用する必要があります。)
このツールは、以下の場所からダウンロードできます。
 サイト名:ソフトウェア工房α
 プログラミング・ツール(移植ソフト)にある「GNU patch 2.5.4 (Win32 版) ファイル名:patc254w.zip」をダウンロードして下さい。

※上記のツール以外にも、Patchコマンドの移植ツールは存在するので、使いやすいものを選択して下さい。
続きを読む

【VB.NET】log4netを利用してログ出力する(其の参)

以前の記事「【VB.NET】log4netを利用してログ出力する(其の弐) 」で上手く動作しないことがあるようなので、もう少し詳細にしてみました。

今回は、Framework 1.0用のDLLを利用した場合の説明です。
(VB.NET 2003、VB 2005で動作させることが出来ます)

Framework2.0を利用した場合の設定については、別の記事で紹介します。

log4netを利用する方法として、以下の方法があります。
 1.「App.Config」を利用する方法
 2.直接、使用する設定ファイルを指定する方法

以下、1と2の動作確認方法です。
続きを読む

【VB.NET】小数部の端数処理

VB.NETには、整数部の端数処理用関数は用意されていますが、小数部の端数処理用関数が用意されていません。
そのため、小数部の端数処理を行う場合には、端数処理用のロジックを自前で作成する必要があります。

計算の都度、端数処理用のロジックを用意するのは面倒なので、関数を作成してみました。
関数名は、VB.NETのMathクラスに用意されている端数処理用メソッドと同じです。
(Mathクラスの端数処理用メソッドに有効桁数を明示するための引数を1つ追加し、この引数に指定した桁までを有効桁数として端数処理を行った数値を返します)

ここで言う端数処理用メソッドは、以下を指します。
 ・Round(四捨五入)
 ・Truncate(切捨て)
 ・Ceiling(切上げ)

端数処理用メソッドは、こちら(fraction.zip)からダウンロードできます。
(今回は、ソースコードで提供しています)

以下、サンプルの説明です。
続きを読む

【PowerBuilder】小数部の切り捨て

PowerBuilderで用意されている端数処理用関数は、小数部の端数処理が四捨五入と切り捨てしかできません。
そのため、小数部の切り捨てを行う場合には、独自で切り捨て用の関数を作成する必要があります。
というわけで、汎用的な切り捨て用関数を作ってみました。

以下、サンプル。
続きを読む

【PowerBuilder】データベースへの接続

PowerBuilderでデータベースに接続する方法について説明します。
PowerBuilderでデータベースに接続するには、Transactionオブジェクトを利用します。
データベースの接続用オブジェクトとして、SQLCAというTransactionオブジェクトの変数が用意されています。
そのため、接続するデータベースが1つの場合には、このSQLCAを利用すればデータベースに接続することができます。
(複数ある場合には、後述するようにTransactionオブジェクトを独自で用意する必要があります)

Transactionオブジェクトには、接続するデータベースの情報を設定する必要があります。
(ADO等で利用する接続文字列(ConnectionString)と同じです)

以下、サンプル。
続きを読む

【SQL】ORDER BY句に指定する項目を条件によって変更する

SQLで整列を行う場合、ORDER BY句を利用します。
このORDER BY句に指定する項目を条件によって変えたい場合、CASE文を利用することで対応できます。
この構文を利用するに際しての注意点です。
 ・全てのデータベースで利用できるわけではありません。
  →Oracle、SQL Server 2005では動作しました。
 ・このSQLでは、インデックスによる整列が無効になります。
  →パフォーマンスの低下につながります。
   大量のデータを扱う場合には、件数を絞る等の対処が必要です。

以下、サンプル。
続きを読む

【VB.NET】数値を通貨型の文字列に変更する

帳票に印字する際、決められた枠に1文字ずつ表示する場合があります。
特に名前や暗証番号、金額の記載等でこのような表示を要求されることがあります。
名前や暗証番号等のように左詰めとする場合は、単純に文字列の先頭から処理することで実現できます。
しかし、金額を扱う場合にこのような要望がある(「\100」や「-\100」を1文字ずつ枠内に収める)と、以下のような対応が発生することがあります。
 ・マイナス符号を"▲"に変えて欲しい。
 ・「\」を最上位桁の左側の枠に記載して欲しい。

このような要望があった場合、金額を数値として扱うよりも、文字列として扱う方がが楽に操作することができます。

以下、サンプルです。
続きを読む

【Windows】最後にログオンしたユーザ名を表示しない

Windows XPの標準設定では、Windowsのログオン画面に最後にログオンしたユーザ名が表示されます。
このユーザ名を表示しないようにする方法について説明します。
この方法を用いることで、モバイルPCの盗難、紛失時にユーザ名を知られる可能性が低くなります。
(実際には、ハードディスクの暗号化やBIOSのパスワード設定等を組み合わせることにより、盗難や紛失に備えます)

以下、設定方法。
続きを読む

【Visual Studio】Silverlight Tools Beta 1(日本語版)

2008/03/28にVisual Studio 2008用のSilverlight 2 Beta1用のアドオンが公開されました。
このアドオンを利用することにより、C#やVisual Basicを使用してSilverlightアプリケーションを開発することができるようになります。

アドオンは、以下のサイトからダウンロードできます。
 ・Microsoft ダウンロードセンター
  Visual Studio 2008 用 Microsoft Silverlight Tools Beta1

以下、インストール方法。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ