Dedu. Prašymas labai nesityzdavot. Esu tik 'amateur', neturiu jokio IT
išsilavinimo, bet kai ką pasidarau dėl automatizacijos. Taigi
Function Linksniavimas(Name, Lin As Integer)
On Error Resume Next
Dim ar_su_bruksniu As Integer
ar_su_bruksniu = InStr(1, Name, "-", vbTextCompare) 'nustatoma, ar yra
stringe brūkšnys
If ar_su_bruksniu > 0 Then 'jei yra brūkšnys
Linksniavimas = Bruksnys(Name, Lin) 'su brūkšniu
Else ' jei nėra brūkšnio
Linksniavimas = separate(Name, Lin) 'be brūkšnio
End If
End Function
Function Bruksnys(Name, Lin)
On Error Resume Next
Dim pos As Integer
Dim iki_bruksnio, po_bruksnio
pos = InStr(Name, "-") 'nustatoma, kur yra brūkšnys
iki_bruksnio = Mid(Name, 1, pos - 1) 'paimamas Str iki brūkšnio
po_bruksnio = Mid(Name, pos + 1) 'paimamas Str nuo brūkšnio
Bruksnys = separate(iki_bruksnio, Lin) & "-" & separate(po_bruksnio,
Lin) 'viskas linksniuojama ir sujungiama
End Function
Function separate(Name, Lin)
On Error Resume Next
Dim num, poz As Integer
If IsNull(Name) Then
separate = ""
Exit Function
Else
Name = Replace(Name, "-", " ")
seka = Split(Name, , , vbTextCompare) 'Išskirstomi stringo žodžiai į
Seką
For num = 0 To UBound(seka)
zodzio_gal = IIf(linksnis(seka(num), Lin) = "", Right(seka(num), 3),
linksnis(seka(num), Lin))
'suformuojama seka iš naujai gautų žodžių
seka(num) = Replace(seka(num), Right(seka(num), 3), zodzio_gal)
Next num
End If
separate = Trim(Join(seka)) 'sujungiama seka i nauja string'-a
End Function
'Identifikuojama galūnė
Function linksnis(Name, Lin)
galune = Right(Name, 3)
Select Case galune
Case "nas"
linksniai = Array("no", "nui", "ną", "nu", "ne")
Case "tis"
linksniai = Array("čio", "čiui", "tį", "čiu", "tyje")
Case Else
linksniai = Array("", "", "", "", "")
End Select
linksnis = linksniai(Lin)
End Function
"zZz" wrote in message news:kt3uii$vrv$1@trimpas.omnitel.net...
Įmesk kodą ;)
"CurrentUser" <ne_toks@yahoo.com> wrote in message
news:ks1ht5$tou$1@trimpas.omnitel.net...
> Sveiki,
>
> Kas galetu konvertuoti VBA koda (tokia nedidele 'user function' (50
> eiluciu)) i SQL Serveriui (2008 R2) suprantama kalba (gal T-SQL, ar koki
> biesa - cia as ABS. zalias)?
> atlygis alumi vln
>
> Pagarba.
>