程序如下:
在“工程”的“引用”microsoft activex data object2.1 library'在“工程的 ”部件“  microsoft ado data control(6.0)(oledb)
Public cnn As ADODB.Connection   '在模块中
Public myword As ADODB.Recordset
Public zt As String
Sub main()   再模块中     工程属性该为sub main
  Set cnn = New ADODB.Connection   '无密码
    cnn.ConnectionString = "driver={Microsoft Access Driver (*.mdb)};" & _
     "dbq=" & App.Path & "\数据库名.mdb"
       cnn.ConnectionTimeout = 30
    cnn.CursorLocation = adUseClient
    cnn.Open
 
   Form1.Show
end sub       
   public sub text1.change()
    Set myword = New ADODB.Recordset
    myword.Open "select * from 表名 where 用户名='"& text1.text &"'", cnn, adOpenDynamic, adLockPessimistic
   text1.text的内容等于lewi
    text2.text=myword!密码
   end sub
这个程序运行时需要设置控制面板里的ODBC数据源吗?如果需要,程序里哪里涉及了?如果不需要,怎么通过ODBC访问ACCESS库?因为老师要求通过ODBC访问ACCESS,
问题二:程序里有Public zt As String
可是并没有用到zt这个变量,定义它作用何在?在"dbq=" & App.Path & "\数据库名.mdb一句中,dbq是什么意思?并没有定义呀

解决方案 »

  1.   

    1。这个程序没有使用ODBC 访问access,而是用的ado方式。我个人认为这是比较好的,不要在odbc中配数据源了!
    若要使用odbc方式,则在odbc中先建一个数据源,在把connecstring改成
    cnn.ConnectionString = Provider=MSDASQL.1;Password=****;Persist Security Info=True;User ID=***;Data Source=数据源名”
    2。zt 没有用。dbq可能是指数据库路径,不过一般都是用Data Source
      

  2.   

    不需要使用odbc,ado就很好用。
      

  3.   

    不需要在ODBC中设置,你使用了ODBC连接的另一种,如果用dsn文件连接的话就要进行设置了。
    dbq代表数据库文件路径。
    zt 是一个全局变量,它的作用可能是用在程序中别的地方,在你所贴的代码中没有用到,在别的窗体中可能就用到了。