レコードセットを登録/上書き/削除 --
ACCESS VBA --



'-------------------------
'レコードセットを新規
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
rs.Open "テーブル", cn, adOpenKeyset, adLockOptimistic
     rs.AddNew
     rs![顧客名] = Me.顧客名
     rs.Update



'-------------------------
'レコードセットを上書き/追加
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
mySQL = "SELECT * FROM テーブル WHERE コード= '" & Me.コード & "' ;"
rs.Open mySQL, cn, adOpenKeyset, adLockOptimistic
     rs![顧客名] = Me.顧客名
     rs.Update



'-------------------------
'レコードセットを削除
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
Dim mySQL As String
mySQL = "SELECT * FROM テーブル WHERE コード= '" & Me.コード & "' ;"
rs.Open mySQL, cn, adOpenForwardOnly, adLockOptimistic
  If Not rs.EOF Then
  rs.Delete
  MsgBox "削除しました。", 64
  Me.Requery
  Else
  MsgBox "削除できませんでした。", 16
  End If
  rs.Close: Set rs = Nothing
  cn.Close: Set cn = Nothing



'-------------------------
'レコード検索しエラー表示
mySQL = "SELECT * FROM テーブル WHERE " & _
     (((番号)= '" & Me.サブフォーム.Form.番号 & "') AND ((日付) Is Null));"
     rs.Open mySQL, cn, adOpenForwardOnly, adLockOptimistic
'製造番号の一致するレコードを検索する
     strRet = "製造番号='" & Me.サブフォーム.Form.製造番号 & "'"
     rs.Find strRet, 0, adSearchForward

'製造番号の不一致を確認したら、新規レコードを追加
'製造番号の一致を確認したら、エラー表示
If rs.EOF Then
  rs.AddNew
  rs![ID] = Me.ID
  rs.Update
Else
  MsgBox "この製造番号は、登録できません。", 16, "ご確認ください"
End If





トップへ
トップへ
戻る
戻る