DXR165の備忘録

自分用の備忘録です。

Access 独自のデフォルトプリンター  

Windowsのデフォルトプリンターとは別に、Access独自のデフォルトプリンターが設定されています。データベースを開いた時点では、Accessのデフォルトプリンターは、Windowsのデフォルトプリンターになっています。
Windowsのデフォルトプリンターを変更すると、その後開くデータベースのAccessのデフォルトプリンターも変更され、データベースを開いている間でも即座に変更されます。

? Application.Printer.DeviceNameで確認できます。


レポートがデフォルトプリンターに印刷されるように設定されていないときは、Accessのデフォルトプリンターを切り替えても適用されません。

レポートがプリンターの設定を保存したかどうかを調べるには Debug.Print Reports!レポート名.UseDefaultPrinter (プリンターの設定が変更されておらず、フォームやレポートと共に保存されていない場合は True 、プリンターの設定がフォームやレポートと共に保存されている場合は False )

category: Access VBA

tb: 0   cm: 0

Access 2010 でのDAOは?  

Access 2010 で直接カレントデータベースにアクセスしテーブルのレコードを操作するには、DAO を使います。既定の参照設定はMicrosoft Office 14.0 Access database engine Object Libraryが参照されています。これがDAOです。Access 2003ではDAO 3.6 Object Libraryとわかりやすかったのですが、Access 2007から変わりました。Access 2007からのDAOは従来のと区別するためでしょうかACE DAOとも呼ぶようです。

Office 11 - Access 2003 - Jet 4.0 - DAO 3.6 - DAO 3.6 Object Library

Office 12 - Access 2007 - ACE 12.0 - DAO 12.0 - Microsoft Office 12.0 Access database engine Object Library

Office 14 - Access 2010 - ACE 14.0 - DAO 12.0 - Microsoft Office 14.0 Access database engine Object Library

Office 15 - Access 2013 - ? - ? - ?

category: Access VBA

tb: 0   cm: 0

Office 2010 (14) からVBAがVBA 7.0 に変更  

Office 2010 (14) からVBAがVBA 7.0 に変更になりました。詳細は調査中です。

category: Access VBA

tb: 0   cm: 0

Access VBA は!(ビックリマークだらけ)?  

Excel VBA を少し勉強された方がAccess VBA を見て最初に戸惑われるのが、コレクション内のオブジェクトを指定するときの Forms![受注]などの!ではないでしょうか。私はかなり違和感を感じました。見た目がなんか美しくないと思いませんか?みなさん!。Excel の場合はほとんど Worksheets("Sheet1")のようにかっこを使います。!とかっこ両方ともAccess ,Excelでは文法的にOKのようです。では、なぜ Access では!が使われることが多いのでしょうか?Access のヘルプによりますとかっこを使った場合、!よりもパフォーマンスがわずかに遅くなると書いてあります。どうやら、!とかっことでは内部的に動きが違い、Access の場合は!を使っておけば間違いなしと思われます。

category: Access VBA

tb: 0   cm: 0

Access VBA エラー処理  

Option Compare Database
Option Explicit

Private Sub エラー処理例()

On Error GoTo Err_LABEL

'~処理~

Exit_LABEL:

'共通の処理(リソースの解放など)の実装

Exit Sub   'エラー処理ルーチンが実行されないようにSubを終了



Err_LABEL:

MsgBox (Err.Number & "," & Err.Description) 'エラー番号 , 定義されているエラーの内容

'エラー処理の実装

Resume Exit_LABEL         'Exit_LABELへ移動する

End Sub

category: Access VBA

tb: 0   cm: 0

VBA 使用期限チェック  

Private Sub Form_Open(Cancel As Integer)
If Date >= DateValue("2010/9/1") Then
    MsgBox "使用期限オーバー" & Date
    Cancel = True
End If
End Sub

category: Access VBA

tb: 0   cm: 0

プロフィール

最新コメント

カウンター(2012/3/10以降)