You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中实现修改当前日期选择器时自动同步上年同期日期

VB.NET实现日期选择器同步上年同期日期

需求说明

从Access迁移至VB.NET开发报表,需要实现:修改当前时间段的日期时,历史时间段自动同步为上年同期日期。例如:

  • 默认当前日期为2022年12月1日,历史日期自动设为2021年12月1日
  • 当当前日期改为2022年11月1日时,历史日期自动更新为2021年11月1日

原代码问题分析

你尝试的代码存在两处语法问题:

  1. VB.NET中日期间隔枚举应为DateInterval.Year,而非timeinterval.year
  2. 需要获取DateTimePicker控件的.Value属性值,不能直接传入控件对象

修正后的代码

Private Sub DTPCurrentPeriod_ValueChanged(sender As Object, e As EventArgs) Handles DTPCurrentPeriod.ValueChanged
    ' 同步上年同期日期
    DTPPreviousPeriod.Value = DateAdd(DateInterval.Year, -1, DTPCurrentPeriod.Value)
    chkBetweenDatesFrom.Checked = True
    UpdateTitle()
End Sub

补充说明

  • 代码会在DTPCurrentPeriod的值变更时自动触发,将DTPPreviousPeriod设置为上年同期日期
  • 针对闰年2月29日的特殊情况,DateAdd会自动调整为对应年份的2月最后一天(如2024-02-29会转为2023-02-28)

内容的提问来源于stack exchange,提问作者Kefel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 07:09:39