webForumDet fria alternativet

dagen datum + 30 dagar

13 svar · 255 visningar · startad av mhedda

mheddaMedlem sedan feb. 2000385 inlägg
#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

Jesper TMedlem 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
mheddaMedlem sedan feb. 2000385 inlägg
#3

Man tackar Jesper T!
Jag genast koda.

MVH

mheddaMedlem 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 :-)

Jesper TMedlem 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
mheddaMedlem sedan feb. 2000385 inlägg
#6

hjärnsläpp

Tack Jesper T!
Jag skäms :r

MVH

Jesper TMedlem sedan nov. 20017 144 inlägg
#7

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

mheddaMedlem 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

mheddaMedlem 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

Jesper TMedlem 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.

Jesper TMedlem 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.

mheddaMedlem 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

Engine^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.

mheddaMedlem 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

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)