カテゴリー別アーカイブ: フォーム

レコードを行間に追加する

前回はレコードを削除した場合の行番号を整えました。

今回は、行と行の間にレコードを追加する場合のやり方です。

Accessを使っていてなんでこれが簡単にできないんだろうというものの一つが
行の挿入です。Excelでは簡単ですよね。右クリックで行の挿入、これで終わりです。

AccessではVBAを使わないとできません。

下の画面の1と2の間と2と3の間にレコードを挿入します。

コマンドボタンを作って、そこに以下のVBAコードを入れます。

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

a = Me!順番1

rs.MoveFirst

Do Until rs.EOF
If rs!納品書NO = Forms!納品書!納品書NO Then
If rs!順番1 >= a Then
rs!順番1 = rs!順番1 + 1
rs.Update
End If
End If
rs.MoveNext
Loop

rs.AddNew
rs!順番1 = a
rs!納品書NO = Forms!納品書!納品書NO

rs.Update

rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing

Forms!納品書!納品明細.Form.Requery
End Sub

このプログラムを実行すると、下記のようになります。

無事レコードを挿入して、番号もそろえることができました。
データベースの構造上、常に一番下にレコードが追加されていくので、これの入力順を
変更することは不可能です。ですので順番というフィールドを作って、これで操作して
いきます。

テーブルを見るとこんな感じですね。

ちなみにIDはオートナンバー型です。

Excelばかりつかっているとこの考え方を理解するのに手間取るかもしれませんが、
大事な考え方なので、是非分かってあげてください。

=======================================
9月になりました。
やっと明後日にワクチン1回目です。
いろいろ不安はありますし、打たなくてよければ打ちませんが、仕方がありません。
副反応が少なければいいなあ。。

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

請求明細から請求書を作る①概要

この前、知り合いからExcelの明細から請求書を作れないか?という相談があり
やってみました。なかなかの出来栄えでしたので、そのやり方を解説します。

概要としてはこんな感じです。
Excelにとあるシステムから掃き出した請求明細があります。

続きを読む

納品書の消費税を明細にレコードとして保存する①

納品書を作成する場合、サブフォームの納品明細に納めた商品と単価と数量を入れて
いくと税抜きの納品金額が計算されます。

その納品金額に消費税率をかけて消費税を計算します。
ただ消費税を納品書に表示するだけなら、テキストボックスに
=納品金額*0.08
で計算し、納品金額に消費税を足せば税込みの金額が計算できます。

続きを読む

クエリ・フォーム・レポートを更新した場合

クエリ・フォーム・レポートを更新したときは、次の手順で違うファイルのクエリ等を
更新します。

Accessはご存知のとおり、テーブルにすべてのデータが保存されています。
私の場合、お客さんにAccessファイルをお渡しして、運用してもらっていますが、
何か修正があった場合は、お客さんに渡したファイルを引き取って修正をするのではなく、
そのファイルをコピーして、そのコピーしたファイルを最初に直します。

そうしないとお客さんの業務がと滞ってしまいます。

コピーしたAccessファイルを直したら、その直した
クエリ
フォーム
レポート
を覚えておきます。
続きを読む

Accessで工程管理~日付の明細を表示する

Q原木残数を使って、フォームを作ります。このフォームからは今残っている
原木が、
①何日に仕入れたものが何本残っているのか確認する
②新規に仕入れた原木を入力する
この二つの役割があります。

作成タブのフォームウィザードから、Q原木残数を選び、フォームの形式は表形式
を選択して、フォームを作ります。

作ったフォームにテキストボックスを一つ配置します。
「F原木仕入」としてフォームを保存します。

次に上で作ったフォームを日程フォームから開きます。

原木の残数を表示するテキストボックスのプロパティを開き、イベントタブを選択します。
ここでダブルクリック時に次のコードを入力します。

Private Sub テキスト5_DblClick(Cancel As Integer)
DoCmd.OpenForm “F原木仕入”, , , “原木日付<=#” & Me!日付 & “#”
Forms!F原木仕入!テキスト11 = Me!日付
End Sub

このテキストボックスをダブルクリックすると、下の図のように原木の残数が表示
されたフォームが開き、クリックした日付がテキストボックスに転記されます。

このような方法で、現在の在庫数をそれを構成するフォームを表示して
いつ仕入れた材料がどれくらい残っているのか表示することができます。

==========================================
昨日ガラケーを買い替えました。もう電源がほとんど入らず、連絡先の移行するときも
なかなか電源が入らなくて、このまま移せないのではないかと心配しましたが、
最後の力を振り絞ってくれて、何とか連絡先を新規のガラケーに移せました。
7年間私の仕事を支えてくれたガラケーに感謝です。

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