请问,一个和数据的类型和比较的有关问题

fieldset{padding:10px;}

请教,一个和数据的类型和比较的问题在vba 代码中有如下的内容需要进行一个比较。Dim rs as dao.recordsetset rs = CurrentDB.OpenRecordset("table1", dbopentable, dbinconsistent)rs.movefirstdo until rs.eof if rs.[ID TB1] = Nz(Me.myEditBox1.value) then msgbox "发现一个重复项目" end if rs.movenextloop… … …我希望在myEditBox这个textbox里面输入一个值后,用do until循环到table1之中寻找[ID TB1]项是否有同样的值在重复。(table1中的[ID TB1]字段在table1中是长整数型)可是却发现,这个比较if rs.[ID TB1] = Nz(Me.myEditBox1.value) 在rs.[ID TB1] 和 Nz(Me.myEditBox1.value)的值同为一个整数 (比如591)的时候,无法被视为相等,msgbox 无法被执行到。并且在调试中发现如果把等式 if rs.[ID TB1] = Nz(Me.myEditBox1.value)无论换成: if 591 = Nz(Me.myEditBox1.value) 或者换成: if 591 = rs.[ID TB1]都能够被正确的执行请问这个比较有什么问题?正确的写法应该是怎样?——解决方案——————————————————–使用 Nz 函数可以返回 0,或一个空字符串(" ") ,或者当一个 Variant 为 Null 时,该函数返回其他的指定值。例如,您可以使用该函数将 Null 值转换为其他值并防止它通过表达式扩散。语法Nz(variant[, valueifnull])Nz 函数具有如下参数:参数 说明 variant 各种数据类型的 Variant。 Valueifnull 可选参数(除非在查询中使用)。一个 Variant,提供当 variant 参数为 Null 时的返回值。该参数使您能够返回一个值(除了 0 或空字符串以外的其他值)。注意 如果在查询的表达式中使用了不带 ValueIfNull 参数的 Nz 函数,则对包含 Null 值的字段,其返回结果为空字符串。 ——解决方案——————————————————–

探讨

多谢回复!15楼的这代码即使通过了问题也很大, 效率低, 易崩溃.指的是那一段,具体原因是什么?

始终调整好自己观风景的心态,

请问,一个和数据的类型和比较的有关问题

相关文章:

你感兴趣的文章:

标签云: