スポンサーリンク

2016年11月28日月曜日

DAOで全レコードの全フィールドデータを動的配列に格納するVBA

Access2013のDAOで、全レコードの全フィールドデータを動的配列に格納するVBAです。

下記フォームの[開始]ボタンをクリックすると実行します。

クリックイベント内に入力した、VBAコードです。

■VBAコードの流れ


1)レコードセットと配列を宣言
2)テーブルをレコードセットで開きます。
3)動的配列にフィールド数分の要素を確保します。
4)レコード数分、Doループで繰り返します。
5)フィールド数文、Forループで繰り返します。
6)配列にフィールドデータを格納します。
7)次のレコードに移動し、LoopでDoへ戻ります。
8)レコードセットの変数を開放します。

■VBAコード


Option Compare Database
Private Sub コマンド0_Click()
    Dim rs As Recordset
    Dim myArray() As Variant
   
    Set rs = CurrentDb.OpenRecordset("T_テーブル")
    ReDim myArray(rs.Fields.Count)
   
    Do Until rs.EOF
        For i = 0 To rs.Fields.Count - 1
            myArray(i) = rs(i)
        Next
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub

関連する記事
VBAでフォームを開くコードとエラー発生時の対処方法
VBAでフォームを閉じるボタンを作成する

2016年11月15日火曜日

フォームをタブ形式でない、これまでのウィンドウ表示にする

Access2013のフォームをタブ形式でない、これまでのウィンドウ表示にする方法です。

下はAccess2013で作成したメニューフォームです。 タブ形式になっています。
これを従来のMIDIウィンドウに変更します。
Access2013で作成したメニューフォーム

リボンの[スタート]~[オプション]をクリックします。
[オプション]をクリックする

Accessのオプションが開きます。
[現在のデータベース]~[アプリケーション オプション]部分の[ドキュメント ウィンドウ オプション]を[ウィンドウを重ねて表示する]にします。
[ウィンドウを重ねて表示する]を選択する

「指定したオプションを有効にするには、現在のデータベースを閉じて再度開く必要があります。」とメッセージが表示されるので、開き直します。
メッセージ表示

これでタブ形式でない、従来のウィンドウになります。
タブ形式でない、従来のウィンドウ

関連する記事
関連する記事
検索フォームを作成する
フォームの種類(単票・表・データシート・帳票)
サブフォームの作成方法 その1
オートフォームを使いテーブルから簡単にフォームを作成する
起動時にメニューフォームを開くには

2016年11月10日木曜日

検索ボックスによる検索の方法

Access2013の検索ボックスを使った検索の方法です。

検索ボックスとは、下の矢印部分のレコードセレクタの右にある入力ボックスのことです。
検索ボックスとは

検索ボックスに検索ワードを入力し、Enterキーを押すと見つかった位置に移動します。
見つからなかった場合は無反応です。
検索ボックスに検索ワードを入力し、Enterキーを押す

Enterキーを押す度に、次のレコードへ移動します。
Enterキーを押す度に、次のレコードへ移動する

あいまい検索をするには「*」などを使ったワイルドカードを使います。
下の「*タル*」の場合、「タル」がどこかに含まれているデータを検索します。
あいまい検索をするにはワイルドカードを使う

検索を繰り返し、最終の見つかったレコードに移動すると、その位置で終了してしまうので先頭に戻るには、レコードセレクタの[先頭レコード]をクリックし戻します。
レコードセレクタの[先頭レコード]をクリックし戻す

関連する記事
関連する記事
ワイルドカードを使ってあいまい抽出を行う
検索フォームを作成する
更新クエリで指定した検索条件に一致したデータを一気に書き換える

2016年11月4日金曜日

AccessのクエリからExcelでピボットテーブルを作成する

Access2013で、クエリからExcelでピボットテーブルを作成する方法です。

Accessのクエリを開きます。
1.左上隅をクリックし、クエリ全体を選択します。
2.コピーを実行します。
Accessのクエリを開きコピーする

Excelを起動し、貼り付けを行います。
この時点で貼り付けたデータ範囲全体が選択されます。
Excelを起動し、貼り付けを行う

リボンの[挿入]~テーブルグループの[ピボットテーブル]をクリックします。
テーブルグループの[ピボットテーブル]をクリックする

ピボットテーブルの作成ダイアログボックスが開きます。
ここではデフォルトの設定のままで作成します。
ピボットテーブルの作成ダイアログボックス

ピボットテーブルのフィールドパネルが開きます。
1.「商品名」を行にドラッグします。
2.「日付」を列にドラッグします。
3.「出庫数」を値にドラッグします。
ピボットテーブルのフィールドパネル

これで ピボットテーブルが作成できました。
ピボットテーブルが作成できた

関連する記事
関連する記事
Excelとリンクする
テーブルをExcelにエクスポートする
Excelのデータを取り込む(インポートする)
Excelの表からコピー&ペーストでテーブルを作成する