2
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

私的ACCESSめも集

Last updated at Posted at 2019-08-12

お仕事で使っているACCESSめもが貯まってきたので、通ってきた道を共有したいと思う
超初心者向け
メモなので割と雑、信ぴょう性が…

#型
VBAではVariant型にしかNULLが入らない、あとオブジェクト
テーブルでは日付、数値、テキスト…でオートナンバー以外には入る気がする

#テーブルのデータ取得
面倒なSELECTとかRecordsetのオブジェクトを指定せずに、テーブルから値を取る方法
DLookup("列", "テーブル名","条件")

■プロパティから設定するとき
DLookup("[項目名]", "テーブル名", "[項目名]='" & seq & "'")
■VBAでやるとき
DLookup("ID", "テーブル名")
DLookup("コード名称", "コードマスタ", "コード区分=1 AND コード= 1")
他にもDSumとかある

#データがないときの挙動
DCOUNT→0
DMAX→NULL
DMIN→NULL
DSUM→NULL

#VBA入力候補
Ctrl+spaceで入力候補が出る
決定はenterでも出来るが直後に改行される
tabキーで改行無しの確定ができる

#プロパティのフォーマット
■書式に書く場合
〒@@@-@@@@
ggge\年m\月d\日
#,##0
■コントロールソースに書く場合
=Format(Now(),"ggg" & " 年 月 日")
□注意
FormatとかReplaceの戻り値は文字列かVariantだからいろいろと注意

ところで金額の書式って#,#でも行ける気がするんですが

#式に未定義関数xxxがあります
SQLで関数を使おうとしてた時に、関数名が日本語だと発生したんだけど
発生しない場合もあるので詳細原因は謎
「式に未定義関数Nzがあります」と言われたこともある
こちらはACCESS修復かなんかで直った気がする

#プロシージャ移動
ctrl+↑↓
ctrl+↑↓で前後のプロシージャに移動できる
しんせつせっけい

#サブフォーム内の関数とかを呼び出す
Call Me.Fs_サブフォーム名.Form.関数名
ただし関数とかはpublicにしておく必要がある

#配列の初期化
Erase 配列名

#べき乗の書き方
A = 2 ^ 10
   ↑^の前後に必ずスペースが必要

#このオブジェクトに値を代入することはできません
Form_Open時のイベントで連結項目に値を代入しようとするとなる気がする
値を代入するときはForm_Load時にやる
あとレコードソースに関数指定したら起こった

#桁数チェック
数値項目で桁が大きすぎると指数表示になる
桁数チェックをlenでやると引っかからなくなってしまうので、lenの前でformat(チェック対象コントロール,"0")にするといいらしい

#更新前処理
更新前処理でcancel=trueにすると更新後イベントに行かない

#レコードに検索キーが見つかりませんでした
フィルターをセットするときに発生
SELECT DISTINCTにしたのが原因っぽい
クエリにしてごまかそうとしたけどダメだった

#四捨五入
Format関数で四捨五入できるらしい
strText = Format(12.345, "0.00")とすると結果は
12.35になるらしい
参考
http://www.openreference.org/articles/view/522

#MoveLastとMoveFirst
Recordset.MoveLastはテーブルが空の場合落ちる気がする

#AfterUpdateイベント
AfterUpdateイベントで入力チェックとかやった場合、SetFocusがうまくいかない
詳細はここ
http://accessclub.jp/bbs/0071/beginers26922.html

#メインフォームからサブフォームのコントロールを参照
str=Me.サブフォーム名!txt_あああ

#VBA内で別フォームの項目を変更
Forms![フォーム名]![txt_項目] = "あああ"
↑ただし参照するフォームが開かれていないといけない

2
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?