[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/12/07(Tue) 10:06
投稿者名:おじん
Eメール:
URL :
タイトル:
DBGrid(MDB)について(エラー発生)
いつも、おせわになります。
次のようにやってエラーが発生し原因がわかりません。ご教授ください。

まず、MDBをDataに関連付けDBGridに展開します。
Data1.DatabaseName=DBfile'データベースファイル名
Data1.RecordSource="テーブル1"
(この状態であればエラーは発生しません)

任意のフィールド内容で抽出し、
    Dim strSQL As String
    Set db = OpenDatabase(DBfile)
    Set ds = db.OpenRecordset("テーブル1", dbOpenDynaset)
    strSQL = ""
    If chkHattyusaki.Value = 1 Then
    '発注先
        strSQL = "hattyusaki like '" & _
                 Combo1.List(Combo1.ListIndex) & "*'"
        ds.Filter = strSQL
        Set ds = ds.OpenRecordset
    End If
    Set Data1.Recordset = ds

抽出されDBGridに表示されたデータについて、任意の行をクリックしたとき、
エラーが発生します。コードは下記。
まず、始めのクリックで、「データアクセスエラー」となり、OKを押し、
さらにクリックすると、「実行時エラー、CellValueメソッドは失敗しました」と
なります。以後、実行不可。

Private Sub DBGrid1_MouseDown( _
        Button As Integer, Shift As Integer, X As Single, Y As Single)
'データを指定---->指定データを取得
    Dim tmp$
    With DBGrid1
        row = .RowContaining(Y)
        If row = -1 Then Exit Sub
        txtSelect.Text = .Columns(1).CellValue(.RowBookmark(row))
    End With
End Sub

さらに分からなくなるのは、_MouseDownで、ステップ実行するとエラーが
発生しません。

変数名の定義は一部省略しています。
質問の内容が伝わりましたら、よろしくお願いいたします。

投稿時間:2004/12/07(Tue) 15:27
投稿者名:おじん
Eメール:
URL :
タイトル:
Re: 自己解決(恐らく)
コードには示していませんでしたが、
検索後、Close処理をしています。それが関係するのではと
思います。
ご迷惑をおかけしました。