Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 6236 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I'm still very new to FM and scripting so please bare with me. What I would like to accomplish is this: a simple IF step where: if the records found = more than 1 it takes me to a certain layout and if the records = 1 it takes me to another layout.

Could someone please show me an example of this.

Tks

Shaun

Posted

Hi Shaun,

Since you are using vs. 6 -

Set Error Capture [ On ]

Allow User Abort [ Off ]

Enter Find Mode [ [color:gray]* ]

[color:gray](see note below on how to handle asterisks or what goes here)

Perform Find [ [color:gray]*]

If [ not Status ( CurrentFoundCount ) ]

Show Message [ “No records found “ ]

Halt Script

End If

If [ Status ( CurrentFoundCount ) = 1 ]

Go To Layout [ form detail layout ]

Else

Go To Layout [ list layout ]

End If

How to handle the portions with asterisk:

[color:gray]* ... you haven't said how the find needs to happen; whether it's a stored find or User controlled so I cannot tell you whether to pause your script or manually perform it and then REPLACE within your script. Versions less than 7 were a PIB because of the replace/restore issues.

If you need help working through this further, just let us know how the find needs to happen; whether User will input criteria or whether you wish to set the fields yourself or a combination of both.

LaRetta :wink2:

Posted

Hi Laretta

Thanks so much for your help.

I am programming this script in fm 8 Pro, so the scripting may be a bit different as I haven't had too much luck getting it right. It will be user controlled, as they will be inputing their client reference number.

Here is a screenshot of my scipting:

Thanks again

Posted (edited)

Don't use pause/resume script [indefinitely]. FM will pause your script when you put the 'pause' in the Enter Find Mode [] portion. Change your script back to what I had as:

Go to Layout [ search ; ShipTo ]

Set Error Capture [ On ]

Allow User Abort [ Off ]

Enter Find Mode [ [color:red]pause ]

Perform Find [ ]

If [ not Get( FoundCount ) ]

Show Message [ "OK" ; "No records found"]

Show All Records

Go to Layout [ original layout ]

Halt Script

End If

If [ Get ( FoundCount ) = 1 ]

Go To Layout [ Ship2 ; Ship2 ]

Else

Go To Layout [ List shipments ; ShipTo]

End If

I think that should do it for you. Let us know if not. :wink2:

UPDATE: Oh, I changed it from Status ( CurrentFoundCount ) to Get ( FoundCount ). Your profile and your first post BOTH show that you wanted this script for vs. 6 so you might change your profile if your future needs will be for vs. 8. It will make a BIG difference in any responses you receive.

LaRetta

Edited by Guest
Added update

This topic is 6236 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.