同一个控件的两个属性,为什么第一项必须用SET进行设置,而第二项 属性 却不可以用SET设置。具体代码如下:
  
   Set XingMingF.RowSource = Rst
   XingMingF.ListField = "用户姓名"谢谢大家。

解决方案 »

  1.   

    你的Rst应该是某个库资源吧?先连接库中记录,才能设置库中的某列啊
      

  2.   

    Set 是用来设置对象的
    同一个控件的不同属性中有可能是文本 也有可能是对象 还有可能是图片 当然要用不同的方法赋值。
      

  3.   

    vb里分对象和值对象要用set值不用
      

  4.   

    参考
    VB中Set用法的探讨
      

  5.   

    是的,当变量是一个对象(object)类型时必须使用。普通类型的变量直接用=赋值即可。当对象不需要使用了就用set xxx=nothingmsgbox typename(XingMingF.RowSource)
    msgbox typename(XingMingF.ListField)
      

  6.   


    XingMingF 就是一个控件对象呀,为什么XingMingF.RowSource要用SET,而XingMingF.ListField不用SET.
      

  7.   


    但你现在不是看XingMingF 这个层次的
    而是看XingMingF.RowSource和XingMingF.ListField,这是XingMingF所属的属性XingMingF.RowSource是对象XingMingF.ListField是值
      

  8.   

    = 操作符   用于对一个变量或属性赋值Set 语句   将对象引用赋给变量或属性
      

  9.   

    来给大家扫扫盲。微软最早的 QBasic 语法,用 LET 语句进行赋值
    LET A = 10
    不过 Basic 语法中操作符 = 没有二义性(不像 C 为了区分赋值和比较不得不分为 = 和 ==),所以省略 LET 关键字没什么问题。但是微软给 COM 对象定义了一个默认成员,就惹出麻烦来了。
    Text1 = x
    '这个没问题,表示将 x 给 TextBox 的默认成员 Text 赋值,是下面的缩写'
    Text1.Text = x
    '当然前提是符合以下情况之一:'
    '1)x 是显式的字符串'
    '2)x 不是对象,但是可以隐式转化为字符串'
    '3)x 是对象,但是他的默认成员(可递归默认成员的默认成员)是显式/隐式的字符串'
    Dim t As TextBox
    ...
    t = Text1
    '这就有二义性了:'
    '到底是要将对象 Text1 赋值给 t 变量;'
    '还是要进行默认成员的赋值 t.Text = Text1.Text?'所以 VB 规定:
    1)对象赋值用 SET,并且不可省略 SET 关键字。
    2)普通赋值用 LET,并且可以省略 LET 关键字。
      

  10.   


    Set 语句 将对象引用赋给变量或属性   这个说法准吗, 楼上的朋友说  XingMingF.RowSource是对象你们两个到底哪个说法对呢?
      

  11.   

    XingMingF.RowSource是对象没错,就是要"赋"对该对象的引用,不矛盾呀