I'm glad you got the printing solved :-)
For the authentication, it depends on the level of security you want. A very simple method (but one that would protect you only from honest people) would me as follows:
1. Create a table of moderators with four fields:
ModID (autonumber - primary key)
ModName (text)
ModUser (text, no duplicates)
ModPwd (text)
For ModPwd, set the InputMask property to Password. Populate this with the names of the moderators, their unique usernames, and passwords.
2. Create an unbound form (no record source) with two textboxes.(txtUser and txtPwd) and two command buttons (cmdOK and cmdCancel). Set the Input mask of txtPwd to Password, and the captions of the command buttons to OK and Cancel.
3. Paste the code in the snippet below into the form's module.
4. Set the form's Modal and Popup properties to Yes.
5. Save the form and name it frmLogin
6. Create a module and add this procedure:
Public Function CurrentModerator() as Long
On Error Resume Next
CurrentModerator = Forms!frmLogin.CurrentModerator
End Function
7. Go to Tools > Startup and set frmLogin as the startup form.
--
Graham