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

テーブルのデータをExcelのように管理する

AccessのテーブルのデータをExcelのように表計算として使う方法を解説します。
Accessの場合、集計をかけるときは集計クエリを使い、テーブルとは分けて考えるのが
一般的です。

集計クエリの致命的な弱点は縦の計算ができないことです。横の計算は得意ですが。。

縦計がでないとできないことが出てくるので、その点も含めて解説します。

とりあえず今回は横計の出し方です。

下の図のように簡単なテーブルを作ります。

続きを読む

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

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

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

続きを読む

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

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

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

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

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

明細行の挿入②

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

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

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

明細行の挿入①

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

簡単な例で解説します。

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