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

レポートのレコードソースを変更したい

原則として、できません。

無理矢理にでもやりたい場合は、一旦デザインモードで表示させ、
レコードソースを変更する必要があります。
例)

Dim MyReport As Report

'デザインビューでレポート事前に開く必要があります。
DoCmd.OpenReport "sample", acViewDesign

'最小化するためにレポートを特定
DoCmd.SelectObject acReport, "sample", False
'最小化
DoCmd.Minimize

Set MyReport = Reports!sample

MyReport.RecordSource = "[ Record Source ]"
8,216 views

VBでの正規表現

VBで正規表現を使った文字列検索を実装します。

Dim regEx As Object
Dim Matches As Variant

'正規表現オブジェクト
Set regEx = CreateObject("VBScript.RegExp")
'検索文字列全体について検索する
'regEx.Global = True
'最初の一致を検索する(既定値)
'regEx.Global = False

'検索するときに大文字と小文字を区別しない
'regEx.IgnoreCase = True
'検索するときに大文字と小文字を区別する(既定値)
'regEx.IgnoreCase = False

'検索するパターン
regEx.Pattern = "検索パターン"

続きを読む…»

5,775 views

CodeContextObject

共通の関数などで、コード実行元のフォーム名やレポート名を
その都度参照するには、(Application.)CodeContextObjectプロパティを利用できます。

ちなみに、クロス集計クエリではこの値取得方法は利用できないようです。

4,107 views

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,284 views