Access crash bij uitvoering query met tabellen van verschillende databases

Status
Niet open voor verdere reacties.

edski

Nieuwe gebruiker
Lid geworden
30 mrt 2015
Berichten
3
Hallo

De query wordt uitgevoerd vanuit een Access 2010 db met name DDD.accdb

Tabel tTempExpiredDL bevindt zich in een andere Access 2010 db met name DDD_temp.accdb

De tabel bestaat uit 2 velden NN en VRBNR.

Nu wil ik naam, voornaam en address ophalen uit de tabellen Inwoner en Straten die zich bevinden op een server Oracle database

Als ik de query uitvoer zoals volgt voor 1 NN om de connectie te testen dan is er geen probleem.

SELECT INWONER.RRNR, INWONER.IT010_FAMILIENM, INWONER.IT010_VOORNM, STRATEN.DATA, INWONER.IT020_NR_HUIS, INWONER.IT020_NR_INDEX, STRATEN.POSTKODE, INWONER.FK_CODALG_INW_GESLACHT,
FROM HERA.INWONER INWONER, BEV.STRATEN STRATEN
WHERE INWONER.IT020_CODSTR_PRGCOD = STRATEN.STRAATKODE AND ((INWONER.RRNR=’ 90030114290’) AND (STRATEN.POSTKODE='3600'))

Probeer ik echter de query uit te voeren voor alle NN (met tTempExpiredDL.NN) dan crasht Acces zonder foutmelding of waarschuwing.

SELECT INWONER.RRNR, INWONER.IT010_FAMILIENM, INWONER.IT010_VOORNM, STRATEN.DATA, INWONER.IT020_NR_HUIS, INWONER.IT020_NR_INDEX, STRATEN.POSTKODE, INWONER.FK_CODALG_INW_GESLACHT , tTempExpiredDL.VrbNr
FROM HERA.INWONER INWONER, BEV.STRATEN STRATEN, [;database = H:\Documenten\Temp\DDD_eds.accdb].tTempExpiredDL
WHERE INWONER.IT020_CODSTR_PRGCOD = STRATEN.STRAATKODE
AND ((INWONER.RRNR= tTempExpiredDL.NN)
AND (STRATEN.POSTKODE='3600'))

Wat doe ik fout?
 
De tabel Straten kan ik koppelen maar de tabel Inwoner lukt niet.
Ik krijg volgende foutmelding:
Defintie van index of relatie bevat ongeldige velddefinitie.
Om die reden wil ik data ophalen met een query.
 
Als het koppelen niet lukt, zijn andere (Access) methodes ook tot mislukken gedoemd, want je gebruikt dezelfde engine. Vergelijk het met een rode Ferrari: als daar geen 6 kratten bier in passen, krijg je ze ook niet in een blauwe. Dan moet je een ander type auto pakken, niet de kleur veranderen.
Je kunt wellicht een Passthrough query proberen. Ik heb zelf vergelijkbare problemen gehad met SQL Server tabellen. Daar zaten ook teveel indexen in voor Access. Dat kon ik oplossen door eigen views te maken in de SQL Server database. Die kon ik vervolgens wél koppelen.
 
Bedank voor je reactie OctaFish!

De Passthrough query is klaar en werkt maar er is (natuurlijk) een ander probleem opgedoken.
Nadat ik was afgelogd ging de DSN verloren (werk op een server) en bijgevolg werkt de query ook niet meer.
Om te voorkomen dat die DSN telkens manueel moet worden opgezet wil ik die bij de opstart van de applicatie in vba creëren.
Enig idee hoe dit moet gebeuren? Ik heb code gevonden maar krijg die niet aan de praat. Vond het ook raar dat er geen verwijzing was naar een paswoord.
Is het opzetten van DSN in VBA een goed idee of is er nog een andere oplossing om de Passthrough toch te laten werken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan