Office中国论坛/Access中国论坛

标题: [求助]查询的记录数 [打印本页]

作者: 无情    时间: 2006-11-22 18:42
标题: [求助]查询的记录数
我想在VBA里知道一个查询有多少条记录?应该怎么写?我的写法什么地方不对?

xx = "SELECT Count(*) AS 计数 FROM 材料类别 WHERE ((材料类别.钢材代码 Like 'Q235 * ') AND (材料类别.钢材名称 Like ' * 板 * ')) "
作者: tz-chf    时间: 2006-11-22 19:10
写法不对,即使得到也是一个记录集。

用dcount
作者: 无情    时间: 2006-11-22 19:19
那怎么写呢?能再详细指点下吗?

xx = DCount("材料ID", "材料类别", [材料类别].[钢材代码] = "Q235*" And [材料类别].[钢材名称] = "*板*")

上述写法也不对。
作者: sgrshh29    时间: 2006-11-22 19:49
试试这样: xx = DCount("材料ID", "材料类别", "钢材代码= 'Q235*' And 钢材名称= '*板*'")
作者: tz-chf    时间: 2006-11-22 21:09
不要=,用like
作者: 无情    时间: 2006-11-22 22:20
[attach]21670[/attach]

在窗体的查询VBA事件内。

问题有二个:

1.查询时,昨天还好好的,能用模糊查询,今天怎么回事,IF语句失误了,怎么出错了?

If Not IsNull(Me.钢材代码) Then strWhere = strWhere & "([钢材代码] like '*" & Me.钢材代码 & "*') AND "

2. 根据窗体内容,判断有无该条记录,DCount到底怎么写?(在Private Sub cmnewkind_Click()事件中)

我干脆把文件发上来,大家帮我看看,谢谢



作者: hi-wzj    时间: 2006-11-22 23:44
xx = DCount("*", "材料类别",[钢材代码] like "Q235*" And [钢材名称] like "*板*")
作者: hi-wzj    时间: 2006-11-23 00:13
xx = DCount("*", "材料类别", "[钢材代码]= '" & Me.钢材代码 & "' And [钢材名称]= '" & Me.钢材名称 & "' And [规格]='" & Me.规格 & "'")

作者: hi-wzj    时间: 2006-11-23 00:24
未考虑  Me.钢材代码=""  的情况,增加这个判断即可。
作者: 无情    时间: 2006-11-23 00:42
哦,谢谢,我先试试这个问题

还有一个问题,为什么IF语句会失效?昨天可以用,有效,今天没有做任何改动,就出错了?
作者: hi-wzj    时间: 2006-11-23 00:45
以下是引用无情在2006-11-22 16:42:00的发言:


哦,谢谢,我先试试这个问题

还有一个问题,为什么IF语句会失效?昨天可以用,有效,今天没有做任何改动,就出错了?

未考虑  Me.钢材代码=""  的情况,增加这个判断即可。
作者: 无情    时间: 2006-11-23 00:46
7楼和8楼的代码都没有用,我在窗体中输入重复的资料,它一条也找不到
作者: 无情    时间: 2006-11-23 00:47
呵呵,谢谢版主,我才明白过来,理解错了,我以为你这句话是对DCOUNT的补充回答
作者: hi-wzj    时间: 2006-11-23 00:53
If xx > 1 Then   ??

应该是>0 吧?

作者: 无情    时间: 2006-11-23 00:58
不是啊,我用MSGBOX测试,它提示为0啊
作者: 无情    时间: 2006-11-23 01:00
呵呵 ,弄错了,可以了

谢谢版主为我解答了这么久,真的谢谢你,[em23][em23][em23]

[此贴子已经被作者于2006-11-22 17:01:37编辑过]


作者: hi-wzj    时间: 2006-11-23 01:09
另外,为了防止因字段值前后带有空格造成"材料类别"表出现类似重复记录,引起输入混乱,建议您在dcont判断前先将那代码.名称.规格 字段值trim一下。
作者: 无情    时间: 2006-11-23 01:14
嗯,这个我知道,只是在测试时没弄得那么细,[em17]
作者: 无忧    时间: 2006-11-24 21:52
[attach]21721[/attach]

还是这个函数,又碰到新问题了,在查询状态下,单击子窗体任一条记 录,然后点“删除当前记录”按扭,怎么提示“数据类型不匹配呢?”,找来找去找不到问题出在哪里。

所有的记录都是以“材料ID”为标示,且是唯一性的,所以这个文本框将是隐藏的。

作者: 无忧    时间: 2006-11-25 00:27
[attach]21722[/attach]

楼上的问题还没有解决,又有一个新问题了,导出为EXCEL报表时,提示出错,属性不对,why? why? why?[em13]

因为是用宏,如果我想添加“On Error Resume Next”,应该写在哪里?如果不用“On Error Resume Next”语句,应该怎么处理比较完美?

等来等去没有人帮我解答,开新帖提问了。。。。http://www.office-cn.net/forum.php?mod=viewthread&tid=50262

[此贴子已经被作者于2006-11-27 10:34:00编辑过]


作者: 无忧    时间: 2006-11-27 16:06
[em06][em06][em06]
作者: todd    时间: 2006-11-27 19:02
关注




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3