VBA:今天早上写的一个简单窗体,删除关系表中的旧数据

本文介绍了一个简单的窗体应用程序,用于删除关系表中的旧数据。该应用能够根据指定年份或空值条件查询并删除主表及关联表中的对应记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天早上写的一个简单窗体,删除关系表中的旧数据。没有对非法数据的处理。界面如下:

删除旧数据

下面是代码:呵呵。

Option Compare Database

Private Sub CmdDelete_Click()
    
Call DeleteOldData(Me.Text0)
End Sub

Function DeleteOldData(YearStr)
Dim Sql, Sqlo, Sqlm
Dim Rst As DAO.Recordset
Dim i
If IsNull(YearStr) Then
    Sql 
= "Select ItemNo From ProdutsInfo Where YearS Is Null"
Else
    Sql 
= "Select ItemNo From ProdutsInfo Where YearS='" & YearStr & "相片'"
End If
Me.Text4 
= 0
Set Rst = CurrentDb.OpenRecordset(Sql)
If Not (Rst.EOF And Rst.BOF) Then
    Rst.MoveLast
    Rst.MoveFirst
    Me.Text4 
= Rst.RecordCount
    
For i = 1 To Me.Text4
        Me.LB.Caption 
= i & " 删除记录:" & Rst("ItemNo").Value
        Me.Repaint
        Sqlo 
= "Delete * From Others Where ItemNo='" & Rst("ItemNo").Value & "'"
        CurrentDb.Execute Sqlo
        Sqlm 
= "Delete * From Materials Where ItemNo='" & Rst("ItemNo").Value & "'"
        CurrentDb.Execute Sqlm
        Rst.MoveNext
    
Next
    Me.LB.Caption 
= "删除明细记录完毕."
End If
If IsNull(YearStr) Then
    Sql 
= "Delete ItemNo From ProdutsInfo Where YearS Is Null"
Else
    Sql 
= "Delete ItemNo From ProdutsInfo Where YearS='" & YearStr & "相片'"
End If
CurrentDb.Execute (Sql)
Me.LB.Caption 
= "删除货号记录完毕."
End Function

Private Sub CmdDeletMx_Click()
Dim Sql
Dim Rst As DAO.Recordset
Me.LBOther.Caption 
= "删除明细内容操作:"
If Not IsNull(Me.TBoxOther) Then
    Sql 
= "Delete * From Others Where ItemNo='" & Me.TBoxOther & "'"
    CurrentDb.Execute Sql
    Sql 
= "Delete * From Materials Where ItemNo='" & Me.TBoxOther & "'"
    CurrentDb.Execute Sql
    Me.LBOther.Caption 
= "删除成功."
Else
    Me.LBOther.Caption 
= "删除失败...."
End If
End Sub

Private Sub CmdQry_Click()
  
Call Qry(Me.Text0)
End Sub

Function Qry(YearStr)
Dim Sql
Dim Rst As DAO.Recordset
Dim i
If IsNull(YearStr) Then
    Sql 
= "Select ItemNo From ProdutsInfo Where YearS Is Null"
Else
    Sql 
= "Select ItemNo From ProdutsInfo Where YearS='" & YearStr & "相片'"
End If
Me.Text4 
= 0
Set Rst = CurrentDb.OpenRecordset(Sql)
If Not (Rst.EOF And Rst.BOF) Then
    Rst.MoveLast
    Rst.MoveFirst
    Me.Text4 
= Rst.RecordCount
End If
End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值