Avatar billede medions Nybegynder
15. august 2001 - 19:52 Der er 33 kommentarer og
1 løsning

Count! -nemt! *G*

Hvorfor virker denne sqlsætning ikke? -den udskriver bare alt hvad der ligge i tabellen i stedet for at tage de 4 første?

    Set rs = Conn.Execute(\"SELECT TOP 4 annonce, nick, kon, dato, by, alder FROM brugere ORDER BY dato DESC;\")
Avatar billede kornfreak Nybegynder
15. august 2001 - 19:53 #1
Set rs = Conn.Execute(\"SELECT * annonce, nick, kon, dato, by, alder FROM brugere ORDER BY dato DESC LIMIT 0,4;\")

Sårn ?
Avatar billede kornfreak Nybegynder
15. august 2001 - 19:53 #2
Nååå MS SQL ..sorry, troede det var MySql ..heh den skulle også ha været sårn: Set rs = Conn.Execute(\"SELECT annonce, nick, kon, dato, by, alder FROM brugere ORDER BY dato DESC LIMIT 0,4;\")

Sårn ? 
Avatar billede medions Nybegynder
15. august 2001 - 19:55 #3
ked af at skuffe dig, den kommer med denne fejl:

Microsoft JET Database Engine fejl \'80040e14\'
Der er en syntaksfejl i ORDER BY-delsætningen.
Avatar billede kornfreak Nybegynder
15. august 2001 - 20:00 #4
Jeg ved det..jeg var lidt for hurtig :)

Prøv evt. med \"select top 4 * from brugere order by dato desc\"

Avatar billede medions Nybegynder
15. august 2001 - 20:04 #5
så sker der det samme :-(
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:06 #6
Set rs = Conn.Execute(\"SELECT TOP 4 annonce, nick, kon, dato, [by], alder FROM brugere ORDER BY dato DESC;\")

Og lad være med at kalde det by, jeg kalder det altid ByNavn.

By er et reserveret ord. Men det er da ikke sikkert at det er det der er problemet
Avatar billede medions Nybegynder
15. august 2001 - 20:07 #7
så udskriver den bare hele muliviten igen! :-(
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:09 #8
Hej, er det en Access database???
Avatar billede medions Nybegynder
15. august 2001 - 20:13 #9
ja...
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:13 #10
Det skulle nu virke alligevel ?!?

Hvad siger den med
select top 4 * from brugere
Avatar billede medions Nybegynder
15. august 2001 - 20:14 #11
så vælger den kun de 4 øverste!
Avatar billede medions Nybegynder
15. august 2001 - 20:15 #12
men der er ikke de 4 nyeste, og det er det jeg vil ha\'! ;-)
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:15 #13
Så er der noget med Order by

prøv
select top 4 * from brugere ORDER BY nick
Avatar billede medions Nybegynder
15. august 2001 - 20:18 #14
hm... virker ikke! den skriver de 4 første ud men ikke med order by!
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:24 #15
Prøv at åbne Access, og lav det som en forespørgsel. Måske har du et problem med ODBC-driveren.

Prøv også at sikre dig at der står noget i datofelterne, jeg ved ikke hvordan den vil reagere på null.

Og omdøb så lige det der \"By\"-felt :o)

Jeg prøver mig lige frem i Access 2000
Avatar billede medions Nybegynder
15. august 2001 - 20:28 #16
*G* aner ikke hvordan man laver en forespørgelse i Access programmet! -kun i nomal SQL

og jeg har lige nu denne sql sætning:


Set rs = Conn.Execute(\"SELECT TOP 4 annonce, nick, kon, dato, by, alder FROM brugere ORDER BY dato;\")
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:28 #17
OK, hvis jeg siger dato DESC, så tager den datoerne faldende, dvs den nyeste først. Men hvis jeg siger top 5, og der kun er 4 der har en dato, så tager den hele molevitten!

Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:30 #18
order by dato DESC, nick ASC

Så virker det
Avatar billede medions Nybegynder
15. august 2001 - 20:32 #19
nope, det virker ikke! Hmm.. anyway, hvad betyder ASC? -og hvad gør det?

`den udskriver bare det hele igen!
Avatar billede medions Nybegynder
15. august 2001 - 20:37 #20
Men hør nu her, -den gider jo godt at sotere efter dato!

den gider bare ikke kun at udskrive kun 4 !

det er totalt wired!! *G*
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:42 #21
ASC er der modsatte af DESC
Ascending = stigende
Descending = faldende

Jeg regnede med at der stod noget i nick. det SKAL være et felt der er fyldt ud. Hvad er din primærnøgle, brug den. Det er jo ligemeget hvilken du tager, ikke? Men Primærnøglen er obligatorisk og unik.
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:43 #22
ER datofelterne tomme, som jeg siger?? og nick??
Avatar billede medions Nybegynder
15. august 2001 - 20:46 #23
Primærnøglen har heletiden været sat til! -og både dato og nick felterne er alle fyldt ud! :-(

så der er lidt underligt?!
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:49 #24
Jaa, jeg troede lig at jeg havde fundet løsningen, jeg kunne da lave den samme fejl her.

Men har du prøvet at sige:

order by dato DESC, ID ASC

HVIS altså din primærnøgle hedder ID
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:51 #25
Du skulle altså prøve at lave forespørgslen i Access, jeg kan guide dig. Ellers har jeg ODBC-driveren mistænkt ...

DET SKAL SGU VIRKE!
Avatar billede medions Nybegynder
15. august 2001 - 20:53 #26
you got mail !
Avatar billede medions Nybegynder
15. august 2001 - 20:55 #27
ok men kan du ikke guide mig gennem ICQ?

ICQ# 96272063
Avatar billede ldanielsen Nybegynder
15. august 2001 - 20:59 #28
Næ, men hør her

> Åbn Access

> I databasevinduet, klik på Forespørgsler

> Dobbeltklik på \"Opret en forespørgsel i designvisning\"

> Luk boxen \"Vis tabel\" uden at tilføje noget

> Vælg Vis > SQL-visning

> Skriv din SQL, uden anførselstegn eller noget

> Vælg Vis > Dataarkvisning
Avatar billede ldanielsen Nybegynder
15. august 2001 - 21:01 #29
Øh, det der semikolon til sidst, det kan access vist godt lide, men jeg bruger det aldrig i ADO-kald.

Gør nok ingen forskel
Avatar billede medions Nybegynder
15. august 2001 - 21:01 #30
sådan her:

    Set rs = Conn.Execute(\"SELECT TOP 4 annonce, nick, kon, dato, by, alder FROM brugere ORDER BY id DESC;\")

nu virker det! ;-)


du skal ha\' tak for hjælpen! ;-)

læg lige et svar så du kan få pointne!
Avatar billede medions Nybegynder
15. august 2001 - 21:04 #31
Det ved jeg det ikke gør! ,for jeg har prøvet med begge dele! ;-)
men det er bare blevet til en vane at skrive det!
Avatar billede ldanielsen Nybegynder
15. august 2001 - 21:19 #32
OK, men virker:

order by dato DESC, id ASC

virkelig ikke?

Ellers får du jo ikke sorteret dem efter dato :o(
Avatar billede medions Nybegynder
15. august 2001 - 21:28 #33
well, nope, det virker ikke! -og heller ikke på Azero.dk\'s server! -så der er ikke min ODBC-Driver der er noget galt med ;-)
Avatar billede ldanielsen Nybegynder
15. august 2001 - 21:33 #34
Det er fan\'me for uhyggeligt du!

Men sådan er livet vel bare
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
Computerworld tilbyder specialiserede kurser i database-management

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