Hi Christine,

You've also defined the column names as local variables, and they override any 
table based column references. If you delete the
problematic local variables (rowid, _15_19, ...), you should be fine.

Further, when referencing table values, you should always use the 
"TableName.ColumnName" notation to prevent such ambiguities.

Best regards/Med venlig hilsen
Lars V. Nielsen
GisPro, Denmark
http://www.gispro.dk/

----- Original Message ----- 
From: "Ronning, Christine" <[EMAIL PROTECTED]>
To: "Bazeley, Gordon" <[EMAIL PROTECTED]>; <[email protected]>
Sent: Tuesday, September 06, 2005 8:33 PM
Subject: MI-L Map Basic Application not inserting text where wanted


Hi List,

Just wondered if you could look over the following code and see if there's 
anything obviously wrong!  I'm trying to identify the
maximum value from a row based on values in Table "Population_Var" and place 
the column name of this value into another column.
I've managed to find this maxmimum value, and with the help of this list write 
code that should update the column with text values,
but can't seem to get it to insert any text values.

************************************************************************************************

Include "MapBasic.def"

Declare sub main

sub main

Open Table "Population_Var" Interactive
Alter Table Population_Var (Add Max_Count float
Add Ratio_Dif float
Add Max_Name char(14)
Add Max_C_Group char(14))
Update Population_Var Set Max_Count = Maximum(Maximum(Maximum
(Maximum(Maximum(Maximum(_15_19,_20_24),_25_29),_30_34)
,_35_39),_40_44),_45_49)

Update Population_Var Set Ratio_Dif = (1-(_15_19/Max_Count))+
(1-(_20_24/Max_Count))+(1-(_25_29/Max_Count))+(1-(_30_34/Max_Count))
+(1-(_35_39/Max_Count))+(1-(_40_44/Max_Count))+(1-(_45_49/Max_Count))

Dim sum As Float, counter, rowid as Integer, Max_Count, 
_15_19,_20_24,_25_29,_30_34,_35_39,_40_44,_45_49 As Float,
Max_C_Group, Max_Name As String
Open Table "Population_Var" Interactive
Fetch first from Population_Var
Do while EOT(Population_Var)
counter=rowid
Max_Count=0
Max_C_Group=""
If Population_Var._15_19>Max_Count then
Max_Count=_15_19
Max_C_Group="_15_19"
End if
If Population_Var._20_24>Max_count then
Max_Count=_20_24
Max_C_Group="_20_24"
End if
If Population_Var._25_29>Max_Count then
Max_Count=_25_29
Max_C_Group="_25_29"
End if
If Population_Var._30_34>Max_count then
Max_Count=_30_34
Max_C_Group="_30_34"
End if
If Population_Var._35_39>Max_Count then
Max_Count=_35_39
Max_C_Group="_35_39"
End if
If Population_Var._40_44>Max_count then
Max_Count=_40_44
Max_C_Group="_40_44"
End if
If Population_Var._45_49>Max_Count then
Max_Count=_45_49
Max_C_Group="_45_49"
End if
Update Population_Var Set Max_Name=Max_C_Group Where rowid=counter
counter = counter+1
Fetch Next from Population_Var
Loop

End Sub

***********************************************************************************************

Any help would be greatly appreciated, thanks so much

Christine


---------------------------------------------------------------------
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Message number: 17771

Reply via email to