设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1836|回复: 18
打印 上一主题 下一主题

[窗体] 欢迎讨论程序代码优化的问题——请教版主和各位朋友

[复制链接]
跳转到指定楼层
1#
发表于 2008-4-24 20:36:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
为了更好的学到东西,也为了便于理解,我以我这个数据库为例子,请大家相互交流~~~


密码:
Admin:111
用户:222

窗体:
装配表frm102ZP
模架frm102ZPmojia
支承机构frm102ZPzhichen
紧固件frm102ZPjingujian

装配表:
功能是显示模架与支承机构,紧固件之间的关系。
双击模架,或支承机构,或紧固件,可以查看该模架,支承机构,紧固件的具体信息。
在添加新关系时,如果输入的模架,支承机构,或紧固件不存在,则打开相对应的窗体进行添加。

模架/支承机构/紧固件:
功能是对模架/支承机构/紧固件进行添加,编辑,删除和查看。

如果进行优化,应该优化哪些部分哪些内容呢?该如何优化呢?如果做成公用函数,模块之类的,又应该如何做呢?

我个人认为可以优化的部分:
1)模架/支承机构/紧固件的添加按钮,编辑按钮,删除按钮,以及备注查看和备注更新按钮
2)装配表/模架/支承机构/紧固件的当前登陆部分的代码,能否做成过程或函数
3)在装配表添加关系时,该模架//支承机构/紧固件是否存在,如果不存在,则打开相应的窗体进行添加
4)模架/支承机构/紧固件在添加编辑时,检查模架/支承机构/紧固件是否重复;
5)模架/支承机构/紧固件的筛选和清空

以上部分是不是可以做成函数或过程之类的模块呢?

另三个问题:
1On Error GoTo errorhandler错误提示主要应该用在哪些地方?像程序中组合框得到焦点就展开,某个控件得到焦点则窗体可编辑,失去焦点则不能修改等,这些是不是没必要用On Error GoTo errorhandler呢?

2.以模架窗体为说明,子窗体这部分模架代号这列的背景想用浅蓝色来表现,如图,虽然在背景我修改了,但实际效果还是没有出来,这是为什么呢?

3.像这种数据库,窗体是多好些,还是少好些,是一个窗体复杂些好(即一个窗体可以表现多个窗体的功能和内容,但代码设计明显要复杂些),还是简单些好呢?

4.像模架窗体中,“Φ”和“×”是我经常要输入的,我如何编程来快捷输入(有快捷键最好),而不必转换输入法里来找这两个符号呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
20#
发表于 2008-5-16 14:23:18 | 只看该作者
学习..........[:50] [:50] [:50]
19#
发表于 2008-5-5 09:21:13 | 只看该作者
原帖由 于 2008-5-1 23:52 发表
谢谢红尘如烟,你的例子基本是我想要的效果,但有一点就是,如果我输错了或者是输漏了,你这个快捷键的内容就总是放在最后,而不能放在光标指定的位置上。比如说,我本来说应该输入“35X34X34”,结果我输成“3534X3 ...


函数如下:
Function CustomerShortcutKey(KeyCode As Integer, Shift As Integer)
On Error Resume Next
    Dim intOldSelStart As Integer
    Dim ctl As Control
    Set ctl = Screen.ActiveControl
   
    If Shift = acAltMask Then
        intOldSelStart = ctl.SelStart
        Select Case KeyCode
            Case vbKeyQ
            ctl.SelText = "Φ"
            Case vbKeyX
            ctl.SelText = "×"
        End Select
        ctl.SelStart = intOldSelStart + 1
    End If
End Function

在窗体的KeyUp事件中调用:
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    CustomerShortcutKey KeyCode, Shift
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
18#
发表于 2008-5-5 08:29:41 | 只看该作者
慢慢苦金钱吧
17#
发表于 2008-5-5 08:29:02 | 只看该作者
我也很想学习;本来还有2个金钱下载7楼的附件只下载了attachment.php文件后金钱为0了

好无奈啊[:27]
16#
发表于 2008-5-3 10:46:19 | 只看该作者
原帖由 于 2008-5-1 23:52 发表
另外我想再问问,这个例子能不能做成函数模块之类的,在各个窗体中多次调用呢?如果可以,又该如何做呢? ...


我也很想知道。。。。
15#
发表于 2008-5-3 10:40:16 | 只看该作者
向红尘如烟学习。。。。
14#
 楼主| 发表于 2008-5-1 23:52:42 | 只看该作者
谢谢红尘如烟,你的例子基本是我想要的效果,但有一点就是,如果我输错了或者是输漏了,你这个快捷键的内容就总是放在最后,而不能放在光标指定的位置上。比如说,我本来说应该输入“35X34X34”,结果我输成“3534X34”,于是我把光标放在5后按下快捷键,结果插入的“X”被放在最后,即“3534X34X”。

另外我想再问问,这个例子能不能做成函数模块之类的,在各个窗体中多次调用呢?如果可以,又该如何做呢?
13#
发表于 2008-4-29 14:41:19 | 只看该作者
自定义快捷键输入的例子


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
12#
 楼主| 发表于 2008-4-28 20:12:31 | 只看该作者
先谢谢chenwm1973和红尘如烟两位朋友。

问题一明白了。
问题二看来我达不到预想的如图的结果了。
问题三明白了。
问题四chenwm1973朋友的例子我也看了,我要输入的位数并不一定是三位,也可能是两位呢。

另外,能否做成函数或过程之类的模块,有没有朋友能帮我以这个数据库做个例子呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 06:07 , Processed in 0.098426 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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