Avatar billede ossian Nybegynder
05. september 2003 - 23:31 Der er 10 kommentarer og
1 løsning

Hjælp til loop gennem alle poster i DB

Hej,


Jeg sidder og arbejder på en access database med ca. 500 poster i..nu vil jeg så lave en funktion der udvælger de 5 nyeste produkter fra en tabel, men jeg har det problem at feltet "date" først blevet oprettet i databasen nu, og der er derfor ikke noget indhold i dem.. Derfor bliver det lidt svært at udvælge noget som helst, så min idé er at give alle produkter dagens dato i feltet dato for at give dem et indhold..

Så jeg skal bruge en loop funktion der indsætter <%=date%> eller <%=now%> i alle poster..

Jeg har prøvet med det her, men det virker ikke:


<%
    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT * FROM boger"
    rs.Open strSQL, constring ,1,3
    while not rs.eof

' Her tilføjer den 1 til feltet i klik.

        rs("date") = date
        rs.Update
        'rs.Close
        rs.movenext
        wend

%>
Avatar billede eagleeye Praktikant
05. september 2003 - 23:34 #1
Du kan lave en SQL sætning som opdater alle dine poster med date eller der hvor date ikke er udfyldt ?? Denne indsætter Date() i alle dete kolonner hvor der ikke er en dato i, i forvejen. (husk backup inden test) ;)

SQL = "UPDATE tabelnavn SET [date] = Date() WHERE [date] is NULL"
Avatar billede ossian Nybegynder
05. september 2003 - 23:34 #2
ok..hvordan ville det se ud i ovenstående kode?
Avatar billede medions Nybegynder
05. september 2003 - 23:35 #3
Det er bare at kører denne SQL sætning:

strSQL = "UPDATE boger SET [date] = Date()"

//>Rune
Avatar billede eagleeye Praktikant
05. september 2003 - 23:36 #4
Så ville koden være sådan her i stedet for da man så ikke behøver et recordset men en connection:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open constring
SQL = "UPDATE tabelnavn SET [date] = Date() WHERE [date] is NULL"
Conn.Execute(SQL)
Avatar billede medions Nybegynder
05. september 2003 - 23:36 #5
<%
    Set rs = Server.CreateObject("ADODB.RecordSet")

    strSQL = "UPDATE boger SET [date] = Date()"
    connstring.Execute(strSQL)

%>


//>Rune
Avatar billede eagleeye Praktikant
05. september 2003 - 23:37 #6
Hvis du har et autonummer kolonne kan du evt. sortere på den da den nyeste altid vil havde højst Autonummer.:

SQL = "SELECT * FROM tabelnavn ORDER BY autnummerkolonne DESC"
Avatar billede ossian Nybegynder
05. september 2003 - 23:37 #7
fedt..det virkede.. tak :-)
Avatar billede medions Nybegynder
05. september 2003 - 23:37 #8
Hov..

<%
    Set rs = Server.CreateObject("ADODB.RecordSet")
    Set objConn = Server.Execute("ADODB.Connection")
    strSQL = "UPDATE boger SET [date] = Date()"
    objConn.Open connstring
    connstring.Execute(strSQL)

%>

//>Rune
Avatar billede medions Nybegynder
05. september 2003 - 23:37 #9
Fair nok... :)
Thx 4 Poinz

//>Rune
Avatar billede eagleeye Praktikant
05. september 2003 - 23:39 #10
hmm ikke fair nok. Jeg kom da først med svaret!
Avatar billede eagleeye Praktikant
05. september 2003 - 23:44 #11
Jeg kom først med svaret og fik ikke point.. 
Tak ossian.. du er virkelig en gutter mand.
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