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

同じレコードの同じフィールドのデータを異なるフォームで同時に操作すると
データの競合が起こります。

同じデータを二つのフォームで編集可能な状態にしておくことに問題があるので、
解決策の一つとして、片方をテーブルのデータではなく、テキストボックスにして
しまいます。

車詳細フォームの車名のプロパティで、コントロールソースを空白にします。
2805281
コントロールソースを空白にすると、テキストボックスが非連結となります。
続きを読む

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

クエリで実行した内容を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 続きを読む

Accessで罫線を引く①

Accessで印刷をするときは、自分で罫線を引いて、一から全て設定する必要
があります。私の著書ではページの都合でExcelで作成した罫線を貼り付け
ましたが、あまりこの方法はお奨めできません。

そもそも見た目もイマイチですし・・

ですので、簡単に罫線をきれいにかける方法を解説します。

最初にデザインタブの直線を選択します。
2804291
続きを読む

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

明細行を挿入した場合の処理を解説してきましたが、今回は削除した場合の処理です。
削除すると当然削除した明細番号が抜けてしまうので、再度番号を振り直す必要があります。

最初に納品書サブテーブルに「順番2」というフィールドを追加します。
2805021
このフィールドに正しい明細番号を振り直します。
続きを読む

明細行の挿入②

前回、明細行を追加する前段階まで解説しました。

あとはサブフォームに配置したコマンドボタンを押したときのVBAコードを入力します。

前回も解説した通り、主キーとなっている納品明細IDはオートナンバーなのでこれを使って
並べ替えはできないので、順番というフィールドを作ってその番号を変更して明細行を
挿入していきます。
続きを読む

明細行の挿入①

Excelでは明細行を挿入しようとするときは、右クリックですぐに挿入できますが
Accessでは残念ながらそんな簡単な動作さえ、プログラムを使わないとできません。

簡単な例で解説します。

簡単なメインサブフォームを作るので、テーブルを二つ作ります。
メインフォーム用のテーブル。
2804271
続きを読む

勤務管理表を作る~休日残業の計算

日曜日は休みたいところですが、日曜日に出勤してくれた時に給与に色を付ける
ことがあるかと思います。

今回は日曜に出勤した場合は通常の給与に0.25倍を乗せた金額で給与計算させます。

最初に出勤した曜日が日曜日かどうかを判定させるために、クエリに曜日を表示
させます。

曜日: Format([日付],”aaa”)
続きを読む