Background reading: 
SJ-7-4  dm0033  . . . . . . Speaking Stata: Counting groups, especially panels
        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
        Q4/07   SJ 7(4):571--581                                 (no commands)
        discusses how to count panels through reduction commands
        or through tabulation commands and how to overcome
        problems that do not yield easily to these approaches
SJ-7-1  pr0029  . . . . . . . . . . . . . . .  Speaking Stata: Making it count
        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
        Q1/07   SJ 7(1):117--130                                 (no commands)
        discusses count used with a loop over observations
        or variables
Nick 
[email protected] 
Martin Weiss
Try this very carefully to see whether it does what you want:
*************
clear*
inp byte personid str20(dateposted datefunded)
1 "2009-04-04 3:20:08"  "2009-04-04 10:00:14"
2 "2009-04-04 5:20:08"  "2009-04-04 11:02:14"
3 "2009-05-04 2:20:08"  "2009-05-04 11:02:14"
4 "2009-05-04 2:20:02"  "2009-05-04 11:02:17"
5 "2009-05-04 2:12:02"  "2009-05-04 11:04:17"
end
compress
                        
gen double timeposted= clock(dateposted, "YMDhms")
gen double timefunded= clock(datefunded, "YMDhms")
format timeposted timefunded /* 
*/  %tcMon_DD,_CCYY_HH:MM:SS
drop date*
//maximum possible
sort timeposted
gen count=_n-1
//check second condition
//conditional on first being met
forv i =1/`=_N'{
	qui cou if timefunded<timeposted[`i'] in 1/`i'
	replace count=count-`r(N)' in `i'
}
li, noo
*************
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von LY Pierrem
Gesendet: Mittwoch, 16. Dezember 2009 09:16
An: [email protected]
Betreff: st: count with a loop
Dear Stata list,
I have a data set that looks like this
personid             dateposted                    datefunded
    1             2009-04-04  3:20:08            2009-04-04  10:00:14
    2                                 
                          
I am trying to create a new variable, which for each person n, would
count the number of people such that 1. they were posted before person
n AND 2. were funded after person n was posted. In other words, this would
count the number of people active (i.e. posted but not yet funded) on the
database at the time each person n is posted.
It seems that a simple egen and conditional count are not good enough for
the purpose.
Is a loop necessary for this? I have an idea that a loop is needed here
(maybe using forval?) but any help would be greatly appreciated! 
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/