susu12345 发表于 2008-4-20 20:41

如何判别在text框中所输入数据的类型?

各位高手:我做了一个查询表单,计划先从text框中输入查询值,判别在text框中所输入数据的类型是字符型还是数值型后,再决定下一步计算.
    请问如何用VARTYPE()判别在text框中所输入数据的类型?怎样编写代码?
                          多劳指教!

hu9jj 发表于 2008-4-20 20:42

用TYPE()函数。

susu12345 发表于 2008-4-20 20:53

回复 2# 的帖子

謝謝指點!我是一位初學者,請問能否再詳細指教一下:判别在text框中所输入数据的类型是字符型还是数值型怎樣編寫代码? 谢谢!

Tiger5392 发表于 2008-4-22 17:39

在某命令按钮的Click事件中写代码:
Do Case
  Case Vartype(ThisForm.Text1.Value)='C' &&字符型
    *做字符型数据处理
  Case Vartype(ThisForm.Text1.Value)='N' &&数值型
    *做数值型数据处理
*......
EndCase

susu12345 发表于 2008-4-22 22:07

回复 4# 的帖子

多谢高手指教!
   我在程序中试了一下,很有用,让我少走了许多弯路,再次谢谢了!

susu12345 发表于 2008-4-22 22:57

回复 4# 的帖子

再次请教版主:我在如下调试程序中(程序如下)
  x=vartype(thisform.text1.value)
          IF coperate!='like'and x="C"&&coperate中为combo中的选择项
               MESSAGEBOX('您输入的查询值类型不对,请重新输入!',48,'操作失败')
               return
          ENDIF
          IF coperate='like'and x!="C"
               MESSAGEBOX('您输入的查询值类型不对,请重新输入!',48,'操作失败')
               return
           ENDIF
发现在text 中输入字符后,返回值是字符"C",但输入数字后,返回值仍是"C",致使无法判别字符和数字了,不知问题出在何处,敬请指教,谢谢!

Tiger5392 发表于 2008-4-23 07:41

.Text1.Value的数据类型,与你输入的时候无关而你赋值的时候有关,若从没有赋值,则是字符型。如'asd','123'都是字符型。

susu12345 发表于 2008-4-23 11:04

回复 7# 的帖子

请问版主,我若要判别在text中输入的是数字还是字符,应如何做呢?用什么方法?请赐教

Tiger5392 发表于 2008-4-23 11:23

参阅Isdigit(),Isalpha()这样的函数

susu12345 发表于 2008-4-23 21:27

回复 9# 的帖子

多谢版主,我再试试看!

susu12345 发表于 2008-5-6 14:14

回复 9# 的帖子

班主:你好!
   我采用了您所给的两个函数Isdigit(),Isalpha(),经过测试,性能很好,达到了预期的效果,谢谢版主!

页: [1]

编程论坛