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

ACCESSでMDBにファイル参照を組み込もうとして失敗

MSACCESSでMDBにファイル参照を組み込もうとした。
調べたら「Microsoft Office Access 2007 Runtime」をインストールするとできるということだったので、インストールした。
すると、MDBを最適化するため、新規作成しインポートすると「ファイルへのアクセスでエラーが発生しました。ネットワークへの接続が切断されている可能性があります。」というエラーメッセージが出て起動できなくなった。

「ツール」-「解析」-「データベース構造の解析」で調べたら、「未定義関数 ’IsNull’があります」とアラートが出た。

【原因】
調べた結果、VBE6.DLLが新しいバージョンになったことが原因のようだ。
【解決方法】
以下のフォルダー内にあるVBE6.DLLを削除してから、ACCESSを実行
するとOfficeを修復する。その際にVBE6.DLLが再作成され、本来入っていたバージョンに戻る
C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6

ちなみにこの時は、バージョン「6.0.87.14」から「6.5.10.40」にアップデートされた。

5,398 views

クエリ式で数値の小数点以下切り捨て

小数点第2位で切り捨てしたいとき

Fix関数を使う
しかし、Fix関数は整数を返すので、値×(残したい小数点以下の桁数×10)の値をFixし、(残したい小数点以下の桁数×10)で割る

例)

fix(値*10)/10
7,283 views

Enum(列挙型)

関数を作成する際、列挙型を作成しておくと呼び出し時にリストから引数を選択できるので便利

例)WINDOWSアプリを起動する関数ルーチン

'列挙型の宣言
Enum WinAppType
    PHOTOED = 0
    KODAKING = 1
    ACROBAT = 2
    WORD = 3
End Enum

続きを読む…»

2,293 views

DAOでレコード検索

Dim dbs As Database
Dim rst As Recordset
Dim strCriteria As String

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("住所テーブル", _
dbOpenDynaset)

With rst
    strCriteria = "住所 Like '東京*'"
    .FindFirst strCriteria
    Do Until .NoMatch
        Debug.Print !ID, !氏名, !住所, !郵便番号
        .FindNext strCriteria
    Loop
    .Close
End With
2,425 views

ACCESSエラー「指定したテーブルから削除できませんでした。」

テーブルにリレーションシップを組んであるため、
削除クエリでレコードを削除できない場合の解決法 

クエリのプロパティで、固有のレコード(UniqueRecords)を「はい」にする

6,702 views