CLEAR CLOSE DATABASES ALL SET ASSERTS ON getOptionID = 1 getMakeID = 22 getModelIDs = [_1_2_3] oCa = CREATEOBJECT([cadealeropts]) IF oCa.CursorFill() BROWSE NORMAL IF NOT TABLEUPDATE(1, .t., oCa.Alias) AERROR(aaaa) CLEAR DISPLAY MEMORY LIKE aaaa ENDIF ELSE AERROR(aaaa) CLEAR DISPLAY MEMORY LIKE aaaa ENDIF DEFINE CLASS cadealeropts AS cursoradapter SelectCmd = "select DealerOpts.OptsID, NVL(DealerOpts.OptionID,?getOptionID) as OptionID, NVL(DealerOpts.MakeID, ?getMakeID) as MakeID, "+; "Models.ModelID as ModelID, Models.MfgName, Models.Name as ModelName, "+; "Models.ModelNmbr as ModelNmbr, Models.ModelYear as ModelYear, DealerOpts.Retail, DealerOpts.Cost, "+; "DealerOpts.Costline, DealerOpts.Type as cType, DealerOpts.StdOption "+; "from DealerOpts "+; "RIGHT JOIN Models ON DealerOpts.ModelID = Models.ModelID and DealerOpts.OptionID = ?getOptionID and "+; "DealerOpts.MakeID = ?getMakeID where cast(Models.ModelID as varchar(12)) $ (?getModelIDs)" CursorSchema = "OptsID I, OptionID I, MakeID I, ModelID I, MfgName C(40), ModelName C(65), "+; "ModelNmbr C(20), ModelYear C(40), Retail N(10, 2), Cost N(10, 2), Costline N(10, 2),"+; "cType C(12), StdOption L(1)" Alias = "curdealeropts" DataSourceType = "Native" Flags = 0 CompareMemo = .T. FetchMemo = .F. SendUpdates = .T. KeyFieldList = "OPTSID" Tables = "DealerOpts" UpdatableFieldList = "OPTIONID, MAKEID, MODELID, RETAIL, COST, COSTLINE, CTYPE, STDOPTION" UpdateNameList = "OPTSID DealerOpts.OPTSID,OPTIONID DealerOpts.OPTIONID, MAKEID DealerOpts.MAKEID,"+; "MODELID DealerOpts.MODELID, RETAIL DealerOpts.RETAIL, COST DealerOpts.COST, "+; "COSTLINE DealerOpts.COSTLINE, CTYPE DealerOpts.Type, STDOPTION DealerOpts.STDOPTION" BreakOnError = .T. UseCursorSchema = .T. UseTransactions = .T. Name = "cadealeropts" PROCEDURE Init set multilocks on llReturn = dodefault() ENDPROC PROCEDURE BeforeUpdate(cFldState, lForce, nUpdateType, cUpdateInsertCmd, cDeleteCmd) IF ISNULL(EVALUATE(this.Alias +[.OPTSID])) TEXT TO cUpdateInsertCmd NOSHOW TEXTMERGE PRETEXT 15 INSERT INTO DealerOpts (OptionID, MakeID, Retail, Cost, Costline, cType, StdOption, ModelID) VALUES (<<EVALUATE(this.Alias+[.OptionID])>>, <<EVALUATE(this.Alias+[.MakeID])>>, <<EVALUATE(this.Alias+[.Retail])>>, <<EVALUATE(this.Alias+[.Cost])>>, <<EVALUATE(this.Alias+[.Costline])>>, <<EVALUATE(this.Alias+[.cType])>>, <<EVALUATE(this.Alias+[.StdOption])>>, <<EVALUATE(this.Alias+[.ModelID])>>) ENDTEXT ENDIF ENDPROC ENDDEFINEJust changed BeforeUpdate event.