As Dave said above, your original code is a Stored Procedure, which Access doesn't support. So you'll need to write either a single query that returns all your data in one go (no temporary variables, no temporary tables), or write multiple queries and call one from another.
You also need to be aware of differences in functions; so SQL Server uses GetDate(), whereas Access uses NOW(). Rather than testing the year/month/day elements separately, I'd suggest it's more readable (and more efficient and less error prone) to just test the date part of the fields, so your date tests become AND
DATEVALUE(OM.OrderTime) = DATEVALUE(NOW())
The Access ISNULL function simply returns a True/False value, so you need to combine this with an inline IIF statement. One downside of this is that any functions called within the ISNULL function have to be repeated if the result is not null, so there's a potentially significant performance hit. But hey, you're using Access, so performance clearly isn't a worry for you.
To get the two column result you're after, and separating out the lunch and breakfast components (i.e. some rows contribute to one column, other rows to another) you'll need to use a CASE statement, testing on the meal type. Access doesn't support SQL Server's CASE statement, but it does have a SWITCH which we can use in a similar way.
Putting this together, we get something like:
SELECT IIF(ISNULL(SUM(SWITCH(OM.MealType=1,OM.ItemQuantity,OM.MealType=2,0))),0,SUM(SWITCH(OM.MealType=1,OM.ItemQuantity,OM.MealType=2,0))) AS Breakfast,
IIF(ISNULL(SUM(SWITCH(OM.MealType=2,OM.ItemQuantity,OM.MealType=1,0))),0,SUM(SWITCH(OM.MealType=2,OM.ItemQuantity,OM.MealType=1,0))) AS Lunch
FROM VW_EmpOrderMaster OM
WHERE (OM.MealType=1 OR OM.MealType=2)
AND DATEVALUE(OM.OrderTime)=DATEVALUE(NOW());
This separates out the breakfast and lunch values; filters by date for TODAY only (I guess you will want to parameterise that, so replace the NOW() function with your appropriate query parameter); gives a zero value if there are no lunch/breakfasts found - and does it all in a single query of the table.
Your original request also adds in the number of visitors. Firstly, I'd query if that's really what you mean to do - it feels rather like adding apples and pears to give a number of oranges.
Assuming that's what you want, though, the approach I would probably take is to write a very similar query but against the visitors table; then write a third query that combines the results from the two. That will improve testability and avoid complicating the query still further, so you still have a hope of understanding what's going on! (It took me a while to match the brackets up correctly in the above, without making it all an order of magnitude more complex...) The above is all tested against sample data, btw.
Hopefully you can take it from here.