Here's some examples of building a string dynamically:
http://support.microsoft.com/kb/314520
You could insert into a table variable first, and then pull your values from there.
DECLARE @t TABLE (DataID int, RecordType varchar(50))
INSERT INTO @t
exec sp_executeSQL N'your OPENROWSERT query'
SELECT TOP 1 @DataID = DataID, @RecordType = RecordType
FROM @t