SSブログ

アクセス小僧:全レコードの特定フィールドに0を書き込む [コンピューター]

アクセスのフォームでボタンを押したら、全レコードの特定フィールドに0を書き込んで、そのフィールドを初期化するマクロを

作りました。

フォーム名パスワード入力
テーブル名T_パスワード管理
フィールド名検索回数


【流れ】
1.フォームを一旦、閉じる。
2.テーブルの全レコードを選択するSELECT文で、レコードセットをセットする。
3.各レコードの検索回数フィールドに0をセットして、レコードセットを閉じる。
4.フォームを開く。


【スクリプト】
Private Sub 検索回数リセット_Click()
  '【機能】フォームを閉じて、検索回数を全レコード0にして、フォームを再度開く
  'On Error GoTo ERR1
  '【変数】
  Dim myPWMngID As Long ' PW_Mng_ID
  Dim MyStr1 As String ' 文字列
  Dim myAns As Integer ' 答え
  Dim objWshShell ' WSHオブジェクト
  Dim db1 As DAO.Database
  Dim rs1 As DAO.Recordset
  Dim strSQL As String ' SQL文字列
  '【実行コード】
  Set objWshShell = CreateObject("WScript.Shell")
  ' IDを退避
  myPWMngID = [PW_Mng_ID]
  MyStr1 = "PW_Mng_ID = " & myPWMngID
  ' フォームを閉じる
  DoCmd.Close acForm, "パスワード入力", acSavePrompt
  ' 検索回数を全レコード0にする。
  Set db1 = CurrentDb
  strSQL = "SELECT * FROM T_パスワード管理"
  Set rs1 = CurrentDb.OpenRecordset(strSQL)
  If rs1.RecordCount >= 1 Then
    rs1.MoveFirst
    Do Until rs1.EOF
      rs1.Edit
      rs1![検索回数] = 0
      rs1.Update
      rs1.MoveNext
    Loop
  End If
  rs1.Close
  Set rs1 = Nothing ' 解放
  db1.Close
  Set db1 = Nothing ' 解放
  ' フォームを再度開く
  myAns = objWshShell.PopUp("フォームを再度開きますか?" & vbCrLf _
  & "(5秒待ちます)", 5, "確認", vbOKCancel + vbDefaultButton2 + vbQuestion)
  Select Case myAns
  Case -1
    myAns = objWshShell.PopUp("応答がありませんでした" _
    & vbCrLf & "(2秒で消えます)", 2, "応答なし", vbExclamation)
  Case vbOK
    DoCmd.OpenForm "パスワード入力", acNormal, , , acFormPropertySettings, acWindowNormal ' フォームを開く
    With Forms![パスワード入力].Recordset
      .FindFirst MyStr1
    End With
  End Select
  Set objWshShell = Nothing
  'If SysCmd(acSysCmdGetObjectState, acQuery, "全件の経過日数") _
  '= acObjStateOpen Then
    'myAns = MsgBox("クエリ「全件の経過日数」を一旦、閉じます。", vbExclamation, "注目!")
    'DoCmd.Close acQuery, "全件の経過日数"
  'End If
  'DoCmd.OpenQuery "全件の経過日数"
  Exit Sub
ERR1:
  MsgBox ("エラー(検索回数リセット_Click)" & vbCrLf & Err.Description)
  Set objWshShell = Nothing
End Sub
タグ:SQL VBA アクセス
ヤバイぜ!(19)  コメント(1) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 19

コメント 1

cheese999

ヤバイぜ! ありがとうございます(^_0)ノ
by cheese999 (2020-03-28 06:37) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。