Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa pretragom zbog apostrofa

[es] :: Access :: Problem sa pretragom zbog apostrofa

[ Pregleda: 1936 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

FOX028
Visoka tehnicka skola strukovnih studija
Kosovska Mitrovica

Član broj: 258986
Poruke: 850

Sajt: https://www.zile028.com


+49 Profil

icon Problem sa pretragom zbog apostrofa11.07.2011. u 13:43 - pre 154 meseci
Imam problem kada vrsim pretragu po glumcu ali samo kod onih u cijem imenu ima apostrov (O'Hara), ja sam pokusavao sam nekako to da resim ali mi ne ide. Ako neko bude mogao to da mi resi bio bih mu zahvalan. Samo bih molio ako je moguce da se ne menja struktura pretrage.
Prikačeni fajlovi
 
Odgovor na temu

make_lele
make_lele
Srbistan

Član broj: 287268
Poruke: 383
*.mbb.telenor.rs.



+68 Profil

icon Re: Problem sa pretragom zbog apostrofa11.07.2011. u 13:57 - pre 154 meseci
Probaj sa \'
 
Odgovor na temu

FOX028
Visoka tehnicka skola strukovnih studija
Kosovska Mitrovica

Član broj: 258986
Poruke: 850

Sajt: https://www.zile028.com


+49 Profil

icon Re: Problem sa pretragom zbog apostrofa11.07.2011. u 15:09 - pre 154 meseci
Ja bi da ostane samo apostrof ako moze.
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
*.PPPoE-8139.sa.bih.net.ba.

Sajt: www.icentar.ba


+2 Profil

icon Re: Problem sa pretragom zbog apostrofa11.07.2011. u 18:49 - pre 154 meseci
Code:
Private Sub TraziGlumac_AfterUpdate()
    Dim stLinkCriteria As String
    Dim ImaNema As Integer
    Dim Kriterija
    Dim Pozicija As Integer
    
    Me.TraziFilm = ""
    Kriterija = Me.TraziGlumac
Start:
    Pozicija = InStr(1, Kriterija, "'")
    If Pozicija > 0 Then
    Kriterija = Left(Kriterija, Pozicija - 1) & "?" & Mid(Kriterija, Pozicija + 1)
    GoTo Start
    End If
    stLinkCriteria = "((QFilm.Glumac Like '*" & Kriterija & "*'))"
    
    MsgBox stLinkCriteria
    ImaNema = DCount("[Glumac]", "QFilm", stLinkCriteria)
    If ImaNema = 0 Then
        MsgBox "Nema tog glumca", vbCritical, "Poruka"
        Exit Sub
    Else
        Me.Filter = stLinkCriteria
        Me.Uslov.Requery
        DoCmd.ApplyFilter , stLinkCriteria
        Me.ObrisiUslov.Visible = True
        
    End If

End Sub


zxz
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Problem sa pretragom zbog apostrofa12.07.2011. u 14:05 - pre 154 meseci
Svi zaboravili da se moze koristiti i " umesto '

I svi smo zaboravili da se znakovi ' ili " u stringu z apretrazivanje zamenjuju dupliranim znakovima ' postaje '' a " postaje ""

Evo kako radi, prva iteracija. Upotrebimo " za string delimiter i onda ce ' da prodje glatko.
Code:

Private Sub TraziGlumac_AfterUpdate()
    Dim stLinkCriteria As String
    Dim ImaNema As Integer
    Me.TraziFilm = ""
    stLinkCriteria = "((QFilm.Glumac Like ""*" & Me!TraziGlumac & "*""))"
    
    MsgBox stLinkCriteria
    ImaNema = DCount("[Glumac]", "QFilm", stLinkCriteria)
    If ImaNema = 0 Then
        MsgBox "Nema tog glumca", vbCritical, "Poruka"
        Exit Sub
    Else
        Me.Filter = stLinkCriteria
        Me.Uslov.Requery
        DoCmd.ApplyFilter , stLinkCriteria
        Me.ObrisiUslov.Visible = True
        
    End If

End Sub


Kljuc je ovde:
stLinkCriteria = "((QFilm.Glumac Like ""*" & Me!TraziGlumac & "*""))"

"" ispred * se prevodi u "*
"' posle * se prevodi u *"

medjutim ovo nece proci ako je me.TraziGlumac na primer o"hara umesto o'hara. Zato je bolje uraditi ovako:

stLinkCriteria = "((QFilm.Glumac Like ""*" & Replace(Me!TraziGlumac, Chr(34), Chr(34) & Chr(34)) & "*""))"

Provereno, radi. Dakle, ovako:
Code:

Private Sub TraziGlumac_AfterUpdate()
    Dim stLinkCriteria As String
    Dim ImaNema As Integer
    Me.TraziFilm = ""
'    stLinkCriteria = "((QFilm.Glumac Like ""*" & Me!TraziGlumac & "*""))"
    stLinkCriteria = "((QFilm.Glumac Like ""*" & Replace(Me!TraziGlumac, Chr(34), Chr(34) & Chr(34)) & "*""))"

    
    MsgBox stLinkCriteria
    ImaNema = DCount("[Glumac]", "QFilm", stLinkCriteria)
    If ImaNema = 0 Then
        MsgBox "Nema tog glumca", vbCritical, "Poruka"
        Exit Sub
    Else
        Me.Filter = stLinkCriteria
        Me.Uslov.Requery
        DoCmd.ApplyFilter , stLinkCriteria
        Me.ObrisiUslov.Visible = True
        
    End If

End Sub


Ostarilo se ali nije s ezaboravilo programirnje :-)

:-)
 
Odgovor na temu

[es] :: Access :: Problem sa pretragom zbog apostrofa

[ Pregleda: 1936 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.