急急急急急!!!!!!!求助:VB运行出现“编译错误:未找到方法或数据成员" , 100分

时间:2023-02-22 00:04:15
  拜托!拜托!虽然有点长,但本人真的很着急,感谢感谢感谢!!!!   
  因为刚刚学VB不久,第一次尝试做这样的东东,所以请各位高手赐教,万分感谢!!!!!!!!!!  
  帮我看一哈哈........ 
 
其中SUB   MAIN以黄色显示,Flogin.ok中的.ok以蓝色显示 
公用模块Module.
Public Function executeSQL(ByVal sql As String, msgstring As String) As ADODb.Recordset   
    Dim cnn As ADODb.Connection   
    Dim rst As ADODb.Recordset   
    Dim stokens()   As   String   
    On  Error GoTo executesql_error   
    stokens = Split(sql)   
    Set cnn = New   ADODb.Connection   
    cnn.Open   connectstring   
        If   InStr("insert,delete,update",   UCase$(stokens(0)))   Then   
              cnn.Execute   sql                 
              msgstring   =   stokens(0)   &   "query   successful"   
        Else   
              Set   rst   =   New   ADODb.Recordset   
            rst.Open   Trim$(sql),   cnn,   adopendeyset,   adLockOptimistic   
            rst.MoveLast         'get   RecordCount   
            Set   executeSQL   =   rst   
            msgstring   =   "查询到"   &   rst.RecordCount   &   "条记录"   
      End   If   
      executesql_exit:   
      Set   rst   =   Nothing   
      Set   cnn   =   Nothing   
      Exit   Function   
      executesql_error:   
      msgstring   =   "查询错误:"   &   Err.Description   
      Resume   executesql_exit   
End   Function   


Public   Function   connectstring()   As   String   
            connectstring   =   "filedsn=student_info.dsn;uid=student_id;pwd="   
End   Function   
Public   Function   testtxt(txt   As   String)   As   Boolean   
      If   Trim(txt)   =   ""   Then   
                  testtxt   =   False   
        Else   
                  testtst   =   True   
      End   If   
End   Function   

Sub   Main()   
      Dim   Flogin   As   New   frmLogin   
            frmLogin.Show   vbModal   
            If   Not   Flogin.ok   Then   
                'login   failed   so   exit   app   
                End   
        End   If   
        Unload   frmLogin   

        Set   fMainForm   =   New   FrmMain   
        fMainForm.Show   
End   Sub   
Public   username   As   String  
 




frmLogin窗体中的代码如下: 

Option   Explicit 
Public   OK   As   Boolean 
Dim   miCount   As   Integer 
Private   Sub   Form_Load() 
          OK   =   False 
    miCount   =   0 
End   Sub 

Private   Sub   cmdCancel_Click() 
        OK   =   False 
        Me.Hide 
End   Sub 

Private   Sub   cmdOK_Click() 
        Dim   txtSQL   As   String 
        Dim   mrc   As   ADODb.Recordset 
        Dim   MsgText   As   String 
        UserName   =   "" 
        If   Trim(txtusername.Text   =   "")   Then 
              MsgBox   "没有这个用户,请重新输入用户名!",   vbOKOnly   +   vbExclamation,   "警告" 
              txtusername.SetFocus 
        Else 
            txtSQL   =   "select   from   user_info   where   user_ID='"   &   txtusername.Text   &   "'" 
            Set   mrc   =   ExecuteSQL(txtSQL,   MsgText) 
              If   mrc.EOF   =   True   Then 
                    MsgBox   "没有这个用户,请重新输入用户名!",   vbOKOnly   +   vbExclamation,   "警告" 
                    txtusername.SetFocus 
              Else 
                    If   Trim(mrc.Fields(1))   =   Trim(txtPassword.Text)   Then 
                    OK   =   True 
                    mrc.Close 
                    Me.Hide 
                    UserName   =   Trim(txtusername.Text) 
              Else 
                          MsgBox   "输入密码不正确,请重新输入!",   vbOKOnly   + vbExclamation,   "警告" 
                          txtPassword.SetFocus 
                          txtPassword.Text   =   "" 
              End   If 
        End   If 
End   If 
miCount   =   miCount   +   1 
If   miCount   =   3   Then 
        Me.Hide 
End   If 
Exit   Sub 
End   Sub 
    

18 个解决方案

#1


把sub main里的Dim Flogin As New frmLogin 去掉
再把If Not Flogin.ok Then改为If Not frmLogin.ok Then试试

#2


看就是使用vb的应用程序生成器作的

#3


引用了Microsoft ActiveX Data Objects 2.x Library沒有?

#4


首先多谢各位高手啦.......
不过问题的关键是:还没有解决
所有楼上各位仁兄说过的方法我都试过了,不行啊,运行不出来.......苦啊...
请教一下二楼的能否说的详细一点,感谢感谢!!!!!!!!!!!



求救求救..............................

#5


那个引用的是Microsoft   ActiveX   Data   Objects   2.6   Library吧???

#6


调试的时候没有提示出什么错?
或者不要定义OK 
把OK 换成BLOK

#7


试试Ctrl+F5: start with full compile找下基本的错误先。

你代码里头太多小错误了。
比如:
rst.Open       Trim$(sql),       cnn,        adopendeyset,       adLockOptimistic       

应改为:
rst.Open       Trim$(sql),       cnn,        adOpenKeyset,       adLockOptimistic       

...
 testtst       =       True       
其中的testtst那里出来的,你是想写 testtxt 吧?

类似的小错误你自己就可以查,编译通过了再单步执行去找错吧。

#8


装一下mdac_typ2.7

#9


哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
    在此多谢了!!!!!!!!!!!!!!!!

       真的好高兴啊!!!!!!!!!!!

#10


ctrl + F查一下你的OK吧,多半是窗体没加载。网上下的代码看多了。

#11


引用 9 楼 lemontree123 的回复:
哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
    在此多谢了!!!!!!!!!!!!!!!!
      真的好高兴啊!!!!!!!!!!!


你是怎么解决的啊,是什么问题啊
 

#12


引用 11 楼 mingshanxue 的回复:
引用 9 楼 lemontree123 的回复:
哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
    在此多谢了!!!!!!!!!!!!!!!!
      真的好高兴啊!!!!!!!!!!!


你是怎么解决的啊,是什么问题啊

问题很简单,新手常见错误

#13


2007-12-12 14:49:56 的贴还没结?

#14


引用 13 楼 patrickkong 的回复:
2007-12-12 14:49:56 的贴还没结?
急急急急急!!!!!!!求助:VB运行出现“编译错误:未找到方法或数据成员" , 100分

#15


在“声明”中加上Option Explicit,强制变量先声明再使用

#16


该回复于2010-03-12 11:39:16被版主删除

#17


引用 9 楼  的回复:
哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
在此多谢了!!!!!!!!!!!!!!!!
       真的好高兴啊!!!!!!!!!!
怎么做到的,请楼主明示!!!

#18


引用 9 楼 的回复:

哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
在此多谢了!!!!!!!!!!!!!!!!
真的好高兴啊!!!!!!!!!!

怎么做到的,请楼主明示!!!


------你想知道吗?要你反过来给楼主分了,哈哈

#1


把sub main里的Dim Flogin As New frmLogin 去掉
再把If Not Flogin.ok Then改为If Not frmLogin.ok Then试试

#2


看就是使用vb的应用程序生成器作的

#3


引用了Microsoft ActiveX Data Objects 2.x Library沒有?

#4


首先多谢各位高手啦.......
不过问题的关键是:还没有解决
所有楼上各位仁兄说过的方法我都试过了,不行啊,运行不出来.......苦啊...
请教一下二楼的能否说的详细一点,感谢感谢!!!!!!!!!!!



求救求救..............................

#5


那个引用的是Microsoft   ActiveX   Data   Objects   2.6   Library吧???

#6


调试的时候没有提示出什么错?
或者不要定义OK 
把OK 换成BLOK

#7


试试Ctrl+F5: start with full compile找下基本的错误先。

你代码里头太多小错误了。
比如:
rst.Open       Trim$(sql),       cnn,        adopendeyset,       adLockOptimistic       

应改为:
rst.Open       Trim$(sql),       cnn,        adOpenKeyset,       adLockOptimistic       

...
 testtst       =       True       
其中的testtst那里出来的,你是想写 testtxt 吧?

类似的小错误你自己就可以查,编译通过了再单步执行去找错吧。

#8


装一下mdac_typ2.7

#9


哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
    在此多谢了!!!!!!!!!!!!!!!!

       真的好高兴啊!!!!!!!!!!!

#10


ctrl + F查一下你的OK吧,多半是窗体没加载。网上下的代码看多了。

#11


引用 9 楼 lemontree123 的回复:
哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
    在此多谢了!!!!!!!!!!!!!!!!
      真的好高兴啊!!!!!!!!!!!


你是怎么解决的啊,是什么问题啊
 

#12


引用 11 楼 mingshanxue 的回复:
引用 9 楼 lemontree123 的回复:
哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
    在此多谢了!!!!!!!!!!!!!!!!
      真的好高兴啊!!!!!!!!!!!


你是怎么解决的啊,是什么问题啊

问题很简单,新手常见错误

#13


2007-12-12 14:49:56 的贴还没结?

#14


引用 13 楼 patrickkong 的回复:
2007-12-12 14:49:56 的贴还没结?
急急急急急!!!!!!!求助:VB运行出现“编译错误:未找到方法或数据成员" , 100分

#15


在“声明”中加上Option Explicit,强制变量先声明再使用

#16


该回复于2010-03-12 11:39:16被版主删除

#17


引用 9 楼  的回复:
哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
在此多谢了!!!!!!!!!!!!!!!!
       真的好高兴啊!!!!!!!!!!
怎么做到的,请楼主明示!!!

#18


引用 9 楼 的回复:

哈哈,经过大家的帮助和俺自个的努力,终于........终于搞定了
在此多谢了!!!!!!!!!!!!!!!!
真的好高兴啊!!!!!!!!!!

怎么做到的,请楼主明示!!!


------你想知道吗?要你反过来给楼主分了,哈哈