Avatar billede popstar Nybegynder
31. maj 2002 - 12:46 Der er 20 kommentarer og
3 løsninger

Dato for seneste indlæg

Jeg har en Access database som indeholder en datokolone. Jeg vil gerne have vist det seneste indlæg på en forside, således at brugerne ikke behøves at gå ind på næste side, for at se om der er kommet noget nyt!

Nogen som kan hjælpe?

VH Popstar
Avatar billede medions Nybegynder
31. maj 2002 - 12:50 #1
strSQL = "SELECT * FROM indlaeg WHERE dato <#" & " Date() & "# ORDER BY DESC"

//>Rune
Avatar billede medions Nybegynder
31. maj 2002 - 12:50 #2
strSQL = "SELECT * FROM indlaeg ORDER BY Dato DESC"

//>Rune
Avatar billede medions Nybegynder
31. maj 2002 - 12:51 #3
sådan var det vidst!

//>Rune
Avatar billede popstar Nybegynder
31. maj 2002 - 12:52 #4
Hvordan kan det så vises? - Skal der ikke være en "Response.Write"
Avatar billede gryn Nybegynder
31. maj 2002 - 12:53 #5
<%
Function DBhent(SQL, DBnavn)
Dim consub
Set consub = Server.CreateObject("ADODB.Connection")
consub.CommandTimeout = 30
consub.ConnectionTimeout = 20
consub.Open "DBQ=" & Server.Mappath(DBnavn) & ";Driver={Microsoft Access Driver (*.mdb)}"
Dim objDBhent
Set objDBhent = Server.CreateObject("ADODB.RecordSet")
objDBhent.Open SQL, consub, 3, 1
Set DBhent= objDBhent
Set objDBhent = Nothing
End Function
Set rs = DBhent("SELECT * FROM DinTabel order by DinID desc", "DinDB")
%>

Dato: <%= rs("dato") %>
<br><br>
Nyhed:<br>
<%= rs("teksten") %>
<br>


<%
rs.close
%>
Avatar billede gryn Nybegynder
31. maj 2002 - 12:55 #6
DinTabel = Databasetabellen
DinID = ID-kolonnen
DinDB = Databesenavnet uden ".mdb" bagefter
Avatar billede medions Nybegynder
31. maj 2002 - 12:56 #7
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}DBQ=" & Server.MapPath("db.mdb")

strSQL = "SELECT * FROM indlaeg ORDER BY Dato DESC"
Set objRs = objConn.Execute(strSQL)

Response.Write(objRs("dato"))

sådan!
//>Rune
Avatar billede gryn Nybegynder
31. maj 2002 - 12:56 #8
sorry

<%
rs.close
%>

skulle være

<%
set rs = Nothing
%>
Avatar billede gryn Nybegynder
31. maj 2002 - 13:01 #9
Svaret er for restn ikke 100 point værd.
Avatar billede medions Nybegynder
31. maj 2002 - 13:05 #10
Lidt for forklaring:

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}DBQ=" & Server.MapPath("db.mdb") 'Server.MapPath finde den aktueller sti, så hvis database skal i dette tilfælde ligge i sammen mappe som din .asp fil!

strSQL = "SELECT * FROM indlaeg ORDER BY Dato DESC" 'Her sortere den efter dato, så den nyeste dato bliver den øverste!
Set objRs = objConn.Execute(strSQL) 'Her executes din SQL query!

While Not objRs.EOF 'Her køres dine recordset igennem indtil End Of File
  Response.Write(objRs("dato") & "<br>") 'Her udskrives din dato med et mellemrum for hver dato!
objRs.MoveNext() 'Her rygger den til den næste efter valgte
Wend 'Her løbes løkken igennem en gang til

//>Rune
Avatar billede snowball Novice
31. maj 2002 - 13:06 #11
Et performance hint: Hvorfor ikke bare nøjes med at hente 1 record i stedet for dem alle sammen !? ;)

SELECT TOP 1 * FROM tabel ORDER BY Dato DESC

Snowball
Avatar billede medions Nybegynder
31. maj 2002 - 13:08 #12
snowball> Jeg tror han vil ha' udskrevet en masse records lige efter hianden hvor den nyeste er øverst!

Det her skriver han i oplæget:
...
således at brugerne ikke behøves at gå ind på næste side, for at se om der er kommet noget nyt!
...

;-)
//>Rune
Avatar billede cyberkox Nybegynder
31. maj 2002 - 13:09 #13
Skulle det ikke bare være den første, der skulle vises ?
Dette gøres sådan:
strSQL = "SELECT TOP 1 * FROM indlaeg ORDER BY Dato DESC"
Avatar billede medions Nybegynder
31. maj 2002 - 13:12 #14
cyberkox>

Kommentar fra snowball
31/05-2002 13:06:46

//>Rune
Avatar billede cyberkox Nybegynder
31. maj 2002 - 13:13 #15
Ja. Desværre var jeg vidst lidt langsom ;)
Avatar billede medions Nybegynder
31. maj 2002 - 13:15 #16
Men alligevel får du poinz! -Der er virklig nogen brugere her inde på eksperten jeg fatter - af!
*G*

//>Rune
Avatar billede popstar Nybegynder
31. maj 2002 - 13:15 #17
Tak for hjælpen! - Jeg har ikke helt fået det til at virke, men det kommer nok!

Kan I så gå hen og se lidt fodbold!

VH Popstar
Avatar billede snowball Novice
31. maj 2002 - 13:15 #18
medions: Og "en masse" er lig alle !? ;) Hvad så når der kommer 100-1000 indlæg !? ;)

Som så mange andre gør, så kunne man vælge at vise de seneste 5 eller 10 indlæg og så skal man jo bare ændre TOP 1 til TOP 5 eller TOP 10, men det er jo også stadig meget bedere at hente alle records i tabellen (især når det er Access) :)

Snowball
Avatar billede snowball Novice
31. maj 2002 - 13:18 #19
Hov...men det er jo også stadig meget bedere end at hente alle records i tabellen - skulle der stå ;)

Desuden skriver han jo "Jeg vil gerne have vist det seneste indlæg på en forside" - men som alt andet kan de jo bøjes lidt ;)

Snowball
Avatar billede medions Nybegynder
31. maj 2002 - 13:19 #20
snowball> Fair nok *G*

//>Rune
Avatar billede cyberkox Nybegynder
31. maj 2002 - 13:19 #21
Takker for point...
Avatar billede medions Nybegynder
31. maj 2002 - 13:21 #22
cyberkox> *G* ja det ville jeg sq oxo sige hvis jeg var dig! *LOL*

//>Rune
Avatar billede cyberkox Nybegynder
31. maj 2002 - 13:22 #23
Ja ja...
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
Kurser inden for grundlæggende programmering

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