Centar za edukaciju-BiH



#1 02.03.2012 13:40
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Kako podjeliti strig?
Imam tekst file u kojem je više redova podataka odvojenih znakom "|" kao npr.

Prvi string|DrugiString|Treći string|Četvrti string|Peti String|Šesti string

Trebao bih query koji bi mo razdvojio savaki od ovih stringova
Pozdrav
↑  ↓

#2 02.03.2012 14:42
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Kako podjeliti strig?
Jel mislis da ti razdvoji u kolone ili nesto drugo si mislio, posto pominjes query.
Druga stvar jel uvijek isti broj stringova ili moze biti razlicit.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 02.03.2012 14:43
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Kako podjeliti strig?
Mozes to razdvojiti na formi ili izvjestaju.
Zasto bas u query-u?
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#4 02.03.2012 15:39
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Kako podjeliti strig?
Zato što trebam prebaciti u novu tablicu gdje bi mi svaka riječ bika u zasebnom polju.
Uvjek je isti broj stringova i podatak se trenutno nalazi u tablici sa jednom kolonom.
Evo i primjer

Prilozi:
Informacije o tipu datoteke za:rar  Primjer.rar
Preuzimanja:149
Velicina datoteke:223.10 KB


Pozdrav
↑  ↓

#5 02.03.2012 15:57
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Kako podjeliti strig?
PreuzmiIzvorni kd (SQL):
  1. SELECT Tablica1.Field1, NadjiDio([Field1],"|",1) AS PrviDio, NadjiDio([Field1],"|",2) AS DrugiiDio, NadjiDio([Field1],"|",3) AS TreciDio, NadjiDio([Field1],"|",4) AS CetvrtiDio, NadjiDio([Field1],"|",5) AS PetiDio, NadjiDio([Field1],"|",6) AS SestiiDio
  2. FROM Tablica1;

Ovaj kod kopiraj u nodul:
PreuzmiIzvorni kd (Visual Basic):
  1. Function NadjiDio(Str As String, Znak As String, Dio As Integer)
  2. '******************************************************
  3. 'Ime:      NadjiDio   (Function)
  4. 'Sadržaj: Dio izmedju dva poznata karaktera
  5. 'Autor:     ZXZ
  6. 'Datum:      svibanj 16, 2008, 12:34:16
  7. 'Adresa: Tuzla BiH
  8. 'Email:     izonic@inet.ba
  9. 'Ulazni parametri:Str-String
  10.                  'Znak-Karakter razdvajac
  11.                  'Dio-Broj dijela izmedju razdvajaca
  12. 'Izlazni parametri:
  13. '******************************************************
  14. Dim DuzinaStr As Integer
  15. Dim Polozaj As Integer
  16. Dim I As Integer
  17. Dim Brojac As Integer
  18. Dim Karakter As String
  19.  
  20.  
  21.  
  22. DuzinaStr = Len(Str)
  23. If Left(Str, 1) <> Znak Then
  24.    Str = Znak & Str
  25. End If
  26. If Right(Str, 1) <> Znak Then
  27.    Str = Str & Znak
  28. End If
  29. For I = 1 To DuzinaStr
  30. Karakter = Mid(Str, I, 1)
  31.     If Karakter = Znak Then
  32.     Brojac = Brojac + 1
  33.     End If
  34.     If Brojac = Dio Then
  35.      Polozaj = InStr(I + 1, Str, Znak)
  36.      NadjiDio = Mid(Str, I + 1, Polozaj - I - 1)
  37.      GoTo Kraj:
  38.     End If
  39. Next I
  40. Kraj:
  41. End Function

Ovu proceduru imas u koristan kod.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#6 02.03.2012 17:30
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Kako podjeliti strig?
Što da kažem, nego još jednom veliko hvala.
Pozdrav
↑  ↓

#7 05.03.2012 09:50
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Kako podjeliti strig?
Ne mogu prepoznati u ovom kodu gdje se vidi znak-karakter koji razdvaja stringove.
U ovom slučaju to je znak "|".
Što ako stringove razdvaja drugačiji znak recimo "," ":" "-" i sl.
Pozdrav
↑  ↓

#8 05.03.2012 10:26
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Kako podjeliti strig?
Function NadjiDio(Str As String, Znak As String, Dio As Integer)
To se unosi pri pozivu proceduure.
Str je string iz koga hoces dio
Primjer:
Marko markovic|Jovo Danguba|Mujo Dobojlija|Saran saranovic
Znak je znak koji razdrvajea podatke u nasem slucaju je to bio "|"
Dio koji dio po redu.
Ako je napr br 2 onda procedura vraca "Jovo Danguba"
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 05.03.2012 11:01
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Kako podjeliti strig?
Ne znam dali smo se razumjeli, što ako imamo slijedeći primjer:

Marko Markovic-Jovo Danguba-Mujo Dobojlija-Saran saranovic
ili
Marko Markovic;Jovo Danguba;Mujo Dobojlija;Saran saranovic

Gdje u proceduri mijenjam znak koji razdvaja podatke
Pozdrav
↑  ↓

#10 05.03.2012 11:08
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Kako podjeliti strig?
Jednostavno cemo pozvati proceduru na ovaj nacin:
Dim a as string, b as string
b=Marko Markovic;Jovo Danguba;Mujo Dobojlija;Saran saranovic
a=NadjiDio("b", ";", 3)
Posto trazimo treci dio dobit cemo u a "Mujo Dobojlija)

Kao sto sam gore napisao delimiter upisujemo pri pozivu procedure.
Pogledaj u svome Query-u koji sam poslao kao rjesenje.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +02:00. Trenutno vrijeme: 5: 29 am.