Tom
What is oConn. You may have to check the ExecQuery method there. or your tnDivide may be currency.
Regards
Tushar
> This is a method of a VFP form that computes and stores the Medicare Premium.
> Notice the last line of the VFP method I have to use MTON() because when I debugged the program, the variable lnPremYee is a Currency.
>
>
> LPARAMETERS tnPeriod, tnMonthlyBasic, tnDivide
> LOCAL lnPremYee, lnPremYer, lnDiff
>
> IF THISFORM.oConn.ExecQuery( ;
> "SELECT PremYee,PremYer,PremYeep,PremYerp FROM Med" + ;
> " WHERE Max>=" + TRANSFORM(tnMonthlyBasic) + ;
> " ORDER BY Max LIMIT 1"))
> lnPremYee = TmpConn.PremYee
> lnPremYer = TmpConn.PremYer
> IF tnPeriod = goSet.nMedDiff
> lnDiff = (lnPremYee - TmpConn.PremYeep) * goSet.nMedMos
> lnPremYee = lnPremYee + lnDiff
> lnDiff = (lnPremYer - TmpConn.PremYerp) * goSet.nMedMos
> lnPremYer = lnPremYer + lnDiff
> ENDIF
> lnPremYee = ROUND(lnPremYee / tnDivide, 2)
> lnPremYer = ROUND(lnPremYer / tnDivide, 2)
> WITH THISFORM.oPrmLedger
> .cType = PRM_MEDICARE
> .nPremYee = lnPremYee
> .nPremYer = lnPremYer
> .nPremEc = 0
> .NewRecord()
> ENDWITH
> ELSE
> lnPremYee = 0.0
> ENDIF
> RETURN MTON(lnPremYee)
>
>
>
> Here is the SQL command that created the table:
>
> CREATE TABLE `med` (
> `id` tinyint(3) unsigned NOT NULL auto_increment,
> `code` char(5) NOT NULL default '',
> `max` decimal(9,2) NOT NULL default '0.00',
> `credit` decimal(9,2) NOT NULL default '0.00',
> `premyer` decimal(9,2) NOT NULL default '0.00',
> `premyee` decimal(9,2) NOT NULL default '0.00',
> `premyerp` decimal(9,2) NOT NULL default '0.00',
> `premyeep` decimal(9,2) NOT NULL default '0.00',
> PRIMARY KEY (`id`),
> KEY `code` (`code`),
> KEY `maxindex` (`max`)
> ) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=latin1;