设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1283|回复: 7
打印 上一主题 下一主题

[Access本身] 如何使打开的日历窗体在按钮旁边

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-23 19:27:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因为之前的日期输入文本框都没有做成可用日历的,现在只好在旁边加了个按钮,用Calendar控件,但这个控件建立的日历窗体当你打开时,却远离按钮,如何解决这个问题?请高手不吝赐教?
注意:不要说用日历窗体movesize,因为面对各个需要输入的窗体的日期文本框都不可能在同一个地方。
---万谢了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-11-23 19:46:37 | 只看该作者
本帖最后由 todaynew 于 2009-11-23 19:49 编辑

好像还是需要用move,只要双击文本框,让控件移动过来就行了。
sub 移动日历(ctl as control)
    Calendar0.move ctl.left,ctl.top+ctl.height
end sub

调用时:
call 移动日历(me.contrlos("text0"))
3#
 楼主| 发表于 2009-11-23 20:31:47 | 只看该作者
请问todaynew 老师,你的代码中Calendar0是日历控件的名称吧,我试了一下,Calendar0.move ctl.left,ctl.top+ctl.height这句代码好像行不通,是不是有其他没完善的?可否写个完整代码?或上传个成功的例子?
4#
发表于 2009-11-23 21:26:25 | 只看该作者
用DTPicker吧,不用移动的
5#
 楼主| 发表于 2009-11-23 21:28:11 | 只看该作者
用了一种很愚笨的方法可以做到,但比较麻烦,说来与大家共享,
在全局变量里定义right和down的变量,在日历窗体的加载事件中写入这两个变量,在各个应用窗口打开日历控件窗体前写代码,把变量赋值,这个值需要编写者给具体多少数据前试着移动窗体的最佳位置得出的数值。
比如:(1)全局变量声明:public rightnum,downnum
       (2)在日历的form_load窗体中写入代码:docmd.movesize ""& rightnum &"",""& downnum &""
         (3)在各个应用窗体的打开日历事件中写入: rightnum=9900
                                                                   downnum=3200
                                                                   docmd.openform "日历窗体名"
这样可以达到效果,只是增加编写者的工作量,不同窗体需要用到日历的位置各个相同,需要编写者给变量赋不同的值。
6#
 楼主| 发表于 2009-11-23 21:31:53 | 只看该作者
只是我之前要用到日历的控件都是文本框,用DTPicker则还需要到各处换控件,所以新做的要用到日历的就尽量用DTPicker了。
7#
发表于 2009-11-24 11:14:53 | 只看该作者
access2007直接支持,不用写代码
8#
发表于 2010-1-12 19:24:34 | 只看该作者
正要学
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-18 16:26 , Processed in 0.090863 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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