Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Kako podjeliti strig?
pmiroslav 02.03.2012 13:40
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

zxz 02.03.2012 14:42
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.

zxz 02.03.2012 14:43
Predmet:Re: Kako podjeliti strig?

Mozes to razdvojiti na formi ili izvjestaju.
Zasto bas u query-u?

pmiroslav 02.03.2012 15:39
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:
Primjer.rar (Velicina datoteke:223.10 KB)

zxz 02.03.2012 15:57
Predmet:Re: Kako podjeliti strig?

PreuzmiIzvorni kôd (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 kôd (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.

pmiroslav 02.03.2012 17:30
Predmet:Re: Kako podjeliti strig?

Što da kažem, nego još jednom veliko hvala.

pmiroslav 05.03.2012 09:50
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.

zxz 05.03.2012 10:26
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"

pmiroslav 05.03.2012 11:01
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

zxz 05.03.2012 11:08
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.