OK, what's the trick? Corner=strpcorner(stable2.location) doesn't work. I don't want to write code to loop through the table, if I don't have to. Looping through the table is going to be slow.
The update statement (for some reason) doesn't recognize table field names in custom functions. I have written a MBX with a simple function and I can pass values to fill the field. When I tried to use an alias(ie - Function xx(str as alias)as string), its fatal for Mapinfo 6.5 (win2000 reports an illegal operation & closes Mapinfo). Someone must have discovered this before. I have a hard time believing there isn't a way to update a field with a custom function without looping through the table or some other work around. (I can do it in access.) When I sketched out my flow diagram, it never occurred to me that this couldn't be done. Its back to the drawing board. The Manual says that you can use custom functions in Select statements. Has anyone had any luck? -----Original Message----- From: B. Thoen [mailto:[EMAIL PROTECTED] Sent: Monday, April 26, 2004 5:07 PM To: Jacques Paris Cc: Cummings, Mike; Mapinfo-L Subject: RE: MI-L mapbasic Update table with custom function No, that's not the case. In MapBasic, you can use custom functions in 'update' statements. In fact, this is a little known trick for rapidly updating tables rather than using the slower 'Do While...Loop' technique. You might need to add the table name to the variable (e.g. Corner=strpcorner(stable2.location)), but that's just a stab in the dark. Check your spelling too -- 'location' may actually be 'loaction' in the table, or something like that. - Bill Thoen On Mon, 26 Apr 2004, Jacques Paris wrote: > My interpretation is that the expression used to update a column must be > written with the MapBasic "vocabulary". I deduce that from the fact that > "update" as many other functions can be run from the MapBasic window that > does not support any "external" calls, i.e. calls to custom functions that > are not part of the MB set and must be supplied by the user, and the MB > window does not allow that. > > Jacques Paris > e-mail [EMAIL PROTECTED] > MapBasic-MapInfo support http://www.paris-pc-gis.com > > > -----Original Message----- > From: Cummings, Mike [mailto:[EMAIL PROTECTED] > Sent: 26-Apr-04 18:14 > To: Mapinfo-L > Subject: MI-L mapbasic Update table with custom function > > I tried to compile this code: > > Update "stable2" Set MTRS = Left$(bm,1)+Twn+Rge+right$("0"+sec,2), > Corner=strpcorner(location) > > (Where MTRS, BM, TWN, RGE, SEC, corner & Location are fields in stable2 > and strpcorner is a custom function) > > and I get this error message: Subroute Argument location not defined. > > Why doesn't this work? Shouldn't Mapbasic recognize that location is a > field name? --------------------------------------------------------------------- List hosting provided by Directions Magazine | www.directionsmag.com | To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Message number: 11533 --------------------------------------------------------------------- List hosting provided by Directions Magazine | www.directionsmag.com | To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Message number: 11544