'引用 Microsoft OLE DB Service Component 1.0 Type Libary
Private Sub Command1_Click()
Dim x As New MSDASC.DataLinks
Dim c As New ADODB.Connection
x.PromptEdit c
Debug.Print c.ConnectionString
c.Open
End Sub

解决方案 »

  1.   

    '引用 Microsoft OLE DB Service Component 1.0 Type Libary
    Private Sub Command1_Click()
    Dim x As New MSDASC.DataLinks
    Dim c As New ADODB.Connection
    x.PromptEdit c
    Debug.Print c.ConnectionString
    c.Open
    End Sub
      

  2.   

    dbcontrols(泰山__抛砖引玉) :我没看明白给个注释吧!
      

  3.   

    用script control
    http://www.csdn.net/expert/topic/545/545492.xml
      

  4.   

    可以使用Microsoft Scripting Hosthttp://www.microsoft.com/CHINA/TechNet/windows2000/whitebook/scrphost.asp
      

  5.   

    你可以把你的要执行的脚本就像传递参数一样执行
    dim cn as adodb.connection
    set cn = new connection
    cn.open "dsn=test"
    cn.excute text1
    text1为你要输入的SQL脚本
      

  6.   

    简单处理的话用microsoft script control
    复杂的用vba sdk吧
    推荐用vba sdk,绝佳
      

  7.   

    我是要执行通用的VB代码,而不是什么SQL脚本,请看清楚,我不过是想把它们放在数据库中而已
      

  8.   

    可能我的问题提的有些不清楚,我是要动态执行一段VB代码,不是SQL脚本,应该是需要一种类似VB代码解释器的东西
      

  9.   

    microsoft  script  control 
    eval方法是可以执行几乎所有的vbscript代码
    只是在对象的使用上,要先调用addobject方法
      

  10.   

    使用 Microsoft Script Control  
      

  11.   

    请给个例子吧,你说的addobject我不太明白
      

  12.   

    为了说明在  Script  控件中添加部件对象模型,可以使用下列步骤创建一个简单的名为  SimpleScript  的  Visual  Basic  工程。
      
      创建  SimpleScript  工程  
      
      在“File”菜单上,单击“New  Project”。
      
      
      在“New  Project”对话框中,双击“Standard  Exe”图标。
      
      
      按下  F4  键打开“Properties”窗口。双击  Name  属性,将窗体名改为  frmSimpleScript。
      
      
      双击  Caption  属性,将其设为  Simple  Script  Demo。
      
      
      在“Project”菜单上,单击“Add  Class  Module”。
      
      
      在“Add  Class  Module”对话框中,双击“Class  Module”图标。
      这时会将对象模型加入到  Script  控件中。
      
      在“Properties”窗口中,双击“Name”,将名称改为  MyClass。
      
      
      将下列代码添加到类模块中:
      Option  Explicit
      Private  ObjRate  As  Double
      
      Public  Property  Get  Rate()  As  Double
              Rate  =  ObjRate
      End  Property
      
      Public  Property  Let  Rate(newRate  As  Double)
              ObjRate  =  newRate
      End  Property
      
      Public  Function  TaxIt(price)  As  Double
              TaxIt  =  price  +  (price  *  ObjRate)
      End  Function
      
      将  CommandButton1、TextBox1  和  ListBox1  控件添加到窗体中,并将它们的属性设为下表所示的值。  
      控件属性值
      
      CommandButton1NamecmdAddCode
      
      CaptionAddCode
      
      Height255
      
      Left0
      
      Top240
      
      Width1215
      
      
      TextBox1NametxtScript
      
      MultiLineTrue
      
      ScrollBars2  –  Vertical
      
      Height1575
      
      Left1320
      
      Top240
      
      Width4335
      
      
      ListBox1NamelstProcedures
      
      Height645
      
      Left1320
      
      Top2150
      
      Width4335
      
      在工具箱上单击右键并单击“Components”,显示“Components”对话框。双击“Microsoft  Script  Control  5.0”,然后单击“OK”。
      
      
      在工具箱上双击  ScriptControl  图标将其添加到窗体中。
      
      
      将Script  控件重新命名为  scDemo。
      
      
      将下列代码粘贴到窗体的Declaration部分。
      Option  Explicit
      Private  MyObject  As  New  MyClass
      
      Private  Sub  Form_Load()
      '  将  MyObject  添加到  Script  控件中。
      '  这会将对象模型添加到
      '  控件中。
      scDemo.AddObject  "objScript",  MyObject
      '  向  TextBox  控件中添加脚本。
      txtScript.Text  =  _
      "Sub  SetRate()"  &    vbCrLf  &    _
      "    Dim  Rate"  &    vbCrLf  &    _
      "    Rate  =  InputBox(""TaxRate:"",,.086)"  &    _
      vbCrLf  &    _
      "    objScript.Rate  =  Rate"  &    vbCrLf  &    _
      "End  Sub"  &    vbCrLf  &    vbCrLf  &    _
      "Sub  TotalPrice()"  &    vbCrLf  &    _
      "    Dim  price,  ttl"  &    vbCrLf  &    _
      "    price  =  InputBox(""Price:"",,100)"  &    _
      vbCrLf  &    _
      "    ttl  =objScript.TaxIt(price)"  &    vbCrLf  &    _
      "    MsgBox  ttl"  &    vbCrLf  &    _
      "End  Sub"
      End  Sub
      
      Private  Sub  cmdAddCode_Click()
      '  将  TextBox  中的代码添加到控件中。
      scDemo.AddCode  txtScript.Text
      
      '  清除  ListBox,将Procedures集合中各个过程的
      '  名称加入其中。
      lstProcedures.Clear
      Dim  p  As  Procedure
      For  Each  p  In  scDemo.Procedures
      lstProcedures.AddItem  p.Name
      Next
      
      End  Sub
      
      Private  Sub  lstProcedures_Click()
      '  运行列表框中的过程。
      scDemo.Run  lstProcedures.Text
      End  Sub
      
      运行  SimpleScript  工程  
      
      按下  F5  键运行工程。
      
      
      单击“AddCode”向控件中添加代码。ListBox  控件会显示刚刚加入的过程名称。
      
      
      在  ListBox  控件中单击“SetRate”。对话框显示缺省值  8.6,改变比率或者只单击“OK”。
      
      
      在  ListBox  控件中,单击“TotalPrice”。对话框显示缺省值  100。改变值并单击“OK”。将会显示总值加上税率。  
      在  TextBox  控件中编辑代码
      
      在将代码加入控件之前也可以对其进行修改。  
      
      在  TextBox  控件中,将  MsgBox  的  SetRate  缺省值改为  4.2。
      
      
      单击“AddCode”。
      
      
      在  ListBox  控件中,单击“SetRate”。缺省值已经改变。  
      在  TextBox  控件中添加过程
      
      试着在  Textbox  控件中插入自己的代码。  
      
      在  Textbox  控件中,粘贴如下代码:
      Sub  VariableTax()
            Dim  Years,  results,  ttlInterest
            Dim  i,  principal,  payment,  interest,  mortgage
            principal  =  InputBox("Borrow:",,100000)
            Years  =  InputBox("How  long:",,15)
            results  =  "Payment"  &    vbtab  &    "Interest"  &    vbcrlf
            For  i  =  1  to  Years  *  12
              interest  =    (principal  *  objScript.Rate)  /  12
              principal  =  principal  -  interest
              ttlInterest  =  ttlInterest  +  interest
              results  =  results  &    i  &    vbtab  &    formatNumber(interest,2)  &    vbcrlf
              Next  
              MsgBox  results
              MsgBox  "Total  Interest  Paid:"  &    "$"  &    formatNumber(ttlInterest,2)
          End  Sub
      
      单击“AddCode”。
      
      
      单击“SetRate”,改变比率,然后单击“OK”。
      
      
      单击“VariableTax”运行新过程。
      

  13.   

    十分感谢wjying(葡萄),我一定会给你加分的,但我只是想找一个COM对象处理的方法,你的Class和Component我都不想用,请您再支持一下吧!
      

  14.   

    再来些高手吧,acptvb(微软全球技术中心 VB技术支持)去哪儿了?
      

  15.   

    看一看MSDN的Partial Books中的《Expert Guide to Visual Basic 6
    》中的第十三章(本来我是想专门写一篇文章谈这个问题的,不过看来你等
    不及)在这一章里,详细的介绍了Scripting Control,并最终实现了一个象
    EXCEL里那样的可输入公式的表格,加点改进应该能符全你的要求。
        虽然VBS和VBA是不一样的(可见我的第一篇文章),但大多数时候只用
    VBS就能完成工作,用Scripting Control是不用钱的。
    我的文章《VB到底为我们做了什么》:
        http://www.csdn.net/develop/list_article.asp?author=AdamBear
      

  16.   

    Scripting  Control支持动态运行代码:
    ScriptControl1.ExecuteStatement Text1.Text
    也支持插入模块,插入对象,就是AddObject和AddCode。
    这些功能已经和VBA里的CodeModule.AddFromString相当了,我曾经用Excel的
    VBA功能写过一个宏病毒,病毒代码就放在一个隐藏工作表的一个单元格里,
    我想你要实现的功能和这差不多吧!所以用Scripting  Control也能行。
      

  17.   

    我太笨了,请给个有对象访问的例子吧(如ADO、FSO)
      

  18.   

    我给你的例子里把
    Private    MyObject    As    New    MyClass 
    scDemo.AddObject    "objScript",    MyObject 改称
    Private    MyObject    As    New    adodb.connection
    scDemo.AddObject    "objScript",    MyObject 
      

  19.   

    我给你一个将VBE加入Script的例子代码吧!可以在VB里用脚本控制IDE
    了,程序有500k,不好贴,本来是留着写文章用的,你要是急,留下地址,
    我给你。
      

  20.   

    to wjying(葡萄):
        上次,好象那个贴子上你问过我Scripting Control支不支持事件,当然
    支持,它有个State属性,连接后就能在脚本里处理事件了,对不起,我实现
    找不到上次那个贴子了。
        如下:
    ScriptControl1.State = Connected
        然后,就可以在Object_event里处理事件了。