Gustav Brock
gustav at cactus.dk
Sat Dec 13 06:13:36 CST 2003
Hi Susan, Brett et all It's interesting that a few messages from this list gives useful and much better view on the subject than the lot of wild shooting opinions and raves on Slashdot. I browsed some of them briefly only to wonder why so many people are wasting their time reading - not to say writing - messages to that forum. Reminds me of the days of FidoNet ... /gustav > If the person being trained is going to be so involved with the data that > they need to write SQL statements, then Access probably isn't the best tool. > There's SQL and then there's Jet SQL, Transact-SQL, Oracle SQL, and on and > on. You wouldn't use Oracle to teach someone Transact-SQL, so why use > Access? > On the other hand, an .adp file uses Transact-SQL against SQL Server tables. > In addition, the objects are very similar to those in SQL Servers -- views, > stored procedures, etc. are all used in SQL Server, but not the traditional > mdb file. So, using an .adp file would work very well in a training > environment, I would think. > Susan H. >> IMHO, the Access query designer is a rotten way to teach someone how to >> write SQL code. I have developed Access apps for 8 years now, and I still >> cannot get more than 2 tables to join without using the QBE grid. For >> example (using the Northwind database), if I wanted to join the Orders >> table >> to the Order Details and Employees tables in Transact SQL, it would look >> like: >> >> --- >> SELECT Orders.* >> FROM Orders >> INNER JOIN [Order Details] >> ON [Order Details].[Order ID] = Orders.[Order ID] >> INNER JOIN Employees >> ON Employees.[Employee ID] = Orders.[Employee ID] >> --- >> >> Simple, intuitive, easy to learn. In fact, I wrote that snippet just now >> in >> this email because it is so simple to do. >> >> Access, however, looks like (taken directly from the QBE grid contents): >> --- >> SELECT Orders.* >> FROM Employees >> INNER JOIN (Orders >> INNER JOIN [Order Details] >> ON Orders.[Order ID] = [Order Details].[Order ID]) >> ON Employees.[Employee ID] = Orders.[Employee ID]; >> --- >> >> How the h*ll are you supposed to teach the rules of this join syntax to >> someone just learning SQL? You could spend weeks just teaching them the >> various Jet engine rules for bracket placement! >> >> When I took SQL Server in college, we didn't have any visual design tools >> to >> use, just the query analyzer. Students completely new to SQL in general >> were writing complex queries after the first day! >> >> OTOH, the Access QBE grid is far more useful than the one in Enterprise >> Manager, which is a good thing since I need to use it for virtually all of >> my Access queries. Whereas I tend to manually type 90% of my SQL Server >> queries in the query analyzer.