Centar za edukaciju-BiH


Stranice (2):1,2

#1 16.02.2012 22:22
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Usporedba stringa
Opet ja.
RazmiÅ¡ljam neÅ¡to kako napraviti proceduru koja bi usporedila string koji upisujem u formu, sa stringovima koji su več upisani u tablicu koja je vezana na tu formu i vrati neku poruku ako je string sličan onom koji je več upisan.
Naime imam tablicu tblPartneri i ponekad se dogodi da korisnik upiÅ¡e podatke za partnera koji več postoji pa bi bilo interesantno da dobije poruku da več ima upisa pod tim ili sličnim imenom.
Dali je to moguće s obzirom da partner može biti upisan pod imenom Ivanović Ivan, a novi upis bude Ivanović Ivo.
Pozdrav
↑  ↓

#2 17.02.2012 00:07
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Usporedba stringa
Evo ti procedura na ovom linku.

Nadji Vrijednost
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 3 puta. Posljednja izmjena 17.02.2012 00:13 od strane zxz. ↑  ↓

#3 17.02.2012 12:27
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Usporedba stringa
Ovo radi dobro ali nije baš to što sam mislio.
Ja bih želio da mi procedura pronađe i string koji je sličan jer kupac može biti upisan kao
Firma doo
a ja upišem
Firma d.o.o. pa to za funkciju nije isto
ili
Ivan Ivanović
i
Ivo Ivanović

evo nešto sam isprobavo u priloženom primju

ili nešto kao iz linka koji asm pronašau Googlanjem. Primjer sa onom formom Text Compare ima uz nju i neki Kod koji ja baš neznam kako koristiti
Text compare link

Prilozi:
Informacije o tipu datoteke za:rar  Kupci.rar
Preuzimanja:344
Velicina datoteke:74.56 KB


Pozdrav
↑  ↓

#4 18.02.2012 16:06
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Usporedba stringa
Znam sta hoces i razmisljam sta bi bilo najbolje a da ne bude sporo.
Nema nekog kvalitetnog rezultata sto se nebi pretrazila cijela baza svaki puta.
Moglo bi se sa opciom INstr pa pojedinacno traziti svako slovo upisano pa provjeriti napr ako ima 90% pogodaka da to ponudi ili kako je napravljeno u combu i u exelu da nudi priilikom kucanja dok je isto.
Ovo drugo i nebi sporo radilo jer nebi pretrazivao po bazi ali opnda nebi nasao ono d.o.o. ako je upisano vec doo.
Ponudio bi nakon d ali takvih vjerovatno u bazi bude puno i dok ukuca tacku vise ne vrijedi.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 18.02.2012 17:26
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Usporedba stringa
Evo probaj sa ovim
PreuzmiIzvorni kôd (Visual Basic):
  1. Option Compare Database
  2. Option Explicit
  3.  
  4. Private Sub txtUpit_BeforeUpdate(Cancel As Integer)
  5. Dim UpitT As String, Slovo As String * 1, Uslov As String
  6. Dim mySQL As String
  7. Dim rs As Recordset
  8. Dim Db As Database
  9. Dim Brojac As Integer, Reper As Integer
  10. Dim I As Integer
  11. Dim Str As String
  12.  
  13.  
  14. UpitT = Me.txtUpit & "*"
  15.  
  16. Str = "/.q,'- "
  17. Brojac = Len(UpitT)
  18.  
  19. For I = 1 To Brojac
  20. Slovo = Mid(UpitT, I, 1)
  21. Reper = InStr(1, Str, Slovo)
  22. If Reper > 0 Then
  23. Uslov = Uslov & "*"
  24. Else
  25. Uslov = Uslov & Slovo & "*"
  26. End If
  27. Next I
  28. Set Db = CurrentDb
  29. mySQL = "SELECT * FROM qryPartneri WHERE Firma Like '" & Uslov & "'"
  30. Set rs = Db.OpenRecordset(mySQL)
  31. If rs.RecordCount > 0 Then
  32. MsgBox UpitT & " Podatak postoji"
  33. Else
  34. MsgBox UpitT & " Podatak ne postoji"
  35. End If
  36. End Sub

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#6 19.02.2012 19:09
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Usporedba stringa
Citiraj zxz:

Str = "/.q,'- "
Možeš li mi molim te objesniti ovaj dio koda.
Pozdrav
↑  ↓

#7 19.02.2012 20:03
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Usporedba stringa
Da to su ti znakovi koji mogu biti u bazi a stavljas zvjezdicu umjesto njih u pretragi.
Mozes ih prosiriti ili smanjiti po zelji.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 20.02.2012 15:11
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Usporedba stringa
Primjerio sam da procedura ne prepoznaje riječi koje u sebi imaju slovo LJ kao napr.
Belje
Ljiljana
itd.

Prilozi:
Informacije o tipu datoteke za:rar  Kupci2.rar
Preuzimanja:345
Velicina datoteke:75.32 KB


Pozdrav
↑  ↓

#9 21.02.2012 21:39
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: Usporedba stringa
Evo ti ova procedura.
Mislim da ce ti bolje ova pasati od predhodne pa da ne popravljam nju.
PreuzmiIzvorni kôd (Visual Basic):
  1. Private Sub txtUpit_BeforeUpdate(Cancel As Integer)
  2. Dim Rs As Recordset
  3. Dim Db As Database
  4. Dim Podatak(1 To 2) As String, Slicni(1 To 5) As String, Znak As String, MsgSlicni As String
  5. Dim I As Integer, Duz As Integer, Poeni As Integer, Stanje As Single, X As Integer
  6. Dim Poz As Integer, StartP As Integer
  7.  
  8. If IsNull(Me.txtUpit) Then GoTo Kraj
  9. Podatak(1) = Me.txtUpit
  10. Duz = Len(Podatak(1))
  11. Set Db = CurrentDb
  12.  
  13. Set Rs = Db.OpenRecordset("SELECT Firma FROM TblPartneri")
  14.  
  15. Do While Not Rs.EOF
  16. Podatak(2) = Rs.Fields(0)
  17.     For I = 1 To Duz
  18.     If I = 1 Then
  19.     StartP = 1
  20.     Else
  21.     StartP = I - 1
  22.     End If
  23.     Znak = Mid(Podatak(1), I, 1)
  24.     Poz = InStr(StartP, Podatak(2), Znak)
  25.     If Poz = I + 1 Or Poz = I Or Poz = I - 1 Then
  26.     Poeni = Poeni + 1
  27.     End If
  28.     Next I
  29.     Stanje = Poeni / Duz
  30.     Poeni = 0
  31.     Poz = InStr(1, Podatak(2), Podatak(1))
  32.     If Poz > 0 Then Stanje = 1
  33.     If Stanje > 0.7 Then
  34.     X = X + 1
  35.     Slicni(X) = Podatak(2)
  36.     End If
  37. Rs.MoveNext
  38. Loop
  39. Rs.Close
  40. If X > 0 Then
  41. For I = 1 To X
  42. MsgSlicni = MsgSlicni & Slicni(I) & vbCr
  43. Next I
  44. MsgBox "Slicni su :" & vbCr & MsgSlicni
  45. End If
  46. Kraj:
  47. End Sub

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 22.02.2012 12:28
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Usporedba stringa
Ovo je odlično. Puno ti hvala.
Pozdrav
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +02:00. Trenutno vrijeme: 11: 35 am.