Welkom op het forum van startpagina!

Dit forum staat op alleen-lezen. Je kan hier informatie zoeken en oude berichten terugvinden, maar geen nieuwe berichten plaatsen.

Naar overzicht van alle forums

toevoeg query met voorwaarde

  • Edwin Bennink

    Hallo,

    Momenteel heb ik twee tabellen in mijn database:

    tblimport en tblTransacties

    In de tblimport worden wekelijks nieuwe waardes geimporteerd vanuit een tekstbestand.

    Met een toevoegquery zet ik de bestanden van de tblimport over naar de tblTransacties.

    Graag zou ik eerst willen controlleren of de record die over wordt gezet naar tblTransacties niet reeds bestaat.

    Hoe realiseerd ik dit met de toevoegquery?

    Mag eventueel ook met een module (vb), die in de toevoegquery wordt aangeroepen.

    met vriendelijke groet,

    E. Bennink

  • Henk

    Edwin,

    Een oplossing zou kunnen zijn een toevoegquery die alleen de records selecteert uit tblimport die nog niet bestaan in tbltransaction. Voorwaarde is dan wel dat er een uniek recordid moet zijn waaraan je dit kunt vaststellen

    voorbeeld:

    INSERT INTO tbltransaction ( id, veld1, veld2, etc )

    SELECT tblimport.id, tblimport.veld1, tblimport.veld2, etc

    FROM tblimport LEFT JOIN tbltransaction ON tblimport.id = tbltransaction.id

    WHERE (((tbltransaction.id) Is Null));

    succes

    Henk

  • RV

    Voorwaarde is dat je je rijen in beide tabellen uniek kunt identificeren via dezelfde (kombinatie van) kolommen

    Stel, je rijen worden uniek geidentificeerd door Transaktienummer.

    Wat je moet doen is in je tabel tblTransakties zoeken naar waarden voor Transaktienummer die wel voorkomen in je tabel tblImport maar nog niet in tblTransakties.

    Dat doe je middels een WHERE NOT EXISTS.

    Je query in SQL weergave komt er dan qua opzet zo uit te zien:

    INSERT INTO tblTransakties

    SELECT *

    FROM tblImport

    WHERE NOT EXISTS

    (

    SELECT *

    FROM tblTransakties

    WHERE tblImport.Transaktienummer = tblTrasakties.Transaktienummer

    )

    RV