Avatar billede jacand Nybegynder
14. april 2002 - 11:22 Der er 17 kommentarer og
1 løsning

Hvad mangler jeg :)

Hvad mangler jeg i denne kode, den skulle slette records fra databasen der har en dato i ”slettes” der er mindre end dagsdato.
Jeg får følgende side:

14-04-2002
0
selvom der er records der har en dato der er mindre end dagsdato

<!-- #include file="DB.asp" -->
<%
Session.LCID = 1030
'Response.Buffer = True
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

slet = date()
strSQL = "DELETE FROM Annoncer where slettes <= " & date() & ""
Conn.Execute strSQL,lngRecords
'Conn.execute (SQL)
response.write slet & "<br>"
response.write lngRecords
Conn.close
Set Conn = nothing
%>
Avatar billede medions Nybegynder
14. april 2002 - 11:26 #1
tror det er fordi du mangler at sætte # omkring dine dato'er!

//>Rune
Avatar billede jacand Nybegynder
14. april 2002 - 11:37 #2
Er det når jeg opretter min record der skal # omkring?
Jeg opretter med rs("slettes") = DateAdd("d", 14, date)
Avatar billede jacand Nybegynder
14. april 2002 - 11:40 #3
Fletet slettes er et "dato og tid" felt.
Hvis jeg sætter det til et "tekst" flet sletter den også record med dato 05-05-2002 :)
Avatar billede medions Nybegynder
14. april 2002 - 11:44 #4
Her er et eksempel...:

SQL = "INSERT INTO Kalender (ID, Dato, Titel)"
SQL = SQL & "SELECT " &ID &", #" & Dato & "#, '" & Titel & "'"

//>Rune
Avatar billede medions Nybegynder
14. april 2002 - 11:47 #5
Ellers har du oxo lidt at kigge på her..:

    SQL = "SELECT Format$([Dato],'dd-mm-yyyy') as VisDato FROM Dato"
    DatoRS = DatoDB.Execute(SQL)

til at få dato'en frem med....
//>Rune
Avatar billede jacand Nybegynder
14. april 2002 - 12:02 #6
Nu sletter den alle records hvor der står moget i slettes

<!-- #include file="DB.asp" -->
<%
Session.LCID = 1030
'Response.Buffer = True
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

slet = "#" & date() & "#"
strSQL = "DELETE FROM Annoncer where slettes <= " & slet & ""
Conn.Execute strSQL,lngRecords
'Conn.execute (SQL)
response.write slet & "<br>"
response.write lngRecords
Conn.close
Set Conn = nothing
%>

jeg opretter records med:
rs("slettes") = "#" & DateAdd("d", 14, date) & "#"
Avatar billede medions Nybegynder
14. april 2002 - 12:06 #7
<!-- #include file="DB.asp" -->
<%
Session.LCID = 1030
'Response.Buffer = True
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

slet = date()
strSQL = "DELETE FROM Annoncer where slettes <= #" & slet & "#"
Conn.Execute strSQL,lngRecords
'Conn.execute (SQL)
response.write slet & "<br>"
response.write lngRecords
Conn.close
Set Conn = nothing
%>

Prøv med denne..!

//>Rune
Avatar billede medions Nybegynder
14. april 2002 - 12:12 #8
Well, DateAdd("d", 14, date())  udskriver:    28-04-2002

Så prøv lige at skriv dette:

<!-- #include file="DB.asp" -->
<%
Session.LCID = 1030
'Response.Buffer = True
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

slet = date()
strSQL = "DELETE FROM Annoncer where slettes <= #28-04-2002#"
Conn.Execute strSQL,lngRecords
'Conn.execute (SQL)
response.write slet & "<br>"
response.write lngRecords
Conn.close
Set Conn = nothing
%>

//>Rune
Avatar billede jacand Nybegynder
14. april 2002 - 12:13 #9
Den sletter alle records der står #dato# i, hvis jeg skriver 28-04-2002 bliver den ikke slettet, men 05-05-2002 bliver slettet.
Det ser ud til at den kun tager det før den første - så alt under 14 bliver slettet selvom 05-05-2002 er en senere dato.
Avatar billede medions Nybegynder
14. april 2002 - 12:13 #10
Sorry.. det her...
- for nu skulle den gerne slette kun én record!
<!-- #include file="DB.asp" -->
<%
Session.LCID = 1030
'Response.Buffer = True
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

slet = date()
strSQL = "DELETE FROM Annoncer where slettes = #28-04-2002#"
Conn.Execute strSQL,lngRecords
'Conn.execute (SQL)
response.write slet & "<br>"
response.write lngRecords
Conn.close
Set Conn = nothing
%>

//>Rune
Avatar billede medions Nybegynder
14. april 2002 - 12:14 #11
Hmm.. lige en ting.. hvorfor bruger du denne DateAdd("d", 14, date()) ?

//>Rune
Avatar billede jacand Nybegynder
14. april 2002 - 12:22 #12
Nå nu virker det :)
Med følgende kode:
<!-- #include file="DB.asp" -->
<%
Session.LCID = 1030
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN
slet = date()
strSQL = "DELETE FROM Annoncer where slettes < #" & slet & "#"
Conn.execute (strSQL)
Conn.close
Set Conn = nothing
%>
record oprettes med:
rs("slettes") = DateAdd("d", 14, date())
og "datatype" skal stå til dato og tid, hvis den står til tekst sletter den bare alle records med noget i stettes :)
Avatar billede coltau Juniormester
14. april 2002 - 12:23 #13
Du skriver :
jeg opretter records med:
rs("slettes") = "#" & DateAdd("d", 14, date) & "#"

Det må du ikke. # skal ikke med - det skal de kun hvis du indsæter med SQL.
"insert into tabel (dato) values (#" & DateAdd("d", 14, date) & "#)"

Jeg har rettet din første kode til så det sletter alle records med dato før i dag.


<!-- #include file="DB.asp" -->
<%
function FDate(V) ' Formatér dato til Access-SQL-syntax MM-DD-YYYY
  FDate = Month(V) & "-" & Day(V) & "-" & year(V)
end function

Session.LCID = 1030
'Response.Buffer = True
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

slet = date()
strSQL = "DELETE FROM Annoncer where slettes <= #" & FDate(date) & "#"
Conn.Execute strSQL,lngRecords
'Conn.execute (SQL)
response.write slet & "<br>"
response.write lngRecords
Conn.close
Set Conn = nothing
%>

Ovenstående virker på en Access-database.
Avatar billede coltau Juniormester
14. april 2002 - 12:24 #14
Den kode du er kommet frem til virker ikke på en Access-database. Men det finder du nok ud af senere - så kan du jo oprette en nyt ? eller anvende den kode jeg har lavet. :-)
Avatar billede medions Nybegynder
14. april 2002 - 12:26 #15
Thx 4 Poinz
//>Rune
Avatar billede jacand Nybegynder
14. april 2002 - 12:52 #16
coltau> jeg bruge en access-database
Avatar billede coltau Juniormester
14. april 2002 - 13:00 #17
Din kode virker når du anvender en dato efter den 11 i måneden. Prøv at anvende en dato før den 12 i måneden så fejler den.
Avatar billede jacand Nybegynder
14. april 2002 - 13:06 #18
hmmm dam det havde jeg ikke lige set :)
svar på: http://www.eksperten.dk/spm/197931 også er der point til dig :)
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