Daugiau

Jei/tada su „VBScript“ „ArcGIS“ lauko skaičiuoklėje pateikia klaida 000539: SyntaxError: netinkama sintaksė?


Kas negerai su šiuo VBscript lauko skaičiuotuvu?

C stulpelis =

jei [B stulpelis]> 0, tada [C stulpelis] = [A stulpelis] / [B stulpelis] endif

Kiekvieną kartą gaunu šį sintaksės klaidos pranešimą:

Klaida 000539: Sintaksė Klaida: netinkama sintaksė (išraiška, 1 eilutė) Nepavyko įvykdyti

Visi 3 stulpeliai yra dvigubo lauko tipo, nors skiriasi tikslumu ir mastu. Aš bandžiau konvertuoti stulpelius į plūdės tipą ir padaryti tą pačią išraišką. Gavau tuos pačius klaidų pranešimus.

Pirmoje eilutėje (prasidedančioje „jei“) scenarijus kairėje pateisinamas. Antroje eilutėje (pradedant „[ColumnC]“) prieš scenarijų įtraukiau keturias tarpus. Lauko skaičiuotuvo kodo blokelyje lygtis išplečiama į trečiąją eilutę (ir paliekama pagrįsta) vien dėl to, kad naudoju tikrąjį pavadinimą! yra ilgesnis.


Grąžintą vertę turite perduoti kintamajame, o ne nurodyti stulpelį.

Išraiška:

rezultatas

Kodo blokavimas:

jei [stulpelisB]> 0, tada rezultatas = [stulpelis A] / [stulpelisB] kitas rezultatas = 0 pabaiga, jei

Štai kaip abi dalys dera tarpusavyje lauko skaičiuotuvėje - mano duomenys neturi vienodų laukų pavadinimų, bet supratote.