If you use regular expressions as suggested by one of the other answers, you have to be careful to avoid checking text outside of quotes for uppercase letters. If you use just a single regular expression, you probably end up with the wrong result for
This is a "text" with some UPPERCASE letters outside the "quoted text"
You probably need to iterate through all the quoted text parts and check every one of them for an uppercase letter. For example:
(defun check-for-uppercase-in-quotes ()
"Return t if quoted text containing uppercase letters is found"
(save-excursion
(goto-char (point-min))
(let ((case-fold-search nil) (uppercasefound nil))
(while (and (not uppercasefound) (re-search-forward "\"\\([\0-\377[:nonascii:]]*?\\)\"" nil t nil))
(setq uppercasefound (string-match ".*[[:upper:]].*" (match-string 1))))
uppercasefound)))
Edit: Modified the regular expression so that quoted text with multiple lines is correctly recognized.