ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1636|回复: 7

[求助] 求教一个关于日期的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-3-23 00:57 | 显示全部楼层 |阅读模式
大家好:
    小弟正在设计一个资产管理系统,可是由于Access基础有些薄弱,遇到了一些问题,求助各位高手指点,谢谢。
    附件有一个窗体“采购单”,窗体右边顶上有一个文本框,名为“采购单_采购日期”,如果点击这个文本框,则会弹出一个窗体供选择日期。我的设想是选定日期后,即触发Calendar0_Updated事件后,日期值应写入这个文本框中。我使用了:

Private Sub Calendar0_Updated(Code As Integer)
Forms("采购单").采购单_采购日期 = Calendar0.Value
End Sub
但是似乎并不能直接触发文本框内容的改变,不知道为什么。后来参考了网上其他系统的做法,在文本框触发事件中,写入:

Private Sub 采购单_采购日期_Click()
    Dim stDocName As String
    stDocName = "采购日期窗体"
    'DoCmd.OpenForm stDocName, , , , , , Forms("采购单").采购单_采购日期
    Call DoCmd.OpenForm("采购日期窗体", , , , , , "采购单.采购单_采购日期")
End Sub

但是别人成功了,可是我还是失败,只好求助各位高手了,谢谢。

除此之外,我还发现有一个问题。目前子窗体中显示有4条采购记录,我用鼠标选择任意一条记录,则右边的文本框可以显示当前记录的信息。可是无论我选中哪一条记录。通过Calendar0控件修改的日期却总是修改第一条记录的采购日期,这个问题如何解决啊?谢谢大家。

采购系统(2).rar

52.52 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2012-3-23 08:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 ly 于 2012-3-23 08:24 编辑

在采购日期窗体上增加一个命令按钮,然后:
  1. Private Sub OK_Click()
  2. Forms("采购单")!采购单_采购日期 = Me.Calendar0.Value
  3. DoCmd.Close acForm, "采购日期窗体"
  4. End Sub
复制代码
还有,采购日期窗体上日期控件不要绑定数据来源!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-3-23 10:31 | 显示全部楼层
    哦,谢谢楼上ly大师的方法,问题确实解决了,不过在采购日期窗体上加上按钮,明确指明:
Forms("采购单")!采购单_采购日期 = Me.Calendar0.Value
    这样的话其他地方如果需要选择日期就不能调用这个窗体了。目前很现实的问题,就是窗体“领用单”中还有一个选择日期,方法可以一模一样,但是只能另外再做一个“领用日期窗体”,这样的话总觉得太冗余。
    有没有办法使得多个日期选择都能调用同一个日期选择窗体?就是说单击Text1,跳出这个窗体,选择后日期显示在Text1中,如果单击Text2,则还是跳出这个窗体(而不是一模一样的另一个窗体),但选择的时间显示在Text2中?谢谢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-3-23 12:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-3-23 13:55 | 显示全部楼层
xnc_0014 发表于 2012-3-23 10:31
哦,谢谢楼上ly大师的方法,问题确实解决了,不过在采购日期窗体上加上按钮,明确指明:
Forms("采购单 ...

共用一个窗体,请测试!

采购系统(2).zip (107.07 KB, 下载次数: 6)

TA的精华主题

TA的得分主题

发表于 2012-3-25 01:00 | 显示全部楼层
用DTPicker控件不是很好吗?(不要说不想用activeX控件)
Microsoft date and time Picker controls

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-3-29 14:00 | 显示全部楼层
本帖最后由 xnc_0014 于 2012-3-29 14:26 编辑

多谢ly大侠一次又一次帮助我,感激不尽。虽然由于自身水平薄弱,还是没有读懂OpenArgs:=Nz(varDate)的含义,但是终于能够实现这个功能了,真是十分感谢。
同时也谢谢楼上,我不是不想用ActiveX控件,而是我目前熟悉的控件就是最常用的几种,您提到的控件我以前根本不知道。以后我会努力学习,慢慢熟悉的。

TA的精华主题

TA的得分主题

发表于 2012-3-29 18:27 | 显示全部楼层
Microsoft date and time Picker controls 控件可以直接绑定字段,外观就像组合一样,不用写任何一句代码。点击下拉倒三角形,自己弹出日历。
只是所绑定的字段要设置默认值或DTPicker控件的属性中把复选框勾选即可
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-10 13:20 , Processed in 0.025714 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表