# Re: 有关"Type mismatch"的问题!!!烦请各位解答一下!!!

Posted by 纪文和 on May 25, 1999 at 00:38:15:

In Reply to: 有关"Type mismatch"的问题!!!烦请各位解答一下!!! posted by Allen on May 25, 1999 at 00:05:09:

这种问题, 没看到程式码是很难回答的,(有时看着程式码都不好找), 因为可能情形太多了, 必须在 design Environment run, 再来 debug, 比较好找. 以下是 Msdn 的一些说明, 希望对您有一点点帮助.
型态不符合 (错误 13)
==================================
目前 Visual Basic 能够强迫转换值以完成资料型态的指定动作，对于较早的版本是无法做到的。然而，此错误仍可能发生并且有 下列几种情况和解决方法：

变数或属性型态不正确。例如，一个需要整数值的变数并不接受字串值，除非可以辨识整个字串成为整数。
尽量在相容的资料型态间作指定的动作。例如，Integer 可以指定给 Long，Single 可以指定给 Double，而任何型态 ( 除了使用者自订型态 ) 可以指定给 Variant。

将物件传给需要单一属性或值的程序。
传递适当的单一属性或呼叫适当的物件方法。

使用了运算式所要的模组或专案名称，例如：
Debug.Print MyModule

指定可以显示的运算式。

将传统 Basic 错误处理常式与拥有 Error 子型态 (10, vbError) 的 Variant 值混合，例如：
Error CVErr(n)

欲辨识错误，您必须将其对应到 Visual Basic 或使用者自订错误，然后产生错误。

CVErr 值无法转成 Date。例如：
MyVar = CDate(CVErr(9))

使用 Select Case 陈述式或一些类似的结构来对应传回的 CVErr。

在执行阶段，此错误通常指示在不正确子型态的运算式中使用的 Variant，或 Variant 含有出现在 Print # 陈述式的阵列。
欲印出阵列，可用回圈来显示每个元件。

详细资讯，可选取有疑问的项目并按下 F1。
==================================
God bless you!

Follow Ups:

- Re: 有关 Allen 00:15:35 5/26/99 (0)