【メルマガ廃刊のお知らせ】実践テクニック、Accessで作るクラサバシステム Vol13-08
実践テクニック、Accessで作るクラサバシステム No.139
※ 第13コース 第08回「売上入力の作成」 080930配信
__________________________________
Accessのクライアントサーバー 販売管理ソフト教材
http://www.1tware.com/index.html
__________________________________
■メニュー
1.売上入力の作成(28回目)
2.メルマガ廃刊のお知らせ
====================================================================
こんにちは、ティウェアの高橋です。
売上入力の作成の28回目です。
では、はじめましょう。
-------------------------------------------------------------------
今回は、行削除ボタンと削除ボタンの説明です。
行削除ボタンからはじめます。
Private Sub btn行削除_Click()
If intgyosaku = 1 Then '行削除確認(有り)
If MsgBox("行削除しますか", (vbYesNo + vbDefaultButton2 + vbQuestion), _
"行削除") = vbYes Then
Else
GoTo btn行削除job99
End If
End If
If s_行 = Int(0) Then
Exit Sub
End If
'1画面
If Int(伝票明細行_1) = Int(1) Then
bolRet = 明細_画面から表へ(Int(1))
Else
'2画面
If Int(伝票明細行_1) = Int(6) Then
bolRet = 明細_画面から表へ(Int(6))
End If
End If
's_行は退避行(1〜30)
n_gyo = Int(s_行)
Do
If n_gyo = Int(30) Then
h_商品コード(30) = 0
h_商品名(30) = ""
h_規格(30) = ""
h_区分名(30) = ""
h_数量(30) = 0
h_売上単価(30) = 0
h_仕入単価(30) = 0
h_金額(30) = 0
h_消費税名(30) = ""
h_退避売上単価(30) = 0
h_退避仕入単価(30) = 0
Exit Do
End If
m_gyo = n_gyo
n_gyo = Int(n_gyo) + Int(1)
h_商品コード(m_gyo) = h_商品コード(n_gyo)
h_商品名(m_gyo) = h_商品名(n_gyo)
h_規格(m_gyo) = h_規格(n_gyo)
h_区分名(m_gyo) = h_区分名(n_gyo)
h_数量(m_gyo) = h_数量(n_gyo)
h_売上単価(m_gyo) = h_売上単価(n_gyo)
h_仕入単価(m_gyo) = h_仕入単価(n_gyo)
h_金額(m_gyo) = h_金額(n_gyo)
h_消費税名(m_gyo) = h_消費税名(n_gyo)
h_退避売上単価(m_gyo) = h_退避売上単価(n_gyo)
h_退避仕入単価(m_gyo) = h_退避仕入単価(n_gyo)
Loop
'1画面
If Int(伝票明細行_1) = Int(1) Then
bolRet = 明細_表から画面へ(Int(1))
Else
'2画面
If Int(伝票明細行_1) = Int(6) Then
bolRet = 明細_表から画面へ(Int(6))
End If
End If
Call 合計欄_計算
btn行削除job99:
'戻り先
Me.Controls(strControlName).SetFocus
End Sub
行挿入と逆のパターンになります。
行削除ボタンを押したところから順に上へ移動させればよいだけです。
-------------------------------------------------------------------
ここから削除ボタンの説明です。
Private Sub btn削除_Click()
If intsakujyo = 1 Then '削除確認(有り)
If MsgBox("データを削除しますか。", (vbYesNo + vbDefaultButton2 + _
vbInformation), "削除") = vbYes Then
Else
DoCmd.GoToControl "伝票年"
Exit Sub
End If
End If
intRet = 伝票ヘッダー_削除()
p_eigyocd = Int(0)
p_tokucd = Int(0)
From_Clr
Forms(cFormName_M)![伝票番号].Enabled = True
Forms(cFormName_M)![伝票番号].Locked = False
Forms(cFormName_M)![伝票番号].BackColor = 16777215 '白色
Forms(cFormName_M)![伝票番号].SetFocus
End Sub
削除が完了したら、伝票番号のテキストへ移動させます。
-------------------------------------------------------------------
Function 伝票ヘッダー_削除()
伝票ヘッダー_削除 = True
intRet = 伝票ディテール_削除()
cn.Errors.Clear
On Error GoTo 伝票ヘッダー_削除_err
cn.BeginTrans
Set cm1 = New ADODB.Command
Set pm1 = New ADODB.Parameter
Set pm1 = New ADODB.Parameter
pm1.Direction = adParamInput
pm1.Type = adInteger
pm1.Value = Forms(cFormName_M)![伝票区分]
Set pm1_1 = New ADODB.Parameter
pm1_1.Direction = adParamInput
pm1_1.Type = adInteger
pm1_1.Value = Forms(cFormName_M)![伝票番号]
With cm1
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "sp_伝票ヘッダー_del"
.Parameters.Append pm1
.Parameters.Append pm1_1
End With
cm1.Execute
cn.CommitTrans
Set pm1 = Nothing
Set pm1_1 = Nothing
Set cm1 = Nothing
Exit Function
伝票ヘッダー_削除_err:
For Each ado_err In cn.Errors
'リレーションの関係
If ado_err.Number = -2147217873 Then
MsgBox "このコードは他のデータで使用されているので削除できません。" _
, vbCritical, "警告"
GoTo 伝票ヘッダー_削除_err99
Else
MsgBox "エラーナンバー " & ado_err.Number & _
vbCrLf & _
"エラーソース " & ado_err.Source & _
vbCrLf & _
Err.Description, vbCritical, "エラー"
End If
Next
伝票ヘッダー_削除_err99:
伝票ヘッダー_削除 = False
cn.RollbackTrans
Set pm1 = Nothing
Set pm1_1 = Nothing
Set cm1 = Nothing
End Function
-------------------------------------------------------------------
ALTER Procedure [sp_伝票ヘッダー_del]
(
@伝票区分 smallint,
@伝票番号 int
)
As
delete 伝票ヘッダー
where (伝票区分 = @伝票区分) and (伝票番号 = @伝票番号)
return
-------------------------------------------------------------------
伝票の削除は、1伝票まるごと削除します。
伝票ヘッダーは、1つしかありません。
伝票ディテールは、複数存在しますのでまとめて削除します。
伝票ディテール_削除は、次回説明します。
次回も売上入力です。
====================================================================
メルマガ廃刊のお知らせ
====================================================================
2002年11月29日から始めましたメルマガですが、2008年度で終了する
ことに致しました。
理由といたしましては、以前メルマガで記述しました。
「Vista上でSQL Server 2000はサポートしない、当然のごとく、MSDEも。
MSDEの後継に位置付けているのが、SQL Server 2005 Express Editionです。
無料でダウンロードできます。」
新バージョンが登場して2年が経過することになりMSDE2000も過去の
産物となりました。
SQL Server 2005 Express Editionへのバージョンアップも考えましたが、
検討した結果、断念することにしました。
現在、販売しています、「販売管理ソフト教材」は在庫がなくなり次第
販売終了といたします。
メルマガを途中でやめるのは、とても残念ですが、これ以上msde2000を
取り上げて説明しても意味がないと判断した次第です。
長年ご購読してくださいました読者の方々には、ご迷惑をおかけして
誠に申し訳なく思っています。
ご意見や励ましのメールをいただきまして6年間継続することができました。
これもひとえに皆様のおかげです。
とても感謝しています。
今年も残り3ケ月間ですがメルマガを発行しますのでよろしければご購読ください。
長い間、誠にありがとうございました。
====================================================================
”最後までお読みいただきましてありがとうございます。”
今後も「Accessで役立つ」をテーマに、実践テクニックや最新トピックなど
お役にたつ情報をお送りしていきたいと思っております。
システムは、シンプルオブベストで作りましょう!
====================================================================
編集・構成:高橋浩
提供・発行:ティウェア
Accessのクライアントサーバー 販売管理ソフト教材
http://www.1tware.com/
AccessとMSDEで作成する!(ブログ)
http://access1.jugem.jp/
当メールマガジンに掲載された記事を許可なく転載することを禁じます
====================================================================
□登録/削除はこちら
http://www.1tware.com/meruaccess.html
====================================================================

- 登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。


![転職なら[en]社会人の転職情報!転職成功者続出 転職なら[en]社会人の転職情報!転職成功者続出](http://kamogawa.mag2.com/bn/recommend/sya.gif)
![派遣のお仕事探しなら[en]派遣のお仕事情報 派遣のお仕事探しなら[en]派遣のお仕事情報](http://kamogawa.mag2.com/bn/recommend/haken.gif)
![アルバイト探しは[en]本気のアルバイト アルバイト探しは[en]本気のアルバイト](http://kamogawa.mag2.com/bn/recommend/baito.gif)
![就職サイトは[en]学生の就職情報 就職サイトは[en]学生の就職情報](http://kamogawa.mag2.com/bn/recommend/gakusei.gif)
![転職なら[en]転職コンサルタントキャリアを活かした転職に! 転職なら[en]転職コンサルタントキャリアを活かした転職に!](http://kamogawa.mag2.com/bn/recommend/consul.gif)