13. december 2004 - 14:32
Der er
21 kommentarer og 1 løsning
select top 3
Hvad er der lige galt her? Jeg får ingen fejl, men til gengæld trækker den heller ikke noget ud af min databasen - selvom den burde! Set Conn = Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "d:\home\region21.net\database\nyheder.mdb" SQLstmt = "SELECT TOP 3 * FROM nyhed WHERE dansk=1 ORDER BY nyhed.dato DESC , nyhed.ID DESC;" Conn.Execute (SQLstmt) Set rs = conn.Execute(SQLstmt)
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
13. december 2004 - 14:36
#1
du har en Conn.Execute (SQLstmt) for meget... ved ikke om det kan være det ... prøv: SQLstmt = "SELECT TOP 3 * FROM nyhed WHERE dansk=1 ORDER BY nyhed.dato, nyhed.ID DESC;" Set rs = conn.Execute(SQLstmt)
13. december 2004 - 14:36
#2
fjernede lige det ene DESC dem var der nemlig også 2 af :)
13. december 2004 - 14:41
#3
Hjalp ikke :(
13. december 2004 - 14:41
#4
WHERE dansk='1' :)
13. december 2004 - 14:42
#5
hvordan ser det ud der hvor du udskriver dine data ?
13. december 2004 - 14:44
#6
legende.dk> Det virkede heller ikke. tjaz> her er hele min kode: Set Conn = Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "d:\home\region21.net\database\nyheder.mdb" SQLstmt = "SELECT TOP 3 * FROM nyhed WHERE dansk=1 ORDER BY nyhed.dato DESC, nyhed.ID DESC;" Conn.Execute (SQLstmt) Set rs = conn.Execute(SQLstmt) DO WHILE NOT rs.EOF overskrift = rs("overskrift") manchet = Replace(rs("manchet"), vbcrlf, "<BR>" & vbcrlf) dato = rs("dato") id = rs("id") %> <A HREF="nyhed.asp?id=<%=id%>"><B><%=overskrift%></B></A><BR> <FONT SIZE="1" COLOR="#999999"><%=dato%></FONT><BR> <%=manchet%><BR> <BR> <% rs.MoveNext LOOP RS.Close Conn.Close
13. december 2004 - 14:45
#7
"SELECT TOP 3 Tabel1.nr, Tabel1.felt1, Tabel1.tid FROM Tabel1 ORDER BY Tabel1.nr DESC" Denne bruger jeg i en ren Access database. M.h.t. internettet er jeg helt blank.
13. december 2004 - 14:45
#8
Nogen gange skriver du conn med lille og andre gange med stort C. Det er et problem.
13. december 2004 - 14:47
#9
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Provider="Microsoft.Jet.OLEDB.4.0" Conn.Open "d:\home\region21.net\database\nyheder.mdb" SQLstmt = "SELECT TOP 3 * FROM nyhed WHERE dansk='1' ORDER BY nyhed.dato DESC, nyhed.ID DESC;" Set rs = Conn.Execute(SQLstmt) DO WHILE NOT rs.EOF overskrift = rs("overskrift") manchet = Replace(rs("manchet"), vbcrlf, "<BR>" & vbcrlf) dato = rs("dato") id = rs("id") %> <A HREF="nyhed.asp?id=<%=id%>"><B><%=overskrift%></B></A><BR> <FONT SIZE="1" COLOR="#999999"><%=dato%></FONT><BR> <%=manchet%><BR> <BR> <% rs.MoveNext LOOP RS.Close Conn.Close
13. december 2004 - 14:49
#10
legende.dk> hvis jeg sætter din kode ind, så får jeg "Data type mismatch in criteria expression."
13. december 2004 - 14:50
#11
hmm, så skal de '' måske ikke være der i access. Men din conn/Conn skal være den samme :)
13. december 2004 - 14:51
#12
Hvis det drejer sig om et numerisk felt, skal der i Access ikke være '' omkring kriteriet.
13. december 2004 - 14:52
#13
Det meget mærkelige er at min kode HAR virket - da jeg benyttede en anden sti til db'én (vha. mappath) - men denne understøttes ikke længere af webhotellet! Jeg fatter ikke hvad der er gået galt?
13. december 2004 - 14:52
#14
mugs> det er et sandt/falsk felt (1 elle 0)!
13. december 2004 - 14:53
#15
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Provider="Microsoft.Jet.OLEDB.4.0" Conn.Open "d:\home\region21.net\database\nyheder.mdb" SQLstmt = "SELECT TOP 3 * FROM nyhed WHERE dansk='1' ORDER BY nyhed.dato, nyhed.ID DESC" Set rs = Conn.Execute(SQLstmt) Do overskrift = rs("overskrift") manchet = Replace(rs("manchet"), vbcrlf, "<BR>" & vbcrlf) dato = rs("dato") id = rs("id") %> <A HREF="nyhed.asp?id=<%=id%>"><B><%=overskrift%></B></A><BR> <FONT SIZE="1" COLOR="#999999"><%=dato%></FONT><BR> <%=manchet%><BR> <BR> <% rs.MoveNext Loop While Not rs.EOF RS.Close Conn.Close %>
13. december 2004 - 14:53
#16
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Provider="Microsoft.Jet.OLEDB.4.0" Conn.Open "d:\home\region21.net\database\nyheder.mdb" SQLstmt = "SELECT TOP 3 * FROM nyhed WHERE dansk = True ORDER BY nyhed.dato, nyhed.ID DESC" Set rs = Conn.Execute(SQLstmt) Do overskrift = rs("overskrift") manchet = Replace(rs("manchet"), vbcrlf, "<BR>" & vbcrlf) dato = rs("dato") id = rs("id") %> <A HREF="nyhed.asp?id=<%=id%>"><B><%=overskrift%></B></A><BR> <FONT SIZE="1" COLOR="#999999"><%=dato%></FONT><BR> <%=manchet%><BR> <BR> <% rs.MoveNext Loop While Not rs.EOF RS.Close Conn.Close %>
13. december 2004 - 14:55
#17
Sand / falsk = Numerisk
13. december 2004 - 14:58
#18
så er det så bare den første af de 2 jeg sendte han skal bruge
13. december 2004 - 14:58
#19
tjaz> jeg skulle bare ændre dansk=1 til dansk=true i min oprindelige kode! Me hvorfor HAR min kode virket indtil for en uge siden ??? Meget underligt!
13. december 2004 - 15:02
#20
Godt spørgsmål ... for hvis det hele tiden har været en sandt/falsk skal du bruge True/False og så kan jeg slet ikke forstå at den har virket i første omgang, medmindre at du har lavet den om til Sandt/Falsk fra Numerisk 0/1
13. december 2004 - 15:05
#21
Jeg har ikke lavet noget om - men måske er der andre der har haft deres fedtede fingre i min kode. Under alle omstændigheder virker det nu - så tak for hjælpen!
13. december 2004 - 15:07
#22
np :)
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser