///////////////////////////////////////////////////////////////////////////////////
// db_query - this does global error handling... all subsiquent chould use this...
///////////////////////////////////////////////////////////////////////////////////
//
function db_query ($query, $error_message) {
  $result = odbc_exec($this->ms_access, $query);
  if (odbc_error($this->ms_access))
      die(odbc_errormsg($this->ms_access)."<br />".$query."<br />".$error_message);
  else
      return $result;
}
$sql = 'SELECT DateOfCal AS NextCal FROM TblCalibItems;';
$rs = db_query($sql, $err_msg);
while ($row = odbc_fetch_array($rs)) {
  $dt = new DateTime($row['NextCal']);
  $dt = $dt->add(new DateInterval('P3M');
  echo($dt->format('Y-m-d');
}