Avatar billede it-assistent Nybegynder
20. august 2002 - 13:24 Der er 11 kommentarer

Problemer med sortering

Jeg har en rapport der er baseret på forespørgslen nederst. Denne skal udskrive tublerne efter kriterierne:
Gældbogsnr  - stigende (primært)
Løbenr - stigende (sekundært)

I designview for rapporten er indstillingerne for sortering og gruppering:
Gældbogsnr - stigende
Løbenr - stigende

For begge kriterier er egenskaberne sat til:
Gruppehoved: Nej
Gruppefod: Nej
GrupperPå: Hvert tegn
Grupperingsinterval: 1
Holdsammen: Nej

Problemet er at rapporten ikke bliver sorteret som jeg ønsker det. Den sorterer korrekt i hvor til gældbogsnummer - stigende. Sekundært skulle den kigge på løbenummer, men dette gør den på følgende måde:

Gældbogsnummer, løbenummer
403
403, 1
403, 10
403, 2
403, 3

osv.


SELECT Kreditor_nr AS ID_nr, løbenr, løbenummmer.[Anmeldt paragraf], løbenummmer.[Anmeldt dato], løbenummmer.[Anmeldt beløb] AS [anmeldt_beløb], løbenummmer.[Historik], løbenummmer.[Godkendt paragraf], løbenummmer.[Godkendt beløb] AS [Godkendt_beløb],
[fordringshavere DDS moderselskab1].Gældbogsnr,
[fordringshavere DDS moderselskab1].[Kreditor navn],
[fordringshavere DDS moderselskab1].[Advokat],
[fordringshavere DDS moderselskab1].[Adresse 1],
[fordringshavere DDS moderselskab1].[Adresse 2],
[fordringshavere DDS moderselskab1].[Postnr] 
FROM løbenummmer, [fordringshavere DDS moderselskab1]
WHERE løbenummmer.Kreditor_nr = [fordringshavere DDS moderselskab1].ID_nr


UNION SELECT ID_nr, Null, [Anmeldt paragraf], [Anmeldt dato], [anmeldt_beløb], [Historik], [Godkendt paragraf], [Godkendt_beløb], Gældbogsnr, [Kreditor navn], Advokat, [Adresse 1], [Adresse 2], Postnr
FROM [fordringshavere DDS moderselskab1]
WHERE Gældbogsnr <> 0
ORDER BY Gældbogsnr, løbenr;
20. august 2002 - 13:27 #1
Det skyldes at Løbenummer ikke er nummerisk, men derimod et tekstfelt!

prøv at benytte Val(Løbenummer) i din forespørgsel
20. august 2002 - 13:28 #2
Løbenummer = Løbenr
Avatar billede it-assistent Nybegynder
20. august 2002 - 13:39 #3
løbenr er nummerisk (typen tal). Dog bliver det i foresp. Union med Null.

Der kommer syntaksfejl hvis jeg skriver (Val) løbenr i foresp.

Ligeledes syntaksfejl ved (Val) Null i foresp. - det giver jo heller ikke rigtig mening.
20. august 2002 - 13:41 #4
kan du ikke skrive:
ORDER BY Gældbogsnr, val(løbenr)
Avatar billede it-assistent Nybegynder
20. august 2002 - 13:46 #5
Fejl:
Order By- udtrykket (val(løbenr)) bruger felter, der ikke udvælges af forespørgslen. Kun de felter, der forespørges på i den første forespørgsel, kan medtages i et Order By -udtryk.
20. august 2002 - 13:49 #6
nå ja, det er jo rigtigt.

Hvad med denne:
SELECT Kreditor_nr AS ID_nr, løbenr, Val(Løbenr) as LNr, løbenummmer.[Anmeldt paragraf], løbenummmer.[Anmeldt dato], løbenummmer.[Anmeldt beløb] AS [anmeldt_beløb], løbenummmer.[Historik], løbenummmer.[Godkendt paragraf], løbenummmer.[Godkendt beløb] AS [Godkendt_beløb],
[fordringshavere DDS moderselskab1].Gældbogsnr,
[fordringshavere DDS moderselskab1].[Kreditor navn],
[fordringshavere DDS moderselskab1].[Advokat],
[fordringshavere DDS moderselskab1].[Adresse 1],
[fordringshavere DDS moderselskab1].[Adresse 2],
[fordringshavere DDS moderselskab1].[Postnr] 
FROM løbenummmer, [fordringshavere DDS moderselskab1]
WHERE løbenummmer.Kreditor_nr = [fordringshavere DDS moderselskab1].ID_nr
UNION SELECT ID_nr, Null, 0, [Anmeldt paragraf], [Anmeldt dato], [anmeldt_beløb], [Historik], [Godkendt paragraf], [Godkendt_beløb], Gældbogsnr, [Kreditor navn], Advokat, [Adresse 1], [Adresse 2], Postnr
FROM [fordringshavere DDS moderselskab1]
WHERE Gældbogsnr <> 0
ORDER BY Gældbogsnr, LNr;
Avatar billede it-assistent Nybegynder
20. august 2002 - 14:10 #7
Min sql ser således ud:
SELECT Kreditor_nr AS ID_nr, Val(løbenr) as LNr, løbenummmer.[Anmeldt paragraf], løbenummmer.[Anmeldt dato], løbenummmer.[Anmeldt beløb] AS [anmeldt_beløb], løbenummmer.[Historik], løbenummmer.[Godkendt paragraf], løbenummmer.[Godkendt beløb] AS [Godkendt_beløb],
[fordringshavere DDS moderselskab1].Gældbogsnr,
[fordringshavere DDS moderselskab1].[Kreditor navn],
[fordringshavere DDS moderselskab1].[Advokat],
[fordringshavere DDS moderselskab1].[Adresse 1],
[fordringshavere DDS moderselskab1].[Adresse 2],
[fordringshavere DDS moderselskab1].[Postnr] 
FROM løbenummmer, [fordringshavere DDS moderselskab1]
WHERE løbenummmer.Kreditor_nr = [fordringshavere DDS moderselskab1].ID_nr



UNION SELECT ID_nr, Null, [Anmeldt paragraf], [Anmeldt dato], [anmeldt_beløb], [Historik], [Godkendt paragraf], [Godkendt_beløb], Gældbogsnr, [Kreditor navn], Advokat, [Adresse 1], [Adresse 2], Postnr
FROM [fordringshavere DDS moderselskab1]
WHERE Gældbogsnr <> 0
ORDER BY Gældbogsnr, LNr;

Det virker korrekt hvis jeg åbner forespørgslen, men den sortere stadig forkert i rapporten. Jeg har prøvet at slette sorteringskriterier i rapporten for at lade ORDER BY styre lortet, men det virker overhovedt ikke efter hensigten. Jeg har også prøvet med gældbogsnummer stigende og LNr stigende, men det er det samme som før.
20. august 2002 - 14:15 #8
Du skal jo så sortere på LNr i rapporten i stedet for Løbenr. Gør du det?
Avatar billede it-assistent Nybegynder
20. august 2002 - 14:17 #9
I'm doing that already.
Avatar billede proaccess Nybegynder
20. august 2002 - 14:41 #10
Det er i gruppering/sortering den er gal...

I designview for rapporten er indstillingerne for sortering og gruppering:
Gældbogsnr - stigende
Val(Nz(Løbenr, 0)) - stigende
Avatar billede it-assistent Nybegynder
20. august 2002 - 15:11 #11
Det forstår den ikke rigtig når jeg skriver det i sortering og gruppering.

Indtast parameterværdi - er beskeden når jeg forsøger at åbne rapporten.
Val(Nz(løbenr,0))
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