Avatar billede Slettet bruger
04. juli 2006 - 09:28 Der er 8 kommentarer og
1 løsning

Access går ned når jeg kører forespørgsel

Hey,

Når jeg prøver at køre denne forespørgsel går Access ned.. Dvs der kommer en dialog med 'Access has encountered at problem and needs to close' og vil have mig til at sende en error report til microsoft. Når jeg kører kaldet med ADODB connection i Excel får jeg samme fejl (dvs. excel også crasher).

SELECT
  [testing].*,
  [comment].*
FROM [testing] LEFT JOIN [comment] ON (
  [testing].[id] = [comment].[referid] AND
  [testing].[test platform] IN ('report','status')
)
WHERE
  [testing].[status] NOT IN ('closed','cancelled')


Er der nogen, der kan sige mig, hvor jeg går galt i byen??

/1.
Avatar billede terry Ekspert
04. juli 2006 - 09:42 #1
is the data in linked tables in an Excel file? Try importinmg into Access and try there
Avatar billede terry Ekspert
04. juli 2006 - 09:43 #2
Or are you tryin to make a query from Excel against an Access dB?

Have you tried repairing your Access dB?
Avatar billede Slettet bruger
04. juli 2006 - 09:48 #3
Dataen er i en access database, som ikke fejler noget (hvis jeg fjerner where delen, virker forespørgslen fint).
Avatar billede Slettet bruger
04. juli 2006 - 09:49 #4
Begge programversioner er 2003 med SP2.
Avatar billede terry Ekspert
04. juli 2006 - 10:08 #5
I'm not happy with this in your JOIN

AND testing].[test platform] IN ('report','status')
)

If you move thsi to the where, does this help?
Avatar billede Slettet bruger
04. juli 2006 - 10:23 #6
Den del skal være i min JOIN.. Der skal kun tages Comment fra de rows med test platform = report/status.

Synes det er en lidt problematisk måde, access håndterer min query..

En anden løsning er self. at lave en UNION (som nedenfor) i stedet, men hader bare lange forespørgsler, der gentager sig næsten identisk :(..

SELECT
  [testing].*,
  NULL AS [comment],
  NULL AS [comment_date],
  NULL AS [comment_user]
FROM
  [testing]
WHERE
  [testing].[status] NOT IN ('closed','cancelled') AND
  [testing].[test platform] NOT IN ('report','status')

UNION

SELECT
  [testing].*,
  [comment].[comment] AS [comment],
  [comment].[date] AS [comment_date],
  [comment].[user] AS [comment_user]
FROM [testing] LEFT JOIN [comment] ON (
  [testing].[id] = [comment].[referid]
)
WHERE
  [testing].[status] NOT IN ('closed','cancelled') AND
  [testing].[test platform] IN ('report','status')
Avatar billede Slettet bruger
04. juli 2006 - 10:31 #7
Hmm. kom til at tænke på, jeg jo bare kan sætte comment til NULL, hvis test platform ikke er status/cancelled og bruge distinct til at sortere ikke-report/status comments væk:

SELECT DISTINCT
  [testing].*,
  IIF([testing].[test platform] IN ('status','report'),[comment].[comment],NULL) AS [comment],
  IIF([testing].[test platform] IN ('status','report'),[comment].[date],NULL) AS [comment_date],
  IIF([testing].[test platform] IN ('status','report'),[comment].[user],NULL) AS [comment_user]
FROM [testing] LEFT JOIN [comment] ON (
  [testing].[id] = [comment].[referid]
)
WHERE
  [testing].[status] NOT IN ('closed','cancelled')
Avatar billede Slettet bruger
04. juli 2006 - 10:33 #8
Jeg lader mit spørgsmål stå åbent, hvis der er nogen, der har et svar/en forklaring på, hvorfor min original query ikke virker..

/1.
Avatar billede Slettet bruger
30. januar 2007 - 12:03 #9
Lukker..
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