Subject: | Re: Help with my code please example below
| Date: | 13 Oct 2021 22:08:09 -0400
| From: | "Kevin Zawicki" <numberjack@wi.rr.com>
| Newsgroups: | pnews.paradox-programming
|
small rough example
paste into script for better reading
;// there are many variations on this, Paradox has a robust set of date handlers
for its age
method run(var eventInfo Event)
var
sDate date
eDate date
qDate string
endvar
sDate = today()
for cnt from 1 to 5 ;// this loops 5 times, but you can set this to loop
until no data or whatever needed or while dStart < today()
;// I avoid while loops or make them have a infinite lopo exit but while
will work
eDate = sDate + 14 ;// set end date two weeks out
qDate = ">=" + sDate.string() + ",<=" + eDate.String()
;// greater than or equal - or change dates to plus minus one and do not
use equal
qDate.view()
;// do queries
;//do add to collect table
sDate = eDate + 1 ;// set start date to next day after last end date
endfor
endMethod
"Tony" <tracy.fairbrother@btopenworld.com> wrote:
>
>
>Can someone help me with the code below please. I want to put a start date
>in and move the code date forward to capture the next set of data. Example
> So start 01/07/2019 until 15/07/2019. Do the analysis add to the stats2
>table then move on 16/07/2019 until 31/07/2019 do the same add results to
>stas2 table. I want this to carry on until the end of my data which is 12/10/2021.
>Not sure what im doing wrong .
>
>
>
>proc StartDate(d date) date
>; proc returns start date for given date
>; if date is before 16th, start date is begining of month
> if day(d) < 16 then
> return( date(month(d),1,year(d)) )
> else
> return( date(month(d),16,year(d)) )
> endIf
>endProc
>
>proc EndDate(d date) date
>; proc returns end date for given date
>; if date is before 16th, end date is 15,
>; if date if 16th or later, end date is end of month
> if day(d) < 16 then
> return( date(month(d),15,year(d)) )
> else
> return( date(month(d),daysInMonth(d),year(d)) )
> endIf
>endProc
>
>
>method run(var eventInfo Event)
>var qb query
> TC TCursor
> dStart, dEnd Date
> mStart, mEnd Date
> sDate String
> mDate String
> tab table
>
>
> endVar
>
>
> dStart = date(7,01,2018)
> mStart = date(7,16,2018)
> ; and now start looping
> while dStart < today()
> dStart = StartDate(dStart)
> dEnd = EndDate(dStart)
> mStart = StartDate(mStart)
> mEnd = EndDate(mStart)
> ; create a condition for date ex: ">=1.1.2018 , <=15.1.2018"
> sDate = ">=01/07/2018,<="+string(dEnd)
> ; and now do something with this string
> ; put here your querys and do smething with them
>
> mDate = ">="+string(mStart) + ", <="+string(mEnd)
>
>
>
> qb= Query
>ANSWER: :PRIV:ANSWER.DB
>
>OPTIONS: NO AUXILIARY TABLES
>Stats1.DB | Race name |
>Delete | not blank |
>
>EndQuery
>
> qb.executeQBE()
> qb= Query
>ANSWER: :WORK:Stats1.DB
>
>Stats1.DB | Race name | Racetime | Race No | Date | Grade | Distance
|
>
> | Check | Check | Check | Check | Check | Check
|
>
>
>Stats1.DB | Race type | TfGoing | Going | Pos | Btn | Trap | Name
> |
> | Check | Check | Check | Check | Check | Check | Check
> |
>
>Stats1.DB | Age | Sex | Bend.1 | Bend.2 | Bend.3 | Bend.4 | Comments
>|
> | Check | Check | Check | Check | Check | Check | Check
> |
>
>Stats1.DB | ISP | TFR | Official time | Break time | Trainer | Betfair
>|
> | Check | Check | Check | Check | Check | Check
> |
>
>Stats1.DB | Race name_1 | Racetime_1 | Race No_1 | Date_1 | Grade_1 |
> | Check | Check | Check | Check | Check |
>
>Stats1.DB | Distance_1 | Race type_1 | TfGoing_1 | Going_1 | Pos_1 | Btn_1
> |
> | Check | Check | Check | Check | Check | Check
> |
>
>Stats1.DB | Trap_1 | Name_1 | Age_1 | Sex_1 | Bend.1_1 | Bend.2_1 |
> | Check | Check | Check | Check | Check | Check |
>
>Stats1.DB | Bend.3_1 | Bend.4_1 | Comments_1 | ISP_1 | TFR_1 |
> | Check | Check | Check | Check | Check |
>
>Stats1.DB | Official time_1 | Break time_1 | Trainer_1 | Betfair_1 | RaceN
> |
> | Check | Check | Check | Check | Check
> |
>
>EndQuery
>
> qb.executeQBE()
>
> qb=Query
>ANSWER: :WORK:Races.DB
>
>DogsDB.DB | Race name | Racetime | Race No | Date
> | Grade |
> | Check _join3, Crayford | Check | Check | Check _a,~mDate |
Check
> |
> | Check _join3 | Check | Check | Check <_a |
Check
> |
>
>DogsDB.DB | Distance | Race type | TfGoing | Going | Pos | Btn
> |
> | Check _join2 | Check | Check | Check | Check | Check
> |
> | Check _join2 | Check | Check | Check | Check | Check
> |
>
>DogsDB.DB | Trap | Name | Age | Sex | Bend.1 | Bend.2 |
> | Check | Check _join1 | Check | Check | Check | Check |
> | Check | Check _join1 | Check | Check | Check | Check |
>
>DogsDB.DB | Bend.3 | Bend.4 | Comments | ISP | TFR | Official time
>|
> | Check | Check | Check | Check | Check | Check |
> | Check | Check | Check | Check | Check | Check |
>
>DogsDB.DB | Break time | Trainer | Betfair |
> | Check | Check | Check |
> | Check _b,calc _b*0 as RaceN | Check | Check |
>
>EndQuery
>
> qb.executeQBE()
> play("RaceNo.ssl")
>
> qb=Query
>ANSWER: :WORK:ANSWER.DB
>
>Races.DB | Race name | Racetime | Race No | Date | Grade | Distance |
>
> | Check | Check | Check | Check | Check | Check |
>
>
>Races.DB | Race type | TfGoing | Going | Pos | Btn | Trap | Name
> |
> | Check | Check | Check | Check | Check | Check | Check
> |
>
>Races.DB | Age | Sex | Bend.1 | Bend.2 | Bend.3 | Bend.4 | Comments
>|
> | Check | Check | Check | Check | Check | Check | Check
> |
>
>Races.DB | ISP | TFR | Official time | Break time | Trainer | Betfair
>|
> | Check | Check | Check | Check | Check | Check |
>
>Races.DB | Race name_1 | Racetime_1 | Race No_1 | Date_1 | Grade_1 |
> | Check | Check | Check | Check | Check |
>
>Races.DB | Distance_1 | Race type_1 | TfGoing_1 | Going_1 | Pos_1 | Btn_1
> |
> | Check | Check | Check | Check | Check | Check
> |
>
>Races.DB | Trap_1 | Name_1 | Age_1 | Sex_1 | Bend.1_1 | Bend.2_1 | Bend.3_1
>|
> | Check | Check | Check | Check | Check | Check | Check
|
>
>
>Races.DB | Bend.4_1 | Comments_1 | ISP_1 | TFR_1 | Official time_1 |
> | Check | Check | Check | Check | Check |
>
>Races.DB | Break time_1 | Trainer_1 | Betfair_1 | RaceN |
> | Check | Check | Check | Check >0,<=8 |
>
>EndQuery
>
> qb.executeQBE()
>
>
> tab.attach("answer")
>tab.add("Stats1",True,False)
>
> qb=Query
>ANSWER: :WORK:NNett.DB
>
>Stats1.DB | Race name | Racetime | Race No | Date | Grade | Distance
> |
> | Check | Check | Check | Check | Check A.. | Check 380 |
>
>Stats1.DB | Race type | Pos | Trap | Name | Age | Sex | ISP
> |
> | Check | Check | Check | Check | Check | Check | Check |
>
>Stats1.DB | Betfair |
> | Check |
>
>Stats1.DB | TFR_1
>
> |
> | _a,calc _a*0 as RT2,calc _a*0 as RT2P,calc _a*0 as RT2C,calc _a*0
as
>RT4,calc _a*0 as RT4P,calc _a*0 as RT4C,calc _a*0 as RT6,calc _a*0 as RT6P,calc
>_a*0 as RT6C |
>
>Stats1.DB |
> |
>
>Stats1.DB | RaceN
> |
> | calc _a*0 as BT6,calc _a*0 as RT6P,calc _a*0 as RT6Avg,calc _a*0 as
>Tracp P,calc _a*0 as BT,calc _a*0 as Nocr |
>
>EndQuery
>
>
> qb.executeQBE()
>
>
>
> qb=Query
>ANSWER: :WORK:Adjtimes.DB
>
>Stats1.DB | Race name | Racetime | Race No | Date | Grade | Distance
|
>
> | Check | Check | Check | Check | Check | Check |
>
>Stats1.DB | Race type | TfGoing | Going | Pos | Btn | Trap | Name
> |
> | Check | Check | Check | Check | Check | Check | Check |
>
>
>Stats1.DB | Age | Sex | Bend.1 | Bend.2 | Bend.3 | Bend.4 | Comments
>|
> | Check | Check | Check | Check | Check | Check | Check |
>
>Stats1.DB | ISP | TFR | Official time | Break time | Trainer | Betfair
>|
> | Check | Check | Check | Check | Check | Check |
>
>
>Stats1.DB | Race name_1 | Racetime_1 | Race No_1 | Date_1 |
> | Check _join1 | Check _join2 | Check _join7 | Check _join4 |
>
>Stats1.DB | Grade_1 | Distance_1 | Race type_1 | TfGoing_1 | Going_1
>|
> | Check _join6 | Check _join5 | Check | Check | Check |
>
>Stats1.DB | Pos_1 | Btn_1 | Trap_1 | Name_1 | Age_1 | Sex_1 | Bend.1_1
>|
> | Check | Check | Check | Check | Check | Check | Check |
>
>Stats1.DB | Bend.2_1 | Bend.3_1 | Bend.4_1 | Comments_1 | ISP_1 | TFR_1
> |
> | Check | Check | Check | Check | Check | Check |
>
>Stats1.DB | Official time_1 | Break time_1 | Trainer_1 | Betfair_1 | RaceN
> |
> | Check | Check | Check | Check | Check |
>
>goingAllow.DB | Race name | Racetime | Race No | Date | Grade | Distance
>|
> | _join1 | _join2 | _join7 | _join4 | _join6 | _join5 |
>
>goingAllow.DB | GA |
> | Check |
>
>EndQuery
>
>
> qb.executeQBE()
>
>
>
>
> qb= Query
>ANSWER: :WORK:Adjtimes.DB
>
>
>Adjtimes.DB | Race name | Racetime | Race No | Date | Grade | Distance
>|
> | Check | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | Race type | TfGoing | Going | Pos | Btn | Trap |
> | Check | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | Name | Age | Sex | Bend.1 | Bend.2 | Bend.3 | Bend.4
>|
> | Check | Check | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | Comments | ISP | TFR | Official time | Break time |
> | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | Trainer | Betfair | Race name_1 | Racetime_1 | Race No_1 |
>
> | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | Date_1 | Grade_1 | Distance_1 | Race type_1 | TfGoing_1 |
> | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | Going_1 | Pos_1 | Btn_1 | Trap_1 | Name_1 | Age_1 | Sex_1
> |
> | Check | Check | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | Bend.1_1 | Bend.2_1 | Bend.3_1 | Bend.4_1 | Comments_1 | ISP_1
> |
> | Check | Check | Check | Check | Check | Check |
>
>Adjtimes.DB | TFR_1 | Official time_1 | Break time_1 | Trainer_1 | Betfair_1
>|
> | Check | Check _a | Check | Check | Check |
>
>Adjtimes.DB | RaceN | GA |
> | Check >0 | Check _b,calc _a-_b as GAA |
>
>EndQuery
>
>
> qb.executeQBE()
>
> qb=Query
>ANSWER: :PRIV:ANSWER.DB
>
>OPTIONS: NO AUXILIARY TABLES
>Adjtimes.DB | Distance_1 | Official time_1 | GA | GAA |
> | | _c | _b | changeto _c+_b |
>
>EndQuery
>
> qb.executeQBE()
>
> qb=Query
>ANSWER: :WORK:NNett.DB
>
>DogsDB.DB | Race name | Racetime | Race No | Date | Grade
> | Distance |
> | Check Crayford | Check | Check | Check ~sDate | Check |
Check
>380 |
>
>DogsDB.DB | Race type | Pos | Trap | Name | Age | Sex |
> | Check | Check | Check | Check | Check | Check |
>
>DogsDB.DB | TFR
>
> |
> | _a,calc _a*0 as RT2,calc _a*0 as RT2P,calc _a*0 as RT2C,calc _a*0
as
>RT4,calc _a*0 as RT4P,calc _a*0 as RT4C,calc _a*0 as RT6,calc _a*0 as RT6P,calc
>_a*0 as RT6C |
>
>DogsDB.DB |
> |
>
>DogsDB.DB | Betfair
> |
> | Check calc _a*0 as BT6,calc _a*0 as RT6P,calc _a*0 as RT6Avg,calc
_a*0
>as Tracp P,calc _a*0 as BT,calc _a*0 as Nocr |
>
>EndQuery
>
> qb.executeQBE()
>
>
>
> qb= Query
>ANSWER: :PRIV:ANSWER.DB
>
>NNett.DB | Pos |
> | not 1,changeto 0 |
>
>EndQuery
>
>
> qb.executeQBE()
>
>
>
> play("Lto2T.ssl")
>
> play("Lto4.ssl")
>
> play("Lto6.ssl")
>
> play("BT8.ssl")
> play("Fitness.ssl")
>
> qb=Query
>ANSWER: :PRIV:ANSWER.DB
>
>OPTIONS: NO AUXILIARY TABLES
>NNett.DB | Race name | Racetime | Race No | Date | Name | Betfair
> |
> | _join1 | _join2 | _join3 | _join4 | _join5 | changeto _a |
>
>BetfairSp.DB | Race name | Racetime | Race No | Date | Name | Betfair
>|
> | _join1 | _join2 | _join3 | _join4 | _join5 | _a |
>
>EndQuery
>
> qb.executeQBE()
>
> qb=Query
>ANSWER: :WORK:ANSWER.DB
>
>NNett.DB | Race name | Racetime | Race No | Date | Grade | Distance |
>
> | Check | Check | Check | Check | Check | Check |
>
>
>NNett.DB | Race type | Pos | Trap | Name | Age | Sex | Betfair
>|
> | Check | Check | Check | Check | Check | Check | Check
> |
>
>NNett.DB | RT2 | RT2P | RT2C | RT4 | RT4P | RT4C | RT6
|
>
> | Check | Check | Check | Check | Check | Check | Check
|
>
>
>NNett.DB | RT6P | RT6C | BT6 | RT6P_1 | RT6Avg | Tracp P | BT
>|
> | Check | Check | Check | Check | Check | Check | Check
>|
>
>NNett.DB | Nocr |
> | Check |
>
>EndQuery
>
> qb.executeQBE()
> tab.attach("answer")
>tab.add("Stats2",True,False)
>
>
>
>
>
> ; and at the end prepare data for next iteration
> dStart = dEnd+1
> mStart = mEnd+1
>
> endWhile
>
>
|