Recordset Abfrage

  • VB6

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Recordset Abfrage

    Hi Folks.

    Ich habe ein Problem.

    Ich habe ein Recordset RsEingabe. Nun will ich ein zweites Recordset füllen. Mein Abfrageansatz ist folgender:

    .Source = "SELECT rec_id, ArtNr, Bez, Gewicht FROM Art WHERE ((Not (rec_id)=" & RsEingabe!ID & "))"

    Das Problem ist, das RsEingabe!ID offensichtlich nur für den ersten Datensatz im Recordset steht. Es sollen aber alle IDs gefiltert werden. Wie kann ich die Abfrage ändern, damit dies geht. Wie sage ich VB denn, das ich nicht nur den ersten Datensatz meine, sondern die ganze Spalte im Recordset?

    Vielen Dank
    Du musst sämtliche IDs einzelnd in deine SQL Abfrage integrieren.

    Ungefähr so:
    'select * from tabelle where id not in (1,2,3,4,5,6)'

    Ob das mit deiner Datenbank funktioniert weiss ich nicht, ich kenne leider nur Interbase.

    Edit: Aber irgendwie verstehe ich jetzt nicht so ganz, was du eigentlich machen möchtest, es sieht für mich so aus, als wolltest du alle IDs rausfiltern, dann hättest du aber doch keine Daten mehr.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    nein ich will alle ids herausfiltern die ich in dem einen Recordset habe (dieses bezeiht sich auf eine andere Datenbank).

    Geht das doch irgendwie.

    Ich weiß ja nicht immer welche ids das sind, daher funktioniert deine Möglcikeit leider nicht.
    So ungefähr musst du es machen:

    dim ids as string
    ids=""

    while not rs.eof
    if ids<>"" then ids=ids & ","
    ids=ids & RsEingabe!ID
    wend

    .Source = "SELECT rec_id, ArtNr, Bez, Gewicht FROM Art WHERE ID not in (" & ids & ")"
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum