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

iPhone・iPodの動画コーデック

AVC+AAC
MPEG-4+AAC
とからしい。

とにかく携帯動画変換くんでやると見れるようになった。

2,706 views

オートマクロ

ACCESSファイルを開いたときに自動的に実行されるマクロ

・マクロを「autoexec」という名前で作成する。
・モジュールに書いた関数を実行することもできます。
※Subルーチンではダメ。Functionで宣言する。
関数を実行する場合は、アクションに「プロシージャの実行」を選択し、
プロシージャ名に関数名()を入力する。

ここで設定したオートマクロは、起動時の設定での「フォーム/ページの表示」よりも優先されます。

2,135 views

参照設定を追加せずDAOを利用する

Dim db As Object
Dim rst As Object

Set db = DBEngine.Workspaces(0).Databases(0)

MsgBox db.Name

Set rst = db.OpenRecordset("テーブルまたはクエリ名")

Do Until rst.EOF
    Debug.Print rst("フィールド名")
    DoEvents
    rst.MoveNext
Loop

rst.Close: Set rst = Nothing
db.Close: Set db = Nothing

OpenRecordsetメソッドにdbOpenDynasetなどの引数を指定したい場合
定数が使用できないので、下記を参考に数値を入力してください。

dbOpenTable 1
dbOpenDynamic 2
dbOpenDynaset 3
dbOpenSnapshot 4

SQL Serverへ接続する場合について(※2016.06.14追記)

SQL ServerのID列を持つテーブルを開くときは、dbSeeChanges(512)オプションを使用するようエラーが発生します。
その場合は以下のように開きます。

Set rst = db.OpenRecordset("テーブルまたはクエリ名", 2, 512)

CurrentDbの推奨(※2020.10.28追記)

Access2000以降ではデータベースをする際、上記のコードにある「DBEngine.Workspaces(0).Databases(0)」よりも「CurrentDb」の使用が推奨されているようです。

Set db = CurrentDb

また、別のデータベースを参照する必要があるときは以下のようにしてください。

Set db = DBEngine.Workspaces(0).OpenDatabase("Another.mdb")

参考URL:CurrentDb メソッド (Access) | Microsoft Docs

9,489 views

ファイルのバージョン情報を取得

FileSystemObjectを使用する場合、例のようにCreateObjectを利用するか
[ツール]-[参照設定]で[Microsoft Scripting Runtime]の参照追加が必要。

Function get_file_version(ByVal strFilePath As String) As String

    Dim cFSO      As Object
    Dim stVersion As String

    'FileSystemObjectのインスタンスを生成
    Set cFSO = CreateObject("Scripting.FileSystemObject")

    'ファイルのバージョンを取得する
    stVersion = cFSO.GetFileVersion(strFilePath)

    'オブジェクト破棄
    Set cFSO = Nothing

    get_file_version = stVersion

End Function
11,339 views

ACCESS クエリ内での改行入力

Visual Basicでは改行を表現する際、vbCrLfと表記しますが、
更新クエリ等で改行を含んだ処理をしたいときは利用できません。

その場合、以下のように改行を表現します。

Chr(13) & Chr(10)

Chr(10) = LF(ラインフィード)
Chr(13) = CR(キャリッジリターン)

36,734 views