设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 求助,两个表达式大家帮看怎么写

[复制链接]
跳转到指定楼层
1#
发表于 2015-5-12 15:50:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lazybird 于 2015-5-12 17:07 编辑

下面两个表达式,当字段名(控件名)是变量时怎么写?

表达式一:  [Forms]![FormName]![subFormName]![FieldName]    当FieldName是变量,比如:Field1, Field2 ....

表达式二:  DCount("*", "TabelName", "IsNull([FieldName])")      当FieldName是变量,比如:Field1, Field2 ....

试了好多次都报错,大家帮看看,谢谢。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2015-5-12 17:01:52 | 只看该作者
本帖最后由 lshstruc 于 2015-5-12 17:04 编辑

第一个没看明白你要干啥?
第二个dcount("*","表名","字段名='"& forms!frm!child.form!控件名 &"'")
3#
 楼主| 发表于 2015-5-12 17:13:47 | 只看该作者
回楼上的同学,我代码贴上来吧,这样清楚些。两个表达式总是写不对

      Do Until i = 4
      i=1
      If Not IsNull([Forms]![Table1]![subFrm]!['Field'& i]) Then
          If DCount("*", "Table2", "IsNull(['Field'& i])") > 0 Then
              Me.Status = "Pass"
          Else
              Me.Status = "Fail"
          End If
      End If
      i = i + 1
      Loop

点击这里给我发消息

4#
发表于 2015-5-12 17:20:59 | 只看该作者
IsNull([Forms]![Table1]![subFrm]!['Field'& i])
改成  IsNull(forms("Table1").subform.controls("Field" & i))

If DCount("*", "Table2", "IsNull(['Field'& i])") > 0 Then
改成  If DCount("*", "Table2", "IsNull('Field'" & i & ")") > 0 Then

点击这里给我发消息

5#
发表于 2015-5-12 17:21:16 | 只看该作者
没有具体调试,可能会有错误,但大致是这个意思
6#
发表于 2015-5-12 17:22:37 | 只看该作者
如果是对控件进行赋值的话,可以这样写:
  1. Dim rst As New ADODB.Recordset
  2. rst.Open "myTable", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  3. for i=0 to rst.fields.count-1
  4. me.controls(rst(i))=rst(i)
  5. next
  6. rst.close
  7. …………
复制代码

如果用DAO的话,加上书签【bookmark】效果更佳。关于这个问题,论坛上有好几个:
http://www.office-cn.net/thread-119118-1-1.html
http://www.office-cn.net/thread-114057-1-1.html
如果没记错的话,这个应该也是用DAO实现的。
http://www.office-cn.net/thread-106035-1-1.html
………………
输入“绑定”应该是可以找到一些例子的。如果不是楼主没找到的话,只有一个原因:楼主根本没花心思研究过这些实例。
7#
发表于 2015-5-12 17:23:47 | 只看该作者
lshstruc 发表于 2015-5-12 17:01
第一个没看明白你要干啥?
第二个dcount("*","表名","字段名='"& forms!frm!child.form!控件名 &"'")

如果我没猜错的话,第一个问题应该是对窗体控件遍历赋值。
8#
 楼主| 发表于 2015-5-12 18:32:12 | 只看该作者
          If Not IsNull([Forms]![Form1]![subFrm].Controls("Col0" & i )) Then
          If DCount("*", "Table1", "IsNull(Col0" & i & ")") > 0 Then

最后用这两句调试过了。呵呵,版主批评的是。
说几句题外话,楼主在企业上班的,上班没什么时间学习,今年领导让单独负责个小开发项目才有时间学。不知道各位版主都是专职程序员吗,还是只是业余爱好者啊?
感觉不是专职做这行的话不可能有这么高水平,Access 很多小技巧方法虽然不起眼,但是要全面精通当个版主能迅速回答各种问题还真是要长时间的实践积累才行。
9#
发表于 2015-5-13 13:53:30 | 只看该作者
lazybird 发表于 2015-5-12 18:32
If Not IsNull([Forms]![Form1]![subFrm].Controls("Col0" & i )) Then
          If DCount("* ...

我想,我们之中,土生土长的码农应该不算太多的。由于工作需要,然后买本书自学下,发发帖子,最后根据个人的理解能力,逐步成长起来的居多吧。
像VBA里的API我就不怎么熟悉,反而对JQuery、DOM等用得更顺手些。不过后者基本都是处理UI或者网页抓取用的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 14:54 , Processed in 0.091926 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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