Microsoft Access 掲示板

UPDATEする度にレコードが消えてしまいます / 15

33 コメント
views
4 フォロー
15
wazawaza 2024/02/01 (木) 18:21:30

hatenaさん、ありがとうございます!

この「レコードを読み込ませる」とは具体的にどのように読み込ませているのでしょうか。
「非連結」なので、何かしないと何も表示されません。

「btn_読込」に、下記のようなクリック時のイベント(一部抜粋)を設けて、格納させています。

Private Sub btn_読込_Click()
  Call loadForm  '読込を呼び出し
End Sub

Private Sub loadForm()
  If IsNull(Me.txt_口座番号.Value) Then Exit Sub  '「txt_口座番号」が空なら中止
  
  Call initializeForm
   
  On Error GoTo ErrorHandler

  Dim daoDb As DAO.Database
  Set daoDb = CurrentDb  '接続
  Dim daoRs As DAO.Recordset
  Dim strSQL As String

  strSQL = _
    "SELECT 品名, 厚さ, 幅, 長さ, 巻取側の張力, 巻取側のテーパー, 巻戻側の張力, 巻戻側のテーパー, " & _
            " 巻取方向, 巻戻方向, ニップの使用可否, ニップ圧, 巻取速度, サンプル採取, 巻取側の巻芯種別, " & _
            " 巻取側の巻芯内径, 巻取側の巻芯厚さ, 巻取側の巻芯幅, タッチロールの材質, タッチロールの寸法, EPC検出位置切替 " & _
    "FROM T_機械設定 " & _
    "WHERE 口座番号 = '" & Me.txt_口座番号.Value & "';"
    
  Set daoRs = daoDb.OpenRecordset(strSQL)
  
  If daoRs.BOF = True And daoRs.EOF = True Then                 '該当レコードが無かったら
    MsgBox "対象レコードがありません。", vbInformation, "確認"  'メッセージを出力
    GoTo Finally  '接続解除へジャンプ(親レコードが無ければ子レコードが読込できないため)
  End If
  
  Me.txt_品名.Value = daoRs!品名
  Me.txt_厚さ.Value = daoRs!厚さ
  Me.txt_幅.Value = daoRs!幅
  Me.txt_長さ.Value = daoRs!長さ
  Me.txt_巻取張力.Value = daoRs!巻取側の張力
  Me.txt_巻取テーパー.Value = daoRs!巻取側のテーパー
  Me.txt_巻戻張力.Value = daoRs!巻戻側の張力
  Me.txt_巻戻テーパー.Value = daoRs!巻戻側のテーパー
  Me.cmb_巻取方向.Value = daoRs!巻取方向
  Me.cmb_巻戻方向.Value = daoRs!巻戻方向
  Me.cmb_ニップ可否.Value = daoRs!ニップの使用可否
  Me.txt_ニップ圧.Value = daoRs!ニップ圧
  Me.txt_巻取速度.Value = daoRs!巻取速度
  Me.cmb_試験サンプル.Value = daoRs!サンプル採取
  Me.cmb_種別.Value = daoRs!巻取側の巻芯種別
  Me.txt_巻芯内径.Value = daoRs!巻取側の巻芯内径
  Me.txt_巻芯厚さ.Value = daoRs!巻取側の巻芯厚さ
  Me.txt_巻芯幅.Value = daoRs!巻取側の巻芯幅
  Me.cmb_タッチロール材質.Value = daoRs!タッチロールの材質
  Me.txt_タッチロール寸法.Value = daoRs!タッチロールの寸法
  Me.cmb_検出位置.Value = daoRs!EPC検出位置切替
  
  daoRs.Close

「######・・・」というのは、例えば「######https://zawazawa.jp/ms-access/######」というような表示でしょうか。(URL部分は一例)

その通りです。
既存レコードには、更新回数分であろう#が前後に増えていて、
レコードの無いところには、同じく更新回数分であろう#で埋め尽くされていました。

現時点ではレコード数も20件と少ないので、skさんからご提示して頂いたSQL文は使わず、
一個一個#を削除して、「#[特記詳細事項]#」のようなあるべき姿にしたところです。

通報 ...