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

便利なApplicationメソッド ACCESS

DLookupやDCount等はよく使うのですが、他にも便利なメソッドがあったのでご紹介します。

DAvg

指定した数値フィールドの平均値を取得します
返り値は倍精度浮動小数点型(Double)です

DCount

レコード件数を取得します

DFirst

先頭レコードの指定フィールドの値を取得します

DLast

最終レコードの指定フィールドの値を取得します

DLookup

指定したフィールドの値を取得します

DMax

指定フィールドの最大値を取得します

DMin

指定フィールドの最小値を取得します

DSum

指定フィールドの合計値を取得します


書式

DLast(Expr, Domain, Criteria)
続きを読む…»

2,200 views

ACCESS Excelファイルに画像を挿入

まずは変数を宣言します。

Dim xlApp   As Object
Dim xlBook  As Object
Dim xlSheet As Object

各オブジェクトを作成します。

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open([Excelファイルのフルパス])
Set xlSheet = xlBook.WorkSheets(1)

ワークシートオブジェクトをwithブロックで使用します。

With xlSheet

画像を貼り付けしたい起点(左上)のセルを選択します。

.Range("A1").Select

withブロックが入れ子になりますが、画像オブジェクトとしてアクセスできるようにします。 続きを読む…»

9,207 views

小文字の「i」が大文字になってしまう問題 [ACCESS]

例えば、Softbankの「…@i.softbank.jp」というメールアドレスを打ったとき、
@の後のiが大文字になってしまう場合があります。

この問題を解決するにはオートコレクトの設定を変更します。

メニューの[ツール]-[オートコレクト]を開きます。

「入力中にオートコレクト」のチェックを外します。
これで「i」が大文字にならないようになります。

私はついでに以下の2つもチェックを外しています。

・2文字目を小文字にする [THe … → The …]
・文の先頭文字を大文字にする [the … → The …]

3,010 views

クエリーでのデータ抽出上限値

ACCESSのクエリーのお話です。

例えば、テーブルにデータが2,000件存在し、そのうち条件を指定して抽出したデータを上位1,000件のみ表示したいとします。
プログラムでレコードセットを開き、指定した件数を抽出することができますが、もっと簡単な方法があります。

クエリーのデザインビューでクエリープロパティを開きます。
access_query_property
プロパティの「トップ値」に抽出したいデータの件数を入力します。
デフォルトは「すべて」になっています。

これだけで上限値を設定することができます。

6,502 views

フォームを開く/閉じる速度改善

MicroSoft ACCESSにて、フォームを開くとき、閉じるときの速度が遅い場合、
コードの書き方によって改善できることがあります。

以下のようにフォームを開くときにフィルターをかけていた場合

Private Sub Form_Load()

    DoCmd.ApplyFilter , "[Where条件]"

End Sub

上記の場合でいくと開くときにも時間がかかり、
更には、閉じるときにも時間がかかってしまいます。

改善するには、開くときにフィルター条件を引数に与えてしまいます。

Dim stDocName      As String
Dim stLinkCriteria As String

stDocName = "[フォーム名]"
stLinkCriteria = "[Where条件を指定]"

DoCmd.OpenForm stDocName, , , stLinkCriteria

この方法のほうが開く速度も閉じる速度も向上します。

13,383 views