Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

10.4.1 Gesuchte Datensätze per Source-Eigenschaft des Recordsets ermitteln

10.4.2 Seek

Wenn Sie mit der Seek-Methode nach Daten suchen möchten, müssen zwei Bedingungen erfüllt sein: Das zu durchsuchende Feld muss indiziert sein und Sie müssen die Konstante adCmdTableDirect als Option beim Öffnen der Datensatzgruppe festlegen. Ersteres prüfen Sie ganz einfach, indem Sie in der Entwurfsansicht einer Tabelle den Indizes-Dialog einblenden (Ribbon-Eintrag Entwurf|Einblenden/Ausblenden|Indizes, siehe Abbildung 10.5). Letzteres impliziert, dass Sie nur auf einzelne Tabellen, aber nicht auf Abfragen oder verknüpfte Tabellen zugreifen können.

Abbildung 10.5: Anzeigen der Indizes einer Tabelle

Die Option adcmdTableDirect verwenden Sie mit der Open-Methode des Recordset-Objekts. Die folgende Routine zeigt, wie Sie mit der Seek-Methode einen bestimmten Datensatz einer Tabelle finden und den Wert seines Primärschlüsselfeldes ausgeben.

Im Gegensatz zur weiter unten vorgestellten Find-Methode enthält das Recordset-Objekt nicht alle Datensätze, die dem Suchkriterium entsprechen, sondern es wird lediglich der Datensatzzeiger auf einem Datensatz platziert, der den mit der Seek-Methode übergebenen Parametern entspricht.

Dabei gibt es verschiedene Varianten, die Sie mit dem Parameter SeekOption übergeben. Die wichtigsten sind folgende:

  • adSeekFirstEQ: Setzt den Datensatzzeiger auf den ersten Datensatz mit dem angegebenen Wert.
  • adSeekLastEQ: Setzt den Datensatzzeiger auf den letzten Datensatz mit dem angegebenen Wert.
  • ist unter den gegebenen Bedingungen die schnellste Möglichkeit, um auf einen bestimmten Datensatz zuzugreifen.

    Public Sub SuchenMitSeek()

        Dim cnn As ADODB.Connection
        Dim rst As ADODB.Recordset

        Set cnn = CurrentProject.Connection
        Set rst = New ADODB.Recordset

        'Recordset mit direktem Zugriff auf die Tabelle öffnen
        rst.Open "Artikel", cnn, adOpenKeyset, adLockOptimistic, _
            adCmdTableDirect

        'Index festlegen: Achtung, Indexname und nicht den Feldnamen verwenden!
        rst.Index = "Artikelname"

        'Suche starten
        rst.Seek "Chocolade", adSeekFirstEQ

        'Aktuellen Datensatz anzeigen
        If Not rst.EOF Then
            Debug.Print rst![Artikel-Nr]
        End If

        rst.Close
        Set rst = Nothing
        Set cnn = Nothing

    End Sub

    Listing 10.21: Suche mit der Seek-Methode

    Nächster Abschnitt:

    10.4.3 Find

    © 2006-2008 André Minhorst Alle Rechte vorbehalten.