カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Dir関数を使わずにファイルの存在を確かめる

ACCESS VBAでファイルの存在を確認するにはDir関数が便利です。
しかし、この関数は一方通行で入れ子にすることはできません。

例えば、あるフォルダー内に存在するファイル名をループで取り出し、
そのファイル名と同じものが別の場所に存在するか確認する…
というプログラムを作りたいとき、この関数は使えません。

そこで、別の方法を使ってファイルの存在を確認します。

FileSystemObjectのオブジェクトを定義します。

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

ファイルの存在を確認する 続きを読む…»

15,612 views

Public宣言された変数に有効期間がある落とし穴

VBAで標準モジュールにPublic変数を宣言、またはPrivate変数を宣言してPublicプロシージャで値を書き換える処理を構築した場合、予期せず、変数に格納したはずの値がクリアされることがあります。

実際にACCESSで、汎用的に使えるようにと私もそのような方法で書いたのですが、上記のような事象が発生したので今回調べてみました。

答えはマイクロソフトのサポートページにありました。
どうやら標準モジュールでPublic宣言した変数であっても、意図しないタイミングで変数の値が破棄されることがあるようで、そのようなプログラミング手法は推奨されていないようです。
続きを読む…»

21,051 views

PHPに拡張モジュールを追加 phpize

phpizeを使えば、PHPを再コンパイルすることなく拡張モジュールをビルドすることができます。

例としてPHP5.3.29の環境にzlibモジュールを追加してみます。

ソースの場所に移動

cd /usr/local/src/php-5.3.29/ext/zlib

phpizeを実行

phpize

以下のようなエラー発生することがあります。

Cannot find config.m4
Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module

続きを読む…»

10,480 views

MySQL 4から5へバージョンアップ

今回はまたまたとある環境でMySQLのバージョンアップを行いました。
4.1.20から5.0.95へのバージョンアップです。

ソースをダウンロードして解凍し、該当ディレクトリへ移動します。

コンパイルとインストール

configureを実行

./configure --with-charset=utf8 --with-extra-charset=all --with-mysqld-user=mysql
make
make install

インストールされるファイルやディレクトリ
/usr/local/lib/mysql … データディレクトリ
/usr/local/bin … mysql等の実行ファイル、その他関連コマンド
/usr/local/share/mysql … 言語ファイルや起動用のシェルスクリプト等
/usr/local/include/mysql … ヘッダーファイル


MySQLを初期化

/usr/local/bin/mysql_install_db --user=mysql \
--basedir=/usr/local \
--datadir=/usr/local/lib/mysql

続きを読む…»

1,460 views

PHP 5.2.xから5.3.xへバージョンアップ

とある環境でPHPをバージョンアップしました。
5.2.8から5.3.6へバージョンアップ。

仕様変更により推奨されない関数(Deplecated)でエラー。
今回はereg関連の関数でエラーでした。
代わりにpreg_matchを使用するようになっています。

他にも推奨されなくなった関数がありますので、詳しくは下記URLを参照してください。
PHP 5.3.x で推奨されない機能

その他、PEAR::DBでエラー。
元々のバージョンが以下の通り。
PEAR 1.50.2.18
DB 1.86
続きを読む…»

1,298 views