Stuart McLachlan
stuart at lexacorp.com.pg
Tue Apr 22 07:38:57 CDT 2003
On 22 Apr 2003 at 13:07, Pedro Janssen wrote:
> Hello Group,
>
> i have two tables
> Tablea has 1 field with dates (1 date per year)
> and TableB has 1 date field (1 record per date from all dates between
> 1950 and 2002) and 10 number fields.
>
> What i need is from all the dates that are present in TableA, all the
> records from TableB for 10 days back.
>
Here's one way -
Assume TableA contains a Date field called AnnualDate
Assume TableB contains a Date Field called EDate and a bunch of
Number fields.
1. Create a temporary table (tblTemp) containing just one Date field
(AnnualDate)
2. Create a function to populate tblTemp with the desired dates:
Function MakeDates()
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
DoCmd.RunSQL "Delete * from tblTemp"
Set rs = CurrentDb.openrecordset("TableA")
Set rs2 = CurrentDb.openrecordset("tblTemp")
While Not rs.EOF
For loopcount = 0 To 9
rs2.AddNew
rs2!AnnualDate = rs!AnnualDate - loopcount
rs2.Update
Next
rs.MoveNext
Wend
End Function
Call this function then:
2. Use a query:
SELECT TableB.*
FROM tblTemp INNER JOIN TableB ON tblTemp.AnnualDate = TableB.EDate;
--
Lexacorp Ltd
http://www.lexacorp.com.pg
Information Technology Consultancy, Software Development,System Support.