[vba]プライスカード発行プログラム改造中

空いた時間に「プライスカード」発行プログラムを改造中
[vba]マジですか2021年4月までにプライスカード作り直し!

完成した「二重価格プライスカード」を得意先に見せると新たな要望が(マジで!)

売価は小数点切上げ

必要に迫られた機能だけを本を斜め読みしながら勉強してきた我流プログラマーの私

切上げプログラム
作ったことないな・・・

取りあえず操作画面に「切上チェックボックス」を追加
内税プライスカード対応にプログラム改造中

さて、切上げってどうするの?

ネットで拾ったスクリプトを参考に作ったプログラムがこれ

切上げプログラム

Sub MakeTAXonPRICE(myOffPrice As Currency, myTAX As Single)

Dim myOnPrice As Currency

myOnPrice = myOffPrice * myTAX

If Me![opt切上] = True Then
    Me![売価2税込] = IIf(myOnPrice = Int(myOnPrice), Int(myOnPrice), Int(myOnPrice + 1))
Else
    Me![売価2税込] = Int(myOnPrice)
    
End If

End Sub

税込売価10%ボタン

Private Sub btn10on_Click()

Dim myPrice As Currency

myPrice = Me![売価]

Call MakeTAXonPRICE(myPrice, 1.1)

End Sub

税込売価8%ボタン

Private Sub btn8on_Click()

Dim myPrice As Currency

myPrice = Me![売価]

Call MakeTAXonPRICE(myPrice, 1.08)

End Sub

これで一行ずつの計算プログラムが完成

次は、これをベースに数百レコード対象の
「税込売価一括計算プログラム」の開発

操作画面に[売価一括計算]ボタンを追加
数百レコード対象の「税込売価一括計算プログラム」開発

一括税込売価計算プログラム(切上/切捨対応)がこれ
取りあえず8%食品用

Private Sub btn売価一括計算_Click()

Dim cn As ADODB.Connection
Set cn = Application.CurrentProject.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

rs.Open "Tプライスカード", cn, adOpenKeyset, adLockOptimistic

Dim myOffPrice As Currency '外税売価
Dim myOnPrice As Currency '内税売価
Dim myTax As Single '消費税率

myTax = 1.08

Do While rs.EOF = False

    myOffPrice = rs![売価]
    myOnPrice = myOffPrice * myTax
    
    Me![txtTSET2] = myOnPrice
    
    If Me![opt切上] = True Then
        rs![売価2税込] = IIf(myOnPrice = Int(myOnPrice), Int(myOnPrice), Int(myOnPrice + 1))
    Else
        rs![売価2税込] = Int(myOnPriceL)
    End If
    rs.Update
   
rs.MoveNext
Loop

rs.Close
cn.Close

End Sub

普通に動きました

MS-Access
スゲ~便利!
開発、超簡単!

でもリボンインターフェイス大嫌い
開発画面、MS-Access2003の頃に戻してくれないかな・・・
開発が30%早くなるのにな

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA