Ik heb een Access-client gekoppeld aan een SQL-database. Nu heb ik een probleem met een hele basic view/query
Vereenvoudigde probleemschets:
- een tabel relaties
- een tabel met relatie_adressen met onderscheid in type adres
Nu heb ik een view in SQL-server:
SQL-server geeft als output:
1 Jan Factuuradres
1 Jan Postadres
2 Piet null
Als ik deze view via ODBC aan Access koppel (odbc via 32bit SQL Server native client 11 driver) dan geeft Access als output
1 Jan Factuuradres
1 Jan Factuuradres
2 Piet null
Hoe kan het dat Access iets anders weergeeft dan de view in SQL-server ophaalt??? Dit is zowel het geval op mijn laptop (met lokale SQL2008r2 server) met Access 2013 als in de testomgeving (SQL2012) met Access 2010
Als ik dezelfde query opbouw in Access op gekoppelde tabellen krijg ik - uiteraard - wel hetzelfde resultaat als de view op SQL server (namelijk het onderscheid in adrestype).
Hoe los ik dit nou op? Ik heb werkelijk geen flauw idee hoe dit komt (en dit zet het hele gebruik van SQL als backend op losse schroeven voor mij)
edit: gekoppelde tabellen gebruiken en de query runnen in Access is geen optie. Het gaat om >100.000 records, Access doet hier >10sec over. De gekoppelde view doet er <0,5sec over.
Het joinen van odbctabellen in een query in de Accessclient is een nogo in deze situatie
Vereenvoudigde probleemschets:
- een tabel relaties
- een tabel met relatie_adressen met onderscheid in type adres
code:
1
2
3
4
5
6
7
| relatieID naam 1 Jan 2 Piet AdresID RelatieID AdresType 1 1 Factuuradres 2 1 Postadres |
Nu heb ik een view in SQL-server:
code:
1
2
| SELECT RelatieID, Naam, AdresType FROM relaties LEFT OUTER JOIN relatie_adressen on relaties.relatieID = relatie_adressen.relatieID |
SQL-server geeft als output:
1 Jan Factuuradres
1 Jan Postadres
2 Piet null
Als ik deze view via ODBC aan Access koppel (odbc via 32bit SQL Server native client 11 driver) dan geeft Access als output
1 Jan Factuuradres
1 Jan Factuuradres
2 Piet null
Hoe kan het dat Access iets anders weergeeft dan de view in SQL-server ophaalt??? Dit is zowel het geval op mijn laptop (met lokale SQL2008r2 server) met Access 2013 als in de testomgeving (SQL2012) met Access 2010
Als ik dezelfde query opbouw in Access op gekoppelde tabellen krijg ik - uiteraard - wel hetzelfde resultaat als de view op SQL server (namelijk het onderscheid in adrestype).
Hoe los ik dit nou op? Ik heb werkelijk geen flauw idee hoe dit komt (en dit zet het hele gebruik van SQL als backend op losse schroeven voor mij)
edit: gekoppelde tabellen gebruiken en de query runnen in Access is geen optie. Het gaat om >100.000 records, Access doet hier >10sec over. De gekoppelde view doet er <0,5sec over.
Het joinen van odbctabellen in een query in de Accessclient is een nogo in deze situatie
[ Voor 21% gewijzigd door Stefke op 20-03-2015 08:37 ]