三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

XXXXXさんへ Access 更新処理 エラーについて 指導者の先輩が作成したサンプルと違いを見てみては?

>エラーが出ているのは中盤の更新ボタンクリックのあたりです。

急いでいるみたいなので、(※急いでいない人はそもそも質問しないかスミマセン)
ざっと見た感じ

勝手にコメント付けてみました。理解の手助け、参考になれば。

Private Sub 更新ボタン_Click()

Dim b As Recordset
Dim buppincord As String

'ここでレコードセット作成
Set b = CurrentDb.OpnRecordset("select * from 物品机上在庫再")

'まず、検索が無いのでは?※レコードセットを選択しただけで、検索が無い
'先輩が作成した動くサンプルだと.FindFirst などで探しているような

'Editとか、更新モードも必要かも

'↑レコードが確定していないので、
b("机上在庫数再") = b("机上在庫数再") + Form![出庫数再]
'↑で、フィールドにセットしているが、フィールドが無いのでエラーとか?

MsgBox (Form![物品コード])

If Nz(b("物品コード")) = "" Then

MsgBox "入力がありません"

Exit Sub

'※ここで、レコードが見つからないかチェックしているが、
'このbはどこで、どんな条件で検索しているのだろうか?
If b.NoMatch = True Then
MsgBos "見つからん"

'見つからない時に更新?※見つからない時は、addnewなど追加新規では?
b.Edit 

Else 

MsgBox (b("カナ品名"))

End If

If Nz(b("机上在庫数再")) = "" The

b("机上在庫数再") = 0

Else

b("机上在庫数再") = b("机上在庫数再") + Form![出庫数再]

End If

End If

b.Edit  '←ここで、編集モードにしていますが、頭でやるのでは?
b.Update  'レコードを確定、更新する

b.Close

Set b = Nothing

End Sub


先輩の作成した動くサンプルを見ると、ヒントがあるのでは?

buppincord = Form![物品コード]
c.FindFirst "物品コード = '" & buppincord & "'"

↑など、フォームの値で、検索.FindFirst しているみたいですね。
これが無いと、どのレコードを更新するのがわからないのでエラー?

.FindFirstでググったり、※該当コードのレコードを探す?

.AddNew でデータ追加、※新規のデータの時は新しくレコードを作り、
.Edit で編集モード ※見つかった時は、更新する

.Update で更新確定

このあたりをググったりして、探ると、
指導者の先輩が作成したコードを理解しやすいかも?

あとは、応用できれば、、、これがなかなか難しいのですが。

1.レコードオープン b = CurrentDb.OpnRecordset("select * from 物品机上在庫再")
2.探す .FindFirst "物品コード = '" & buppincord & "'"
3.新規 Or 更新判断 .AddNew .Edit
4.データ計算・セット b("机上在庫数再") = b("机上在庫数再") + Form![出庫数再]
5.DB更新、レコード確定 .Update
6.レコードセットを閉じる b.Close

なんて流れを確認したりかなぁ・・

>エラーが出ているのは中盤の更新ボタンクリックのあたりです。

あっ、テーブル名とかフィールド名はあっていますか?
エラーと一言の日本語ですが、
どの場所か、
黄色くなっている部分と
エラーメッセージ・コードなどて、
検索してみるのも一つの手です。

先輩のコードや私のページなどネットに転がっているサンプルを理解するのは大変ですが、
一つ一つ突破していってください。

解決の糸口となれば幸いです。  三流プログラマー Ken3

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)