webForumDet fria alternativet

dagen datum + 30 dagar

ASP

13 svar · 257 visningar · startad av mhedda

Medlem sedan feb. 2000385 inlägg
Frågan#1

Hejan!
Jag vill göra ett script som skall göra en viss sak där datumet i databasen är 30 dagar gammalt.
Det är så att en betalning skall ske, ett subscribe-script således.
Hur gör jag på bästa sätt?

MVH

Medlem sedan nov. 20017 144 inlägg
#2
If DateDiff("d", rs("datumfält"), Date()) < 30 Then
     'gör något
Else
     'gör något annat
End If
Medlem sedan feb. 2000385 inlägg
#3

Man tackar Jesper T!
Jag genast koda.

MVH

Medlem sedan feb. 2000385 inlägg
#4

Funkar bra men en liten sak det ska checkas varje dag så jag vill att den ska dra pengar på dom som har anmält sig exakt för 30 dagar sen. Nu så händer det tex 11/10 ,16/10 och 17/10.
Kanske är jag som är dum, jag får isåfall skylla på att jag är trött och febrig :-)

Medlem sedan nov. 20017 144 inlägg
#5
If DateDiff("d", rs("datumfält"), Date()) = 30 Then
     'gör något
Else
     'gör något annat
End If
Medlem sedan feb. 2000385 inlägg
#6

hjärnsläpp

Tack Jesper T!
Jag skäms :r

MVH

Medlem sedan nov. 20017 144 inlägg
#7

Jag skäms i 9 inlägg av 10 så det är OK. ;)

Medlem sedan feb. 2000385 inlägg
#8

Hej!
Och tack Jesper T nu vågar jag fråga igen.
Nu har jag gjort så här

SQL_Transact = "SELECT * FROM tbl_transaction WHERE "&DateDiff("d", subscribe_date, date())&" = 30 "

och den vill inte visa något alls förutom om jag skriver > 30 då den visar alla.
vad kan detta vara??
Kan det ha något med datumformatet att göra?
Lägger in datumet med getdate
Jag har dessa datum i databasen,
-----------------------------
2003-10-20 15:58:48
2003-10-19 14:20:34
2003-10-18 14:23:13
2003-10-17 15:58:48
2003-11-17 15:01:23
-----------------------------
MVH

Medlem sedan feb. 2000385 inlägg
#9

Det är lugnt jag kör på

SQL_Transact = "SELECT * FROM tbl_transaction"
Set rs = dbo.Execute(SQL_Transact)
While Not rs.EOF

    if DateDiff("d", rs("subscribe_date"), date())=30 THEN
    End if
	
rs.MoveNext
Wend

Tackar för svaren Jesper T.

MVH

Medlem sedan nov. 20017 144 inlägg
#10

Testa detta då:

 SQL_Transact = "SELECT * FROM tbl_transaction WHERE DateDiff("d", subscribe_date, date()) = 30 "

Jag har för mig att man skall kunna skriva in det direkt i sql-frågan.

Medlem sedan nov. 20017 144 inlägg
#11

Så här då: DateDiff(day,subscribe_date,getdate())=30
Det är ju snyggare om du kan lägga in det direkt i sql-satsen.

Medlem sedan feb. 2000385 inlägg
#12

Detta error blir det då
-----------------------------------------------------------------------------------
Wrong number of arguments or invalid property assignment: 'day'
-----------------------------------------------------------------------------------
vad är day går det inte bara med d,y.m osv..

MVH

Medlem sedan dec. 20003 887 inlägg
#13

red.
Jag skulle inte rekommendera att använda ett sånt villkor, eftersom det inte är praktiskt då hälften av månaderna endast har 30 dagar.

DateDiff("d", subscribe_date, Date()) = 30

Fungerar bättre.

Medlem sedan feb. 2000385 inlägg
#14

Det blir detta error jag får det även när jag försöker lägga det i en variabel
datum=getdate()
men när jag lägger in det i en databas på en annan sida

INSERT INTO tbl_transaction(datum)VALUES(getdate())

så går det bra
vad sjutton är detta?

ERROR
-------------------------------------------------------------------
Type mismatch: 'getdate'
-------------------------------------------------------------------

MVH

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)