カテゴリー別アーカイブ: AccessVBA

改ページしたときにページ数を表示する

ページ数を印刷物右上に表示させる方法です。

1ページ目

2ページ目

このように表示させます。

最初にデザインビューでレポートヘッダーとページヘッダーにページ数と見積書NOを表示できるように
設定します。

このまま印刷の処理をかけると、1ページ目にレポートヘッダーとページヘッダーの二つの
ページ数が表示されてしまうので、これでは使い物になりません。

考え方は、ページ数が1のときはページヘッダーのページ数を非表示にし、2ページ目以降に表示にする
ように設定します。

ページヘッダーのプロパティを開き、イベントタブの印刷時に次のコードを入力します。

Private Sub ページヘッダーセクション_Print(Cancel As Integer, PrintCount As Integer)
If [Page] = 1 Then
Me!ラベル110.Visible = False
Me!見積NO.Visible = False
Me!テキスト34.Visible = False
End If

If [Page] >= 2 Then
Me!テキスト105.Visible = False
Me!ラベル110.Visible = True
Me!見積NO.Visible = True
Me!テキスト34.Visible = True
End If

End Sub

これで印刷をかけると上のように、1ページ目はレポートヘッダーのページ数が、2ページ目以降はページヘッダーの
ページ数が表示されるようになります。

レポートの設定にはVBAが欠かせません。

=========================================
最近お酒にだいぶ飲まれるようになってきた感じがします。。
今まで家でもほぼ毎日少量ですが晩酌していましたが、今日からもう
家ではお酒は飲まないようにしようと決意しました。

とりあえず今日は飲みませんでした。

本日も最後までお読みいただきありがとうございます。

クエリとVBAのコードを編集する

先日、源泉所得税で86万円を超える場合の説明をしました。
そのとき掲載したクエリがとにかく長く、同じフィールドを幾つも使っています。

例えばこれをコピペで使おうとした場合、自分で設定しているフィールド名と違うとクエリが上手く
動いてくれません。

そんな時は、コピーの基となるクエリをコピーして、Wordに一旦貼り付けます。

続きを読む

Accessで名刺管理~取り込んだデータの編集

最初に、名刺データテーブルに備考というフィールドを追加します。
これで自由に書き込みができるようになりました。
2806252

名刺データは、現在のままではテーブルを直接開くことでしか、データの
編集ができないので、フォームでもできるようにします。
続きを読む

特定の文字(部分一致)で検索する

ある特定の文字を含むデータだけ抽出する方法です。

下の図のように簡単なフォームを作ります。フォームデザインでフォームを
作り、テキストボックスとコマンドボタンを配置するだけです。
2806061
コマンドボタンに次のVBAコードを入力します。
Private Sub コマンド2_Click()
DoCmd.OpenForm “車一覧”, , , “車名 Like ‘*” & Me!テキスト0 & “*'”
End Sub
続きを読む

データの競合②~競合を回避する方法2

片方のフォームをテキストボックスに変えることで競合を回避できましたが、
もう一つの方法を解説します。

それは一覧フォームから詳細フォームを開いたときに、一覧フォームを閉じる、
詳細フォームを閉じたときは一覧フォームを開くことで、両方変更できる状態を
回避することができます。

一覧フォームのコマンドボタンのプロパティのイベントタブのクリック時に
次のVBAコード入力します。
Private Sub コマンド5_Click()
DoCmd.OpenForm “車詳細2”, , , “車両NO=” & Me!車両NO & “”
DoCmd.Close acForm, “車一覧2”
End Sub
続きを読む

明細行の削除~行番号を整える③

クエリで実行した内容をADOで実行します。
コードは以下の通りです。
Private Sub コマンド13_Click()
Dim a As Integer

Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cnn = CurrentProject.Connection
Set rs = New ADODB.Recordset

rs.Open “納品書サブ”, cnn, adOpenKeyset, adLockOptimistic

rs.MoveFirst
Do Until rs.EOF
rs!順番2 = DCount(“*”, “納品書サブ”, “納品書NO=” & Forms!納品書メイン!納品書NO & “” & ” and ” & “順番<=" & rs!順番 & "") rs.Update →順番2に正しい順番に変更します。 rs.MoveNext Loop 続きを読む

勤務管理表を作る~社員フォームから勤務計算フォームを開く

勤怠時間を入力する社員を選択して、時間を入力できるようにします。

社員を選択するためのフォームを作ります。
作成タブのフォームウィザードから、テーブルで社員テーブルの全データを選択し、形式は
表形式を選択します。

ウィザード終了後のフォームを手直しします。
最初に退職のチェックボックスの可視プロパティを「非表示」に変更します。
名前の横にコマンドボタンを配置します。
2804081
続きを読む