none
VB6: in einem an ADO Recordset gebundenes DataGrid suchen RRS feed

  • Frage

  • Hallo Ihr Lieben,

    Ich habe in einem Formular ein Datagrid, das an ein Ado Recordset gebunden ist. Zusätzlich ist auch noch ein Button "Suchen" vorhanden.
    Im Lade-Ereignis wird das DataGrid gefüllt.
    Im Ereignis "Suchen_Click" soll nach einem bestimmten Datensatz gesucht werden und der mit dem Suchbegriff gefundene Satz als 1. Zeile des sichtbaren Bereichs im Datagrid positioniert
    werden.

    Und jetzt das Problem:
    Die Prozedur Suchen bringt den Fehler "Object erforderlich" (siehe Code). Wenn ich jedoch den
    Code aus der Sub Suchen in das Form_Load Ereignis kopiere klappt der Code super!
    Ich bitte dringend um Hilfe und bedanke mich im voraus für jede Unterstützung!

    Liebe Grüße aus Erkelenz
    Toni

    CODE:

    Private Sub Form_Load()
    Dim rs As New ADODB.Recordset
    Dim cn As New ADODB.Connection
    Dim dats As String

    ' ADO connection herstellen
    dats = laufwerk & "AS-Tanz\DB\AS_Tanz_2007_aktuell.accdb"

        With cn
            .Provider = "Microsoft.ACE.OLEDB.12.0"
            .Properties("Data Source") = dats
        End With
        
        With rs
            .ActiveConnection = cn
            .CursorLocation = adUseClient
            .CursorType = adOpenKeyset
            .Source = "select * from Kunden where (LKZ <> 'L') order by kunden.kd_name,    kunden.kd_vorname"
            .Open
        End With
       
        DtgCount = rs.RecordCount
        'MsgBox DtgCount

    ' Datagrid für Eingabe sperren
        DataGrid1.AllowUpdate = False
        DataGrid1.AllowDelete = False
       
        ' Datagrid füllen
        ' ---------------
        Set Me.DataGrid1.DataSource = rs

    End Sub

    CODE:

    Private Sub Suchen_Click()
        Dim KName As String
        KName = "Klein"
        Dim dBookmark As Double
      
        Dim sFindCriterion As String
        sFindCriterion = "kd_name like '" & KName & "*'"
        With rs
            .Find sFindCriterion, , adSearchForward       'Fehler ---> Objekt erforderlich!
            If .EOF Then
               
                MsgBox "Couldn't Find """ & KName & """*"
            Else
                KName = ""
            End If
        End With
    End Sub

    Samstag, 23. Oktober 2010 23:55

Antworten