David, All the credit goes to you for doing such a great job! I'm sure a lot of folks will be able to implement similar forms using this technique, I know I will. I especially like the part about not having to create two forms for enter and edit... Claudine
-----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of David M. Blocker Sent: Friday, June 24, 2005 4:58 PM To: RBG7-L Mailing List Subject: [RBG7-L] - SUCCESS defaulting a combo box to a set value Dear folks A few weeks back I posted a request: I had a form where I wanted a COMBO box listing these values in this order: VRSystem VRDescription A Alignment B Brakes C Cooling E Electrical F Fuel I Inspections K Transmission L Labor M Motor/Drive train O Other Miscellaneous P Preventive Maintenance Q LOF S Suspension T Tires W Towing X Exhaust AND I wanted Q as the default value for all rows. Claudine suggested that I use a variable combo box defaulting the value of the variable to Q. I just want to report that building on Claudine's idea, I was able to get this working correctly, and to share a bit about what I had to do to make this work. Since I wanted ONE form for entry AND for editing, here's what I had to do: 1. On the form: I set up 2 COMBO boxes, one a VARIBLE Lookup combo box for the variable ffVRSYSTEM (component ID ffVRSYSTEM), and a second a DB Lookup Combo Box for the column VRSYSTEM (component ID VRSYSTEM). I wanted to use the VARIABLE combo for data entry and the DB combo for data editing. The two combo boxes had identical settings for source of data, columns displayed, and were placed with the SAME Left / Top / Width / Height values, one one top of the other. In addition, since I wanted the value of the variable to be loaded into the column VRSYSTEM, I set up a dummy hidden DB Edit control for the column VRSystem, located behind the combo boxes, width 0, Read Only, no tab stop. Component ID for this DB edit is cVRSYSTEM. 2. Calling program: here are the relevant lines of code: SET VAR eVR_FormMode TEXT = NULL *(Form mode) SET VAR ffVRSystem TEXT = NULL *(Combo box for entry) SET VAR eVR_FormMode TEXT = 'Enter' -- Default VRSystem to 'Q' so combo box will -- default to Q SET VAR ffVRSystem = 'Q' Enter VehRepr2 CAPTION .eVR_Caption 3. On after start EEP for the form: IF eVR_FormMode = 'Enter' THEN -- Enable and make visible the VARIABLE combo box, -- disable and make invisible the DB combo box PROPERTY ffVRSYSTEM VISIBLE 'TRUE' PROPERTY ffVRSYSTEM ENABLED 'TRUE' PROPERTY VRSYSTEM VISIBLE 'FALSE' PROPERTY VRSYSTEM ENABLED 'FALSE' ENDIF IF eVR_FormMode = 'Edit' THEN -- enable db combo, disable variable combo PROPERTY ffVRSYSTEM VISIBLE 'FALSE' PROPERTY ffVRSYSTEM ENABLED 'FALSE' PROPERTY VRSYSTEM VISIBLE 'TRUE' PROPERTY VRSYSTEM ENABLED 'TRUE' ENDIF 4. Created an ON ROW ENTRY EEP for the form. The relevant lines of code were: IF eVR_FormMode = 'Enter' THEN SET VAR ffVRSYSTEM = 'Q' ENDIF Since the form could be used to enter many rows, for each NEW row I had to default the value to Q again; otherwise, since it's a VARIABLE, the combo would default to the value of the PREVIOUS row, which is NOT what the client wanted. 5. Created on ON CLICK EEP for the variable combo box, ffVRSYSTEM: PROPERTY TABLE VehRepair 'EDIT' PROPERTY cVRSYSTEM TEXTVALUE .ffVRSYSTEM RETURN cVRSystem, remember, is a DBEDit control for the column VRSYSTEM where I want the value of the variable combo box to go. This works GREAT. The combo box defaults to Q for row ENTRY, when editing it shows the value of the column as it now exists. Thanks to Claudine for pointing me in the right direction and thanks to Razzak and the dream team for providing us with such a great set of tools. It's FUN to do this stuff. David Blocker David Blocker [EMAIL PROTECTED] 781-784-1919 Fax: 781-784-1860 Cell: 339-206-0261
