filemaker pro 7 email entry form for trade shows data collection - filemaker

I have Filemaker pro 7 (yes a million years old)
I need help to make a very simple email data collection form for trade shows I attend. Lots of people need this kind of form.
I have done it! It has a space to type your email and then if you CLICK the onscreen “Submit” button it opens up a new record so the next person can enter their email. Simple and sweet.
Yet, what I really want to do is make it that when they hit the keyboard “ENTER” key it opens a new record. So the customer doesn’t have to use the mouse. Why? Because everyone hits the keyboard Enter key automatically. That is what is intuitive. This would make me very very happy!
To really make me ecstatic I would love it if they could type their email once, hit enter and then go to ANOTHER fill-in box on the same page where they would type their email again - to make sure that they spelled it correctly. If the two boxes didn’t match, the program would ask them to try again. If the two entries matched, then when they hit the keyboard Enter key it would open a new record (like above).
Can anyone help me do this?

That could be difficult in FileMaker 7. If you consider upgrading to version 11 or 12 it would be much easier. In the later versions you have a feature called ScriptTriggers that would be very useful for your solution.
The only real way I can think of is if you write a script with a Custom Dialog that shows two fields, one for the email and the other for re-typing the email. You then put this dialog in a loop so it keeps asking for a new email until you click "cancel"
You will need two global textfields for this, globalText1 and globalText2
The script could look something like this.
[Set Field globalText1; ""]
[Set Field globalText1; ""]
[Loop]
[Show Custom Dialog; "Enter new Email"; globalText1; globalText2]
[If get(lastMessageChoice) = 2]
[Exit loop if: True]
[Else if globalText1 <> globalText2]
[Show custom dialog; "You must type the same E-mail in both fields"]
[Else]
[Create new Record]
[Set field "Emailadress"; globalText1]
[Commit record; Do not display dialog]
[Set Field globalText1; ""]
[Set Field globalText1; ""]
[End if]
[End Loop]
Note that the dialog with the two input fields needs two buttons. Button 1 is "OK" and button 2 is "Cancel". The second dialog is only a warning and needs 1 button that is "OK" and no inputfields.
Hope this helps

You can do as Kalle recommended but you won't need to use the Dialog Box.
Put the two fields on a layout and go to that layout before entering the loop.
Replace the Dialog Box with a Pause script step. Set the fields.
Set the fields to tab out when the user presses Enter or Return.
You may find that using a layout is more desirable if and when you move to FMP12.

Related

How to create "Go To Next" record button in Access Form that references an alternate form

In my Access dB, I have a Form ("frmSearch") with a Subform ("subFrmData") that references a query ("qryDynamicData").
The Main Form has 6 drop downs that filter the data table in the Subform. The combo boxes are cascading so that once you select one, the entries that appear in the remaining combo boxes are only those entries in the query that correlate to the first selection. The goal is to keep making the data in the Subform data table shorter and shorter. Here are the fields in the combo boxes:
Region
Account Executive
Manager
Engineer
Stage
Project Number ("ProjectSLCT")
When the user filters down to where the list of projects they are looking at is small enough, they use the final combo box ("Project Number") to select an entry from the table. Doing this brings up another form ("MPC_ProjectNotes") as a pop-up form where they can keep track of project specifics. The event looks like this:
DoCmd.OpenForm "MPC_ProjectNotes", , , "Project_Number= '" & Me.ProjectSLCT.Value & "'"
I want to create a Next Record button on the "MPC_ProjectNotes" form that would in effect allow them to run through the steps of selecting the next item in the ProjectSLCT dropdown and thereby relaunching the MPC_ProjectNotes form with the next item from the combo box (and from the datasheet in "subFrmData") without having to close the MPC_ProjectNotes form and adjust the combo box.
Any thoughts? I don't really even know what to google to get myself pointed in the right direction on this. It seems "Next Buttons" aren't generally setup to work across forms.
Ok, here is what I would suggest:
In place of launching form MPC_ProjectNotes to ONE reocrd?
Why not launch the form with the SAME criteria and list as your combo box ProjectSLCT.
Now, we would of course land in the first reocrd of ProjectSLCT. but that's probably ok!
Now say if ProjectSLCT was NOT on the first record? Then we would simple have to add one extra step: move the form to the right record.
So, the logic is this:
Launch the 2nd form to the same "list" as the combo box.
Move the 2nd form to the SAME item currently selected in the combo box.
Now, you don't even have to write a next/previous button, but can simple display the built in navigation buttons. Since the form is LIMITED to the same list, then regular navigation in that form will work and work without you having to write any code!
So someplace in your first form, you EVENTUALLY wind up with this:
combobox data source = select * from tblWhoKnows where (CRITERA GOES HERE!!!).
So, now we simple launch the 2nd form with this:
DoCmd.OpenForm "MPC_ProjectNotes", , , (CRITERA GOES HERE!!!)
Now the form is loaded with the SAME list. We just this extra line of code to move/jump the form to the current selected row in the combo.
forms("MPC_ProjectNotes").RecordSet.FindFirst "Project_Number= '" & Me.ProjectSLCT.Value & "'"
So we open the form to the "list", and then jump to the corrent combo box selected. The result is a form that you can navagate teh combo list, but we jump/started out on the same combox selected item from that list in the form.
So the code will look something like this:
DoCmd.OpenForm "MPC_ProjectNotes", , , (CRITERA GOES HERE!!!)
Forms("MPC_ProjectNotes").RecordSet.FindFirst "Project_Number= '" & Me.ProjectSLCT.Value & "'"
You will of course "change" the above "CRITERA" to the SAME criteria you used in your code to fill out the last combo box.

Contact form 7 submits form when pressing enter/return key

I have been searching for an answer with no luck so far and I'm no code expert, so there are some things that may have a solution but I simply son't get them.
Contact Form 7 Form on my new website has 2 issues I want to check and solve:
When hitting Enter/Return key the form is automatically sent so if a person is typing a message, they cannot continue writing.
There's no way I can make the text area look higher or have multiple lines so the person sending a message can hit the enter/return key to continue writing in the next line.
I think the solution is by using the textarea shortcode
Textarea:
Both textarea and textarea* are for a multi-line input and accept any form of text. textarea* is a required field.
Example:
[textarea your-message 40x10 "your message here ..."]
Source: https://contactform7.com/text-fields/

MS Access: Enter a specific text in a form using command button from another form

I would like to ask for your help on the following issue in MS Access.
I had created a form "CustomerListF", filled with command buttons for each client. For each button, I had created the following code:
Private Sub cmd_outlets_ABC_Click()
DoCmd.OpenForm "OrderFormF"
Forms!OrderFormF!Outlets = "ABC"
End Sub
The button would then open another form "OrderFormF" and enter "ABC" in the textbox named "Outlets". However, I realized the second line of code (Forms!OrderFormF!Outlets = "ABC") would always create a phantom record in my subform, which is located in "OrderFormF", and this record would travel to other clients' forms. This phantom record is usually created when the commandbutton is clicked twice (double clicks or subsequent clicks). It is a headache when the record starts to shift around.
enter image description here
I would like to seek your advice for vba code to edit the second line of code.
Thank you.
This approach for filling the field in opened form is not good. OrderFormF initialization and second line of your code with assigning value to the field may be executed in different sequence, they are not synchronized.
In order to avoid this, you should pass the argument to OrderFormF by another way. I would recommend to use OpenArgs parameter:
DoCmd.OpenForm "OrderFormF",,,,,,"ABC"
And then in Load event of OrderFormF assign the value to textbox:
Me.Outlets = Me.OpenArgs
In this case the "ABC" value will be assigned to first row in the form or to new record, if form is empty. Before assigning you can select the row if you need to assign value not to the first row. Also this way will protect you against double click on button, Load event executed only once during first form opening

MS Access 2013 Form: Force field input to begin at the start

I have to do intake for new employees, which requires filling out a form. Normally I'd be able to watch over and clean data as they go, but we often have to intake multiple employees at a time, which is why I need to make the form foolproof.
Is there a way to force the input to go to the beginning of a field instead of being able to click in the middle of it?
http://i.stack.imgur.com/0sVwN.png
You can use in the OnFocus event of the control:
Me!YourControlName.SelStart = 0
If I understand, you want to make the cursor go to the first input field or to any particular field. If this is what you need, try putting docmd.gotocontrol "controlName" on the onOpen event of the form. More about the docmd.gotocontrol.https://msdn.microsoft.com/en-us/library/office/ff192079.aspx

Make a radio button in an infopath form "read only"?

I'm making an InfoPath form which is tied to an Access database. I have a set of radio buttons where the user selects the software name corresponding to the form, but I store this in my database as a number (1, 2, or 3). In another view, I want them to be able to see the previously entered software name, but not be able to change this. Here are the two options I've thought of:
Create some rule that does prevents the user from changing this data
This seems like the natural approach for what I want to do.
Add a text field with a function mapping each number to the corresponding software
As the form is tied to the database, InfoPath wants all fields to be tied to a database value, which would require creating another database entry. I'm also having trouble finding an InfoPath function I can use to handle this mapping.
Change the radio box's variable to text values and make a text box in the new view, which can be made read-only.
I'd really prefer not to do this, as it will make things messier for other programs using this database value and seems wasteful, but if nothing else works, this seems do-able.
Is there some sort of rule/method I could use to make this radio button control read-only?
You can use conditional formatting to disable any control (including radio buttons).
To set your control to always be disabled do the following:
Right click on your control and select Conditional Formatting...
Click Add...
In the leftmost dropdown select The expression
type true() in the text field (this tells InfoPath to always apply this formatting)
Check the Disable this control checkbox.
Click OK and OK.
Note: You will need to do this for each of your radio buttons.
Also, for future reference: If you simply want to display the result of a function (such as in your second solution) you don't need to use a text box. You can use an expression box. An expression box is not necessarily linked to a field in the datasorce, so you won't need an additional column in your database for it.