我把adodc控件和一个datagrid绑定,想实现的是:(1)在不同情况下,显示access数据库不同的表,
(2)显示同一张表的一部分内容,也就是在不同情况下可以显示一张表不同部分的内容
请问怎么编程,如何在程序执行过程中改变adodc的datasource和recordset属性?datagrid相应属性如何改变?还有就是:
我在一个窗体上显示2张表,想实现选中其中一张表的记录就把它添加到第二张里。我用2个adodc分别和这2张表绑定,怎么实现呢?我是新手,可能方法很笨,因为对于ado编程我不熟,所以才用控件,如果用ado的话,该怎么实现呢?
谢谢!

解决方案 »

  1.   

    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = "select * from 你的表(在不同情况下,显示access数据库不同的表,
    (2)显示同一张表的一部分内容,也就是在不同) where 你的条件(显示同一张表的一部分内容)"
      

  2.   

    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Data\数据库.mdb;Persist Security Info=False"
    Adodc1.RecordSource = "Select * from 表1"''表1改为其他的表名,就可以显示access数据库不同的表,
    '把*改为列名可以设置想要显示的列!或者用Select …… from …… Where 语句
    '绑定Datagrid
        Set VSFlexGrid1.DataSource = Adodc1
        Adodc1.Refresh
      

  3.   

    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Data\数据库.mdb;Persist Security Info=False"
    Adodc1.RecordSource = "Select * from 表1"''表1改为其他的表名,就可以显示access数据库不同的表,
    '把*改为列名可以设置想要显示的列!或者用Select …… from …… Where 语句
    '绑定Datagrid
        Set VSFlexGrid1.DataSource = Adodc1
        Adodc1.Refresh
      

  4.   

    谢谢,我试了上面的方法,程序可以运行
    AdoNormList.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database.mdb;Persist Security Info=False;Jet  OLEDB"
            AdoNormList.CommandType = adCmdText
            AdoNormList.RecordSource = "SELECT ID,Name,Unit,BasePrice,LaborCost FROM Norm WHERE NormSort=1 AND Chapter=1"
            Set NormList.DataSource = AdoNormList
            AdoNormList.Refresh
    AdoNormList是Adodc名称,NormList是datagrid名称
    但是每次运行的时候都告诉我:ODBC驱动程序管理器未发现数据源名称并且未指定默认驱动程序
    怎么回事呢?
      

  5.   

    如果一开始就在Adodc控件的属性上设置了--使用连接字符串(此处相当于AdoNormList.ConnectionString)  而且开始就绑定了datagrid
    而没有设置记录源的话(一般选1-adCmdText,然后在(SQL)框输入 SELECT ID,Name,Unit,BasePrice,LaborCost FROM Norm WHERE NormSort=1 AND Chapter=1)
    就会有这个提示可以在属性栏把Adodc的ConnectionString为空  
    开始不要绑定=把datagrid的 DataSource 为空