设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] Access编程,离我还好远!各位走过路过,请支招!

[复制链接]
跳转到指定楼层
1#
发表于 2011-11-18 11:11:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 licho 于 2013-12-11 10:42 编辑

这前在这论坛上学习了很多,也得到许多板主的帮助,现将完整的数据库放上来给大家交流,多多指教{:soso_e100:}





***************************************************


在编一个数据库,却遇到好多问题,最大的还是编程!(有点笑死人,代码也不会写,也学人建数据库{:soso_e120:} )

下面是我工作时用到的一个图纸号申请表,现在想把它"数据库"化.请有热心的朋友指点一下如何编以下代码:
为能说明容易,本人把窗体截图贴上来:




它的运行机制是:窗体上面要指定的数据会与一个数据表关联,查询表对这数据表进行选择查询操作,窗体下面的表数据是由查询表提供!

设置变量a来获取[部位代号]的值,其值为a1,a2,a3,a4,a5,a的值为大写;
设置变量b来获取[用途代号]的值;
设置变量c来获取[流水号]的值;
[流水号]是一个5位数的数字,c要判断a是哪一个值,再提取(a1/a2/a3/a4/a5)时之前c的值,然后在原c值加1(即c=c+1){换句话说流水号有5种,共用一个变量c}

[图纸名称,图纸编号]是标签,其caption=[名称].text&"的图纸编号是""a"&"b"&" - ""c"
{如出来的效果:1C 放电加工用夹具 的图纸编号是:Y02-00001}

当完成输入后,按下[生成图号]按钮,可将图纸编号等数据传到下面的查询表中.
告诉我面向哪个对象在哪个事件下编代码!

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-11-18 15:23:21 | 只看该作者
本帖最后由 todaynew 于 2011-11-18 15:42 编辑

不必什么代码,在默认值中应该就能处理。

在流水号的默认值属性中写:

"'" &  format(Right(nz(Dmax("图纸编号","图纸申请记录表","图纸编号 Like '" & [部位代号] & [用途代号] & "*'"),[部位代号] & [用途代号] & "00000"),5)+1,"00000") & "'"

如果不设默认值值,也可在按钮事件中写:

dim str as string
str=Dmax("图纸编号","图纸申请记录表","图纸编号 Like '" & [部位代号] & [用途代号] & "*'")  '取当前编号最大值
str=nz(str,[部位代号] & [用途代号] & "00000")    '如果为空值,取流水号为00000
str=Right(str,5)+1          '最大流水号递增1
str=format(str,"00000")     '格式化流水号
me.流水号.value=str
3#
发表于 2011-11-18 23:37:29 | 只看该作者
其实,编程可以慢慢学的。主要还是查询和表,部分功能可以通过宏来处理。
4#
 楼主| 发表于 2011-11-21 09:20:53 | 只看该作者
{:soso__5926881316972547436_4:}渐渐发觉版主们都好热心
5#
 楼主| 发表于 2011-11-21 10:25:13 | 只看该作者
todaynew 发表于 2011-11-18 15:23
不必什么代码,在默认值中应该就能处理。

在流水号的默认值属性中写:

引用 "str=Right(str,5)+1          '最大流水号递增1"

当Right(str,5)为9时,str 能自动进位吗?????
其它的函数我不是好熟悉,要看帮助才知有无问题!
6#
 楼主| 发表于 2011-11-29 11:58:57 | 只看该作者
前些天在忙,无时间去研究,到现在我的问题还没有解决!
二楼的todaynew 代码我仔细研究了一翻({:soso_e181:}),如果在流水号的默认值属性中写表达式,我个人认为可能无法实现------不能及时对窗体上的数据进行更新,而后面还要将这些数据保存到表中,所以不好;另外的那段代码是用不了的,可以还没有理解我的意图:
[生成图号]这一按钮只会在窗体上的数据选好并输入好后将数据保存到表中.
在窗体上的数据变更时相关数据如[流水号]都会即时更新显示.
所以我认为在[部位代号]的afterupdate事件中写代码会实现这功能({:soso_e109:}我不会写...).
7#
 楼主| 发表于 2011-11-29 12:12:19 | 只看该作者
有人能告诉我在Access中能不能实现窗体上的数据与数据表中的数据可实时关联?
我想实现:窗体输入的数据经代码运算(如字条串合并)后,在通过命令按钮触发事件来保存数据?
              窗体数据变更时可以访问数据表中的数据来生成一数据(这时指流水号),这样我就不用午间特意建一个查询表来作数据中转!
8#
 楼主| 发表于 2012-2-17 22:42:05 | 只看该作者
本帖最后由 licho 于 2012-2-17 22:43 编辑

todaynew 的代码格式有点不对{:soso_e183:}
str=Dmax("图纸编号","图纸申请记录表","图纸编号 Like '" & [部位代号] & [用途代号] & "*'")  '取当前编号最大值

正确的是
DMax("[图纸编号]", "图号申请记录", "[图纸编号] Like ..........'取当前编号最大值
但也不能用,因为
图纸编号 Like '" & [部位代号] & [用途代号] & "*'")  
为空值时,Dmax会出问题!
另上面代码单双引号混乱了.
9#
发表于 2012-2-18 10:34:30 | 只看该作者
licho 发表于 2012-2-17 22:42
todaynew 的代码格式有点不对

正确的是

建议传个实例上来大家好理解你的意图,那样要比你说10句话还明确,也好大家帮你解决问题
10#
发表于 2012-2-18 15:54:33 | 只看该作者
licho 发表于 2011-11-29 15:12
有人能告诉我在Access中能不能实现窗体上的数据与数据表中的数据可实时关联?
我想实现:窗体输入的数据经代 ...

可以啊比如说我的数据库里面当我点击一个组合框的时候,就可以通过一个模块从数据库里面取出最新的一条记录,然后通过计算后产生一个流水的条形码然后再把这个条码加入到新记录里。这个模块当时也是todaynew老头帮我弄的。你找他帮你也弄一个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 11:56 , Processed in 0.103752 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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