2011-10-25 12 views
0

Accessプロジェクトでは、クエリが結果を返す場合にのみフォームが開かれたときにラベルを表示します。VBからAccessへのDBへの接続エラー

私は、次のコードを持っている:

Private Sub Form_Load() 
Dim stSQL As String 
Dim db As DAO.Database 
Dim rs As DAO.Recordset 

Set db = DBEngine.Workspaces(0).Databases(0) 

Dim cn As DAO.Connection 
Set cn = DAO.Connection 


cn.Provider = "Microsoft.Jet.OLEDB.4.0" 

cn.Open stdbName 
stSQL1 = "SELECT * FROM tbl_lessons" 
Set rs = db.OpenRecordset(stSQL1, dbOpenDynaset) 

If (rs Is Not Nothing) Then 
    If (rs.GetRows() > 0) Then 
     lbl_alert.Visible = True 
    Else 
     lbl_alert.Visible = False 
    End If 

End If 

私は、私は次のエラーを取得していますフォームを開こうとすると: コンパイルエラー: メソッドまたはデータメンバが

私は

が見つかりませんVB7でAccess 2007を使用する

誰かが助けてくれますか?

+0

VB7とは何ですか?そして、私たちのコードはDAOではなくADOのようです。 DAO.ConnectionをADOに変更するだけではいけません.Connection? –

+0

アクセスを使用していない場合は、別のツール/言語のMDBを使用するだけです。「ms-access」を「Jet」に置き換えてください。 –

答えて

0

- VBAでコンパイルエラーが発生すると、コード行が常に強調表示されます。強調表示された行を注意深く見ると、間違ったことを理解するのに役立ちます。また、フォームを実行する前に、コードをコンパイルするようにしてください。 ( "デバッグ"メニューを開き、 "VBAProjectのコンパイル"などをクリックしてください)

問題がたくさんあるようですが、一度に1つずつ扱わなければならないでしょう。問題を修正してコードを再コンパイルしてください。

  1. 1cn.Open stdbName1
    - >stdbnameあなたは私たちを示したコードのどこに定義されていません。
  2. Dim stSQL As String
    - >接続文字列をstSQLと定義しましたが、コードにはstSQL1 = "..."と指定しました。変数名を修正してください。
+0

ありがとうございました。しかし、私はまだ立ち往生しています。 私は一日中グーグルで探せましたが、これについての良いチュートリアルを見つけることができません。 私は約10年間で何もしていないことをしようとしているので、愚かな質問をお詫び申し上げます... アクセスDBに接続してクエリを実行し、セット。 これを達成する方法について簡単に説明してください。 ありがとうございました – user1013176

+0

この質問をあなたに役立ててくれたら、それを受け入れることをお勧めします。あなたの最初の質問に答えた場合はそれを受け入れ、何か別のヘルプが必要な場合は新しい質問をしてください。私は個人的にアクセスデータベースへの接続に関するチュートリアルを持っていません。 – Alain

関連する問題