マガジンのカバー画像

Access Tips

10
運営しているクリエイター

記事一覧

Access エラー 追加クエリですべてのレコードを追加できません

Access エラー 追加クエリですべてのレコードを追加できません

追加クエリを実行したときに、以下のようなエラーが出る場合があります。

型変換のため〇個のフィールドをNullに設定しました。また〇件のレコードでキー違反、〇件のレコードでロック違反、〇件のレコードで入力規則違反が発生したため、レコードを追加できませんでした。……

急いでいるときに限ってこういうエラーが出ると参ってしまいますよね…。何度追加クエリを実行しても同じエラーが出て動かずでした。

色々

もっとみる
Access フォームモジュール フォームコマンドボタンとクエリの連動

Access フォームモジュール フォームコマンドボタンとクエリの連動

Accessはフォーム内に様々なオブジェクトを作成し、クエリやモジュールと連動することができます。

ここでは、フォームのコマンドボタンを押すとクエリが起動する設定を作成します。

まず、クエリを作成します。
例として、テーブル 商品分類情報 のフィールド import_dateがNullだった場合、本日の日付を入れる更新クエリを使用します。

次に、作成 → フォームデザイン からコマンドボタン

もっとみる
Access IIf関数 フォームとの連携 チェックボックスの有無で抽出条件設定

Access IIf関数 フォームとの連携 チェックボックスの有無で抽出条件設定

ある、販売データから、抽出条件を単選択したり、複数選択したりしたい場合があるとします。

クエリで毎回、抽出条件を書き直すのは面倒なので、フォームのチェックボックスを使用して表したいと思います。

例として、以下のテーブル SupermarketReceiptでフィールドpos_large_class_nameの種類に応じて抽出条件を変えたい場合、まずフォームにそれぞれの種類のチェックボックスを作

もっとみる
Access InStr関数の活用 1フィールドに、複数の値が入っていて値を集計した場合

Access InStr関数の活用 1フィールドに、複数の値が入っていて値を集計した場合

1フィールドに複数の値が入っているテーブルの値の集計をしたい場合、選択クエリで Instr関数を使用して分けた後に集計選択クエリで集計をすることができます。

関数式はSwitch関数も組み合わせて以下のように記述します。

Switch(InStr([テーブル名]![フィールド名],値)>0,任意の値)

例えば、テーブルAのフィールド「値」に abcdeの5文字が様々な組み合わせで入っている表

もっとみる
Access インポートするファイル名の一部をレコードとして取り込む

Access インポートするファイル名の一部をレコードとして取り込む

インポートするレコードがいつ作成されたものなのか、後々の分析作業で使用したい場面で使います。

ファイル名の最後に年月日(yyyymmdd)と文字列が入っている場合AccessのVBAにもSQLを使用したモジュール入れて、レコードにすることが可能です。

この場合は Right(ファイル名, 8) で取り出します。
ファイル名は文字列なので、'で括ります。
後、フィールド名がNullの場合も考慮し

もっとみる

Access Switch関数とIIf関数

レコード値を変換させるときに良くSwitch関数かIIf関数を使用します。

Switch関数は条件式の値が真(True)の場合、交換値と該当しない(False)場合はNull値となります。

Switch(条件式1,交換値1,条件式2,交換値2,条件式3,交換値3,…)

IIf関数も式の値が真(True)の場合と該当しない(False)場合の値も設定できます。

IIf(条件式,真の場合,偽の

もっとみる
Accessエラー 循環参照

Accessエラー 循環参照

クエリをデータビュー形式にしようとすると以下のようなエラーが出ました。

⚠️クエリ定義のSELECTで指定されている別名 '品目例' が循環参照を発生させています。

このような時はクエリをデザインビュー形式のまま、フィールドグリッドで下の別名と、別名を指定する時の関数内に元フィールドを使用していないか確認をします。

上の画像の例では別名「品目例」(水色)フィールドを作成するのに元フィールド「

もっとみる
Access VBA エクスポートフォルダの選択

Access VBA エクスポートフォルダの選択

Accessからテーブルデータやクエリをエクスポートする時に、エクスポート場所を考える時があります。

1.現在起動しているデータベースと同じフォルダにエクスポートする
現在起動しているデータベースと同じフォルダの場合は
CurrentProject.Pathのコードで指定します。
※CurrentProjectオブジェクトド
※object.Pathメソッド

Private Sub Sampl

もっとみる
実行時エラー ’3011’

実行時エラー ’3011’

Access VBAでテーブルやクエリのエクスポートを実行した時、タイトルのエラーが出ました。
※例はテキストエクスポート

実行時エラー ’3011’

オブジェクト ’オブジェクト名#txt’ が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。
’オブジェクト名#txt’ がローカルオブジェクトでない場合は、ネットワークの接続を確認するか、サー

もっとみる
ランダム抽出を〇〇件

ランダム抽出を〇〇件

業務でランダムに〇〇件、定期的に抽出したい。

そんなオファーをいただきました。

Accessでランダムに〇〇件抽出するときは、どうしたら良いでしょうか?

1.ランダムに並べ替えまず、VBAを開き、標準モジュールに以下のコードを書きます

Public Function test_Randomize() RandomizeEnd Function​

※コード説明
・Randomize・・

もっとみる