我在做设计的时候试着用vb写com组件,调用的是ado2.1。功能是写数据库,代码如下:
Private mCnnDB As New adodb.Connection
Private msUserName As String
Public Property Let UserName(sUserName As String)
msUserName = sUserName
End Property
Public Property Get UserName() As String
UserName = msUserName
End Property
Public Sub ConnOdbc(msUserName As String)
Dim rs As New adodb.Recordset
Dim sql As String
mCnnDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\mywork\dbase\mydb.mdb"
mCnnDB.Open
sql = "select * from student"
With rs
 .Open sql, mCnnDB, 1, 3
 .AddNew
 .Fields("UserName") = UserName
 .Close
End With
Set rs = Nothing
mCnnDB.Close
Set mCnnDB = Nothing
End Sub
调用代码如下:
dll为prjadd.dll,类名为DataAccess
Private Sub Command1_Click()
Dim a As prjadd.DataAccess
a.UserName = Text1.Text
Call a.ConnOdbc(a.UserName)
End Sub
调试结果报错,望大虾们指点小弟~~~!

解决方案 »

  1.   

    Dim a As prjadd.DataAccess->Dim a As New prjadd.DataAccess
      

  2.   

    Dim a As New prjadd.DataAccess
      

  3.   

    Private Sub Command1_Click()
    Dim a As new prjadd.DataAccess
    a.UserName = Text1.Text
      a.ConnOdbc a.UserName 
    End Sub
      

  4.   

    with 语句中好象还得加上更新语句,如下
    With rs
     .Open sql, mCnnDB, 1, 3
     .AddNew
     .Fields("UserName") = UserName
     .update
     .Close
    End With