等待回答
Grid1.DataSource = PropBag.ReadProperty("DataSource",null)
--- 此句error
set Grid1.DataSource = PropBag.ReadProperty("DataSource",null)'------------------------ DataSource SET BEGIN -------------------------
'DataSource
Public Property Get DataSource() As Database
'一个限定为数据源的对象索引,
'包括 ADO Recordset 对象,以及类或定义为数据源的用户控件(DataSourceBehavior 属性 = vbDataSource).
'您不能在运行时将另一个控件或对象的 DataSource 属性设置为这两个控件之一。
Set DataSource = Grid1.DataSource
End PropertyPublic Property Let DataSource(ByVal vNewDataSource As Database)
Set Grid1.DataSource() = vNewDataSource
PropertyChanged "DataSource"
End Property'-------------------------DataSource SET END -------------------------
对象变量或with块变量未设置
Grid1.DataSource = PropBag.ReadProperty("DataSource",null)
--- 此句error
set Grid1.DataSource = PropBag.ReadProperty("DataSource",null)'------------------------ DataSource SET BEGIN -------------------------
'DataSource
Public Property Get DataSource() As Database
'一个限定为数据源的对象索引,
'包括 ADO Recordset 对象,以及类或定义为数据源的用户控件(DataSourceBehavior 属性 = vbDataSource).
'您不能在运行时将另一个控件或对象的 DataSource 属性设置为这两个控件之一。
Set DataSource = Grid1.DataSource
End PropertyPublic Property Let DataSource(ByVal vNewDataSource As Database)
Set Grid1.DataSource() = vNewDataSource
PropertyChanged "DataSource"
End Property'-------------------------DataSource SET END -------------------------
对象变量或with块变量未设置
我以前也碰到过这个问题。
http://www.csdn.net/expert/topic/898/898553.xml?temp=3.414333E-03
开了新贴总分达209分
Data 控件和 RemoteData 控件,可以用做数据源,但不能在运行时将另一个控件或对象的 DataSource 属性设置为这两个控件之一。
要将 Data 控件或 RemoteData 控件作为一个数据源使用,只能在设计时设置绑定控件的 DataSource 属性。因此,要完成你的功能就必须使用ADODC控件,与此相关的问题是,msFlexGrid不能绑定到ADODC,这又决定了你的控件中网格无法使用msFlexGrid,可以用MSHFlexGrid来替代。新建一个UserControl,填加一个MSHFlexGrid,并把下列代码拷贝到控件代码窗口中:
Option ExplicitPrivate Sub UserControl_Resize()
grd.Move 0, 0, UserControl.Width, UserControl.Height
End SubPublic Property Get DataSource() As Variant
Set DataSource = grd.DataSource
End PropertyPublic Property Set DataSource(ByVal vNewValue As Variant)
Set grd.DataSource = vNewValue
End Property新建一个窗体,填加前面建立的控件和一个ADODC,以及一个按钮。
在按钮中用Set给DataSource属性赋值。Private Sub Command1_Click()
Set UserControl1.DataSource = Adodc1
End Sub设置好ADODC的各项属性后,运行程序,点击按钮就可以见到控件已通过DataSource属性绑定到了ADODC。