タグ

ブックマーク / www.f3.dion.ne.jp/~element (7)

  • [ファイルを開く] ダイアログを表示する方法

    概要 今回は、Access 2000 以降で [ファイルを開く] ダイアログを表示する方法です。 .....あっ、今アナタ、こう思いましたね? [ファイルを開く] ダイアログ? FAQ だね、FAQ。 Access 2000 には [ファイルを開く] ダイアログを表示する機能は無いんだから。 アレでしょ、Developer 版に付属しているコモンダイアログ コントロールを使うか、Excel 経由で GetOpenFileName メソッドを呼び出すか、さもなくば Windows API を使うっていう。 あ、それとも Access 2002 から追加された新機能の FileDialog メソッドを使う方法かな? でもそれだと Access 2000 では使えないから、やっぱり最初の 3 つの方法でしょ。 そんなの他のサイトにもたくさん載ってるし、毎週どこかの掲示板に上がってくる定番ネタじゃ

  • CSV 形式ファイルを Excel で開く際の "001" 問題を回避する方法

    概要 MS-Access のデータを Excel と互換性の有るテキスト ファイル形式で出力すると言えば、やはり CSV 形式の名前が真っ先に上がるでしょうか。 最近では HTML/XML 形式も普及していますが、やはり Excel インストール環境ではダブルクリック一つで開く手軽さとデータの軽さで、CSV 形式は依然として定番の地位を保ち続けています。 そんな CSV 形式ファイルにも、弱点はあります。 CSV 形式ファイルが軽いのは書式情報を持たないからですが、それゆえにデータ型の判定は Excel の自動認識に任せるしかありません。そのため、文字列の "001" や "1-2-3" のようなデータを CSV 形式で出力した場合、Excel で開くと数値の 1 や日付の 2001/2/3 になってしまう、という現象が発生します。 これは Excel の仕様で、書式不明のデータは、[標準

  • 外部テキストファイルとの接続方法

    Shell 関数 機能 外部テキストファイルを開くだけで何も操作をしなくてよい場合は、もっとも簡単なのがこの Shell 関数です。 Call Shell("NOTEPAD C:\Temp.txt", 1) Shell 関数自体は別にテキストファイルを操作するための関数ではなく、単にアプリケーションを呼び出すだけで、呼び出し先はメモ帳でも秀〇でも Excel でも何でもかまいません。上記例ではコマンドライン オプションでテキストファイルのフルパスを渡すことによって、メモ帳に起動と同時にテキストファイルを開かせています。 なおテキストファイルのフルパス中に半角スペース文字が混じる場合は、下記のようにパスをさらに二重のダブル クォーテーションで括る必要があります。 Call Shell("NOTEPAD ""C:\Documents and Settings\YU-TANG\デスクトップ\Te

  • 勤怠管理に役立つ時刻演算関数集

    概要 MS-Access (VBA) には日付や時刻を計算するために日付/時刻型というデータ型が用意されており、このデータ型を操作するための関数群も存在します。 しかし、この日付/時刻型はあくまで直線の時間軸上の特定の日付をピンポイントで表すシリアル値であり、たとえば勤怠計算やカラオケボックスの稼働集計のように時間を量的に扱いたい場合には、そのままでは使えないケースも出てきます。 そこで、勤怠計算に便利な関数群を独自に用意してみました。 TimeDiff 関数ある日付間の時間差を量的に表す文字列を返します。EX) TimeDiff(#2001/03/29 22:00:00#, #2001/03/28 11:30:00#) 実行結果 → 34:30:00 TimeDiffEx 関数TimeDiff 関数の拡張版です。表示書式を指定できます。EX) TimeDiffEx(#2001/03/29

  • 日付/時刻値の操作を最適化する方法

  • DOS コマンドの実行結果をVBAで取得する方法

    概要 Access VBA と DOS コマンド。 昨今ではあまり馴染みのない組み合わせです。 主要 DOS コマンドは VBA に移植されていますし、VBA に移植されていないものは API や COM の Shell オブジェクト経由で呼べるので、「なんで今さら DOS コマンド?」という感覚が一般的かもしれません。 しかし、中には DOS コマンドの方が簡単に実行できるケースも有ります。 たとえば ping を打ってネットワーク上の任意のホストが生きているか確認したい場合や、あるフォルダの配下から、サブフォルダの中も含めて、特定の拡張子を持つファイルの一覧を取得したい場合などが該当します。 これらはいずれも VBA で実装可能ではありますが、複雑な再帰処理や API との連携が必要です。 一方 CUI であるコマンド インタープリタ上からであれば、たった 1 行の DOS コマンドを

  • MS-Access を使わずに Jet Database Engine を使用する方法

    上記で「必須」になっているコンポーネントは、必ずしもダウンロードが必要であるという意味ではありません。 たとえば、Jet 4.0 SP3 は、Windows 2000 および Windows Millennium Edition (Me) には同梱されています。該当コンポーネントが既に存在している場合は、ダウンロードする必要はありません。 最近の OS であれば、何もしなくても動くでしょう。 HTA を使用する都合上、IE は Ver.5 以降が必須です。4.x 以下は不可です。 必須では有りませんが、VBScript を含む WSH(Windows Scripting Host)の最新版を入れてもよいでしょう。 2. VBScript with DAO 最初にご紹介する手法は、VBScript から MDB にアクセスし、結果を HTA(HTML アプリケーション)に表示するデモです。

  • 1