You will need two queries
First query a Group By to count the number of times the IP address is recorded for the month.
Something like this
SELECT tbl_test_data.period, tbl_test_data.isp_add, Count(tbl_test_data.site) AS isp_count
FROM tbl_test_data
GROUP BY tbl_test_data.period, tbl_test_data.isp_add
HAVING (((Count(tbl_test_data.site))>2));
period is your date e.g. 12/09 do not use Date as a field name as it is a reserved word.
isp_add is your ipaddress e.g. 34.3.3.3
isp_count is the count for the number of times that your ipaddress occurs during the month.
The Having clause will only show where the number of times is > 2
Second Query - To append the site names we now need to join the first query to your table with the following
INSERT INTO tbl_sites ( period, isp_add, site )
SELECT tbl_test_data.period, tbl_test_data.isp_add, tbl_test_data.site
FROM tbl_test_data INNER JOIN qry_totals ON (tbl_test_data.isp_add = qry_totals.isp_add) AND (tbl_test_data.period = qry_totals.period);
I have attached a sample database for you. note, I have period as text you will need to change it to the correct format.