webForumDet fria alternativet

lägga till och sedan ändra datum

ASP

25 svar · 539 visningar · startad av Qimen

Medlem sedan juni 20015 009 inlägg
Frågan#1

Hej

Hur gör jag för att varje gång någon loggar in ska en sql sats köras där den kollar alla användare som har ett värde mer än 0 på betalt, om man har mer än noll ska den kolla om fältet tabetalt är ja om den är det ska den kolla datumbetalt, om datumbetalt är mer än ett dygn sedan den uppdaterades så ska den uppdatera fältet pixlar med värdet ifrån fältet betalt.

Alltså den ska kolla betala ut lön till alla pixlar som har en inkomst. Sen ska man bara få betalt en gång om dagen.

Lite krångligt men jag hoppas ni förstår. :)

re: den ska efter den har delat ut lön ska den ändra datumet till aktuellt så att man inte kan få lön förrän nästa dag.

Medlem sedan dec. 200012 464 inlägg
#2
sql = "update users set pixlar = pixlar + betalt, " & _
" datumbetatalt = date()  "
" where tabetalt = 'Ja' " & _
" and datediff('d',datumbetalt,date()) > 0 "
connect.execute sql,,128
Medlem sedan juni 20015 009 inlägg
#3

Kan man baka in också så att den uppdaterar datumet på tabetalt efter den uppdaterat ?

Medlem sedan juni 20015 009 inlägg
#4

ah det var ju med ;)

Medlem sedan juni 20015 009 inlägg
#5

Humm jag får programsats förväntas.
rad 65:

" where tabetalt = 'Ja' " & _

?

Medlem sedan juni 200032 967 inlägg
#6

Om du ser på raden ovanför, så har LarsG glömt av att slänga med & _ för att visa att strängen fortsätter på raden under, som han gjort på de andra raderna. Lägg till det.

Mvh

Medlem sedan dec. 200012 464 inlägg
#7

Flabbergasted.

Medlem sedan juni 20015 009 inlägg
#8

asch blir ju bara fel :/

Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/pxworld/check.asp, line 70

rad 70:

connect.execute sql,,128

Så den säger ju inget.
Vet inte om det spelar någon roll men jag använder access.
Jag kan heller inte skriva ut sql raden då man skickas vidare till en annan sida direkt.

Medlem sedan dec. 200012 464 inlägg
#9

Det felet beror på att det är något kolumnnamn/tabellnamn i frågan som inte stämmer.

T.ex. så nämde du aldrig vad tabellen heter så jag gissade där. Du får kontrollera alla namn ordentligt.

Medlem sedan juni 20015 009 inlägg
#10

ah blev lite fel i datumbetatalt
skulle ju vara datumbetalt

Medlem sedan juni 20015 009 inlägg
#11

Hur lägger jag till så att den sätter fältet tabetalt till Nej när den är klar?

Medlem sedan dec. 200012 464 inlägg
#12
sql = "update users set pixlar = pixlar + betalt, " & _
" datumbetalt = date() , " & _
"  tabetalt = 'Nej' " & _
" where tabetalt = 'Ja' " & _
" and datediff('d',datumbetalt,date()) > 0 "
connect.execute sql,,128
Medlem sedan juni 20015 009 inlägg
#13

Tack nu funkar det.
Har dock en lik fråga till.

Vill typ göra samma sak fast ta bort pixlar.

Alltså nu vill jag att den ska gå in och ta bort ett värde ifrån pixlar, och det värdet hämtas ifrån en annan databas med fältet hyra och ska bestämmas av vilket värde man har i den första db:n i fältet husnamn.

Alltså om jag har värdet höghus i fältet husnamn, så ska den kolla upp hur mycket hyran är på höghus i den andra dbn och sedan ta bort den hyran ifrån ens pixlar.

förstår ni?

Medlem sedan dec. 200012 464 inlägg
#14

När du säger DB menar du tabell då?

Hur är hyrestabellen definierad?

Du måste ha andra kolumner i users-tabellen (än de som används för inkomst) som visar att hyran är obetald och datum då den senast betalades. Vad heter dessa?

Medlem sedan juni 20015 009 inlägg
#15

Nej alltså jag har två databaser för att slippa stora filer.
Jag har en databas för användare med en tabellsom heter anvandare. Där har jag ett fält som heter husnamn. Där står det vad för hus man bor i, där finns även ett fält som heter shyra, det är datum när man senast betalde sin hyra.
Sedan har jag en annan databas som har info om de olika husen. Där finns en tabell som heter sak och där finns ett fält med de olika husnamne som heter sak, där finns även ett fält som heter hyra, där står hur mycket det huset kostar.

Så den ska kolla hur mycket hyra det huset har och sedan kolla när man senaste betalde, man ska betala varje dag så är man inte inne på ett par dagar ska den ändå ta betalt.

Medlem sedan dec. 200012 464 inlägg
#16
update anvandare inner join sak in 'sak.mdb'
on husnamn = sak
set pixlar = pixlar - (datediff('d',shyra,date())-1)*hyra,
shyra = date() 
where shyra < date()

Att ha olika databaser är bara att be om problem.
En join mellan olika databaser blir inte effektiv.

Vad skall hända om man inte har råd att betala hyran?

Medlem sedan juni 20015 009 inlägg
#17

Har man inte tillräckligt med pixlar så ska fältet husnamn ändras till Stadsparken, fältet yta ska ändras till 10 och fältet hus ska ändras till parken, sedan ska fältet iq minskas med ett.

Jag hade nog kunnat ändra till en databas, men då skulle jag få ändra rätt mycket. Sen blir det jobbigt om man har en databas på ett par hundra mb.

Medlem sedan juni 20015 009 inlägg
#18

Men måste man ha join med? kan man inte ha två databas kopplingar som man döper den ena till recset och den andra till rs kanske. Sedan när man ska hämta så väljer man bara om det ska vara ifrån db1 eller db2.
Skulle inte det funka?

Medlem sedan dec. 200012 464 inlägg
#19

Jo, men om du skall göra det för alla användare så blir det väldigt många frågor.

då behövs ett villkor till för att se om man har råd

update anvandare inner join sak in 'sak.mdb'
on husnamn = sak
set pixlar = pixlar - (datediff('d',shyra,date())-1)*hyra,
shyra = date() 
where shyra < date()
and pixlar > (datediff('d',shyra,date())-1)*hyra

För dom som inte har råd

update anvandare inner join sak in 'sak.mdb'
on husnamn = sak
set iq = iq - 1, yta = 10, husnamn = 'Stadsparken',
hus = 'Parken'
where shyra < date()
and pixlar < (datediff('d',shyra,date())-1)*hyra
Medlem sedan juni 20015 009 inlägg
#20

Ska jag bara lägga dessa kodsnuttar under varandra eller ska jag köra med ngn if sats också då?

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)