A simple append query looks like the following:
Code:
INSERT INTO T_ProjectEmployees ( fkProjID, fkEmpID )
VALUES (2,3)
This will insert a new record into the T_ProjectEmployees table and will set the fkProjID value to 2 and the fkEmpID value to 3 for that new record.
To have a person assign themselves to a project, you will need the primary key value that refers to their record in your database as well as the primary key value of the project. Since you would execute this query from a form based on the project table you would include the primary key in a control on the form and reference that in the VALUES() portion of the append query. Similarly, when you have the person login, you can have their corresponding primary key held in a control on the login form. When the person logs in, hide the form, don't close it. As long as the login form is open you can reference any control on that form.
With that, the append query would look something like this:
Code:
INSERT INTO T_ProjectEmployees ( fkProjID, fkEmpID )
VALUES (forms![Projects Sign Up]!NameOfControlThatHoldsTheProjectsPrimaryKeyValue,forms!frm_Login!NameOfControlThatHoldsTheEmployeePrimaryKeyValue)
In terms of preventing editing of data in the form, you can change the properties of the form (Allow Edits property) or controls (Locked property) on the form with code. For example, if you only want to give the person who created the project record the authority to change it, you would have to compare the ID of the person who created the record to that of the person who is logged in and then lock or unlock the controls as applicable. You would of course leave the button that executes the query unlocked at all times.