Tim said:
RWOP = Run With Owner Permissions.
Actually, that _was_ Tim's approach
I know it was, otherwise I wouldn't have backed your approach i.e. to
provide a global method to create an entity/ID rather than burying it
in a Form.
it's the one that uses Access tools
in the way they were intended.
A stored procedure is a RDBMS term and is only relevant if you are using
SQL Server or MySQL etc to host the data: in which case nearly everything
upthread of this is irrelevant because the security arrangements in the
database itself will be able to do everything you need without using
Access features at all.
Slow down, please: you covered a lot of ground in 1.5 sentences, there.
When you say 'security arrangements in the database itself' I assume
you mean 'Jet security features' and when you make a distinction about
'Access tools' or 'Access features', I assume you mean 'non-Jet
security features'.
I only really know Jet; I've hardly used MS Access at all. I can do the
following using Jet 4.0 (via the OLE DB provider) alone:
Connected as admin:
CREATE TABLE Pilots (
pilot_ID VARCHAR(10) NOT NULL PRIMARY KEY,
lname VARCHAR(35) NOT NULL,
fname VARCHAR(35) NOT NULL,
mname VARCHAR(35) DEFAULT '{{NA}}' NOT NULL,
CHECK (pilot_ID LIKE
'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)
;
INSERT INTO Pilots VALUES ('1234567890', 'Norarules', 'a', 'b')
;
REVOKE ALL PRIVILEGES ON TABLE Pilots FROM Developers
;
CREATE PROCEDURE GetPilot (
arg_pilot_id CHAR(10)
) AS
SELECT pilot_ID, lname, fname, mname
FROM Pilots
WHERE pilot_id = arg_pilot_id
WITH OWNERACCESS OPTION
;
Connected as developer:
SELECT * FROM Pilots; -- error
EXECUTE GetPilot '1234567890'; -- no error
The above seems to cover all security features we've mentioned/alluded
to in this thread. So what are the MS Access security features (non-Jet
security features) you are referring to?
And what exactly is your objection to the term 'stored procedure' in
relation to MS Access/Jet? I usually use the term PROCEDURE, in
capitals to reflect the Jet syntax but lowercase shouldn't cause you a
problem, and they are stored in the database, after all. What does an
MS Access user call them? What should a Jet user call them so that a MS
Access user knows what they are (I was using 'stored procedure' because
it is the generally accepted term)?
Thanks again,
Jamie.
--