Avatar billede jobless Nybegynder
22. april 2003 - 12:19 Der er 7 kommentarer og
1 løsning

Forespørgselen er for kompleks.....;=((

Hej.

Jeg har tabel1 med nogle join poster ml. 2 tabeller (tabel1: mange-til-mange tabel).

Når jeg i min formular vil lægge flere poster ind i tabel1, ønsker jeg at begrænse udvalget, så dette bliver mindre og mindre for hver gang der lægges en post ind på samme sag.
Til dette har jeg lavet en vba-kode, som dynamisk opbygger min 'where' del af sql'en, som fungerer fint.

Når der så bliver mange poster i denne 'where'-sætning, får jeg fejlen 'Forespørgslen er for kompleks'.

Er det noget med 2048 tegn i sql'en, og hvordan løser jeg dette problem?

MVH

JoBless
Avatar billede terry Ekspert
22. april 2003 - 12:32 #1
It is more than likley because it cant work out what your trying to do!
Just to make sure what your doing! You have THREE tables where tabel1 is the many to many table between two other tables?
Avatar billede terry Ekspert
22. april 2003 - 12:33 #2
why are you using a where in the SQL? If you add records through a form/sub form then you should only see the related records!
Avatar billede jobless Nybegynder
22. april 2003 - 12:40 #3
Det er en lidt kompleks affære.
Jeg bruger sql'en som rowsource på en multiselect listbox.

Ja, tabel1 er en mange-mange ml. 2 andre tabeller (lad os kalde dem hhv. udvalgTabel (alle mulige poster som kan tilknyttes en ordre) og OrdreTabel (alle ordrer som udvalget kan tilknyttes).

Jeg opretter så posterne ved at markere dem på min multiselect-listbox, og derefter trykker jeg på en knap. Via kode oprettes der så poster i tabel1.
Næste gang jeg vil tilknytte poster fra udvalgTabel går jeg så ind i min listbox igen. Her vil jeg nu kun have mulighed for at markere de poster fra udvalgTabel, som endnu ikke er tilknyttet ordren. Således at der ikke kan tilknyttes samme post flere gange.

Det er sådanset en slags omvendt-relatering jeg søger, altså: vis kun de poster som ikke er relateret.
Avatar billede tma_oksboel Nybegynder
22. april 2003 - 12:59 #4
Kan du så ikke istedet bruge forespørgselstypen 'Find ikke relaterede..' eller i din rowsource bruge en where not in (select nr from ...)
Ellers enig med Terry, det skyldes en fejl i udtrykket. Ikke kompleksistgraden.
Torben
Avatar billede jobless Nybegynder
22. april 2003 - 13:21 #5
Kan du prøve at uddybe 'where not in', den kender jeg ikke......
Avatar billede jobless Nybegynder
22. april 2003 - 13:53 #6
Jeg troer at jeg er ved at have løst problemet med 'Find ikke relaterede'.

Der skal bare lige joines et par tabeller...... tester
Avatar billede tma_oksboel Nybegynder
22. april 2003 - 14:22 #7
Where not in eksempel:

select * from tableOrdrer where kundenr not in (select nr from tableKunder)
Avatar billede tma_oksboel Nybegynder
22. april 2003 - 15:09 #8
Tak for points...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester