Denne:
With rsi("Undersogelse") 'replace with conventional record looping
skal opfattes som psedokode - jeg gider, ikke i eget regi, hver gang der skal loopes gennem poster at gentage: set db= ..., set rs=..., movenext..., derfor har jeg kogt det ned til en recordset iterator - og tænke at kommentaren bag gav et hint om hvad rsi(tabel) med (manglende) indesluttede ting skal erstattes med.
I loopen:
with rsi(tabel)
...
end with
indholder udtrykket !svar feltet 'svar' i tabel 'undersogelse.
"\b[\wæøåÆØÅ]+\b" er et reular expression pattern der søger efter matches af ordbogstaver: \w eller et af tegnende æøåÆØÅ som forekommer efter hinanden 1 eller flere gange og som er omskuttet af ordseparerende tegn \b (space, tab, cr, lf, start på strengen, slut på strengen mm.
Regular expressions erstatter meget snørklet kode
Hvis man vil teste kan man prøve patterns i en editor der understøtter søgning med regular expressions - Jeg anvender Jedit.
http://www.regular-expressions.info/http://chimera.labs.oreilly.com/books/1234000001805/ch10.html#learnjava3-CHP-10-SECT-7For Each word In regex("\b[\wæøåÆØÅ]+\b").Execute(!svar) looper gennem alle ord med VARIANTEN word - som så, fordi den er forskellig for selv ens ord, i hvert loop bliver lavet til string med cstr(word)
Det er iøvrigt en fejl (overflødigt)at det sker en gang til i udtrykket linie under
word er key i directory objekt 'dic' - det der er i andre sprog hedder map eller hash - en liste af noget (keys) er lig noget andet (value) på den måde at keys er unikke. Value er her antal gange et ord forekommer - linien:
If dic.Exists(word) Then dic(word) = dic(word) + 1 Else dic.Add word, 1
søger for for oprettelse eller optælning af value
tror så jeg har udpeget det ikke helt oplagte, men skriver gerne mere
er regular expressions ikke bare stærkt tool?
Mvh Benny