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

kako napraviti pretragu???

[es] :: Access :: kako napraviti pretragu???

Strane: 1 2

[ Pregleda: 8110 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

duledixi
Banja Luka

Član broj: 62165
Poruke: 67
*.teol.net.



+3 Profil

icon kako napraviti pretragu???08.01.2008. u 16:01 - pre 198 meseci
Naime, na jednoj formi imam txtbox koji služi za pretragu a rezultati pretrage se prikazuju u listbox-u. Na after update txtbox-a stoji ovaj kod:
Code:

Private Sub poMod_AfterUpdate()
Dim Uslov As String
Dim SQL As String

SQL = "SELECT qryStanje.MagacinID, qryStanje.[Naziv Artikla], qryStanje.Model, qryStanje.sifra, qryStanje.kolicina, " _
    & "qryStanje.cijena, qryStanje.mpc, qryStanje.LastOfkalkbr FROM qryStanje "
Uslov = "WHERE (qryStanje.Model) Like " & "'*" & Me.poMod & "*' " _
        & "ORDER BY qryStanje.Model;"
        SQL = SQL & Uslov
Me.ListArt.RowSource = SQL
End Sub

i sve lijepo funkcioniše. Mene interesuje kako izmijeniti ovaj kod da pretraga ne uzima u obzir znakove kao što su -.,/razmak* itd. tj. ako postoji artikal 210 12, 21012, 210-12 da ih sve prikaže kad u pretragu ukucam 21012
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: kako napraviti pretragu???08.01.2008. u 20:56 - pre 198 meseci
Ne vidim gde bi da ukucas Artikl, kada ti kveri kaze WHERE (qryStanje.Model) Like " & "'*" & Me.poMod & "*' "

To sto hoces je dosta komplikovano i ako si pocetnik, zaboravi to. Problem je zasto imas unose 210 12, 21012, 210-12 tamo gde treba da stoji 21012. Hocu da kazem, ako problem resis jos za vreme projektovanja tabele, pa kazes da je tvoj model (artikl) numericki podatak, neces imati ovaj problem uopste.

Ako radsi sa tudjim gotovim podacima, preporucujem da napises funkciju koja iz teksta izvlaci samo cifre i sasstavlja ih u 'normalan' broj. Naravno ako nisi totalni pocetnik. Ako jesi, bolje da ne gubimo vreme.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: kako napraviti pretragu???08.01.2008. u 21:57 - pre 198 meseci
@ Zidar
Izonic mu je napravio funkciju na lokaciji : http://www.icentar.com/showthread.php?t=7742
Ali definitivno je najbolje da isčisti podatke u tabeli kako si mu predložio.

 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: kako napraviti pretragu???09.01.2008. u 15:43 - pre 198 meseci
Hvala Getsbi

Pogledao sam Zonicev post. Tamo nema funkcije, nego se daje objasnjenje kako bi moglo da se uradi. Ono sto treba za ovakav slucaj jeste nesto ovako:

Code:

Function SamoBrojevi(strMesaniString As String) As String
'Svrha: izdvaja brojeve iz mesanog stringa
'Input: nesto kao "AXC 12-00-135"
'Output: nesto kao 1200135
'Primeri:
'? SamoBrojevi("1-401-569-780")
'? SamoBrojevi("AX 00-213-456@789  X"

Dim strTemp As String
Dim strRezultat As String
Dim i As Integer

'idemo kroz ulazni string jedan po jedan karakter
'ako je karakter cifra, prebacimo je u rezultat
'kad prodjemo krioz ceo string imacemo samo cifre u rezultatu
'

For i = 1 To Len(strMesaniString)

strTemp = Mid(strMesaniString, i, 1)

If InStr(1, "1234567890", strTemp) > 0 Then
    strRezultat = strRezultat & strTemp
End If

Debug.Print i, strTemp, strRezultat

Next i

SamoBrojevi = strRezultat


End Function


Primer upotrebe moze se naci u zakacenom fajlu.


Prikačeni fajlovi
 
Odgovor na temu

pmiroslav
Miroslav
Osijek

Član broj: 57354
Poruke: 298
*.dsl.optinet.hr.



+2 Profil

icon Re: kako napraviti pretragu???10.01.2008. u 07:57 - pre 198 meseci
Da se i nja malo uključim.

Ja u svojim aplikacijama za pretraživanje koristim formu koju šaljem u prilogu, ali isto imam sličan problem.

kada tražim napr. Vijak M 3 i u text box za pretraživanje u pišem vij*M*3, kao rezultat pretrage dobijem

Vijak M36
Vijak M 10x30
Vijak M 3
itd.

Da li za ovo možda ima rješenje



Prikačeni fajlovi
 
Odgovor na temu

duledixi
Banja Luka

Član broj: 62165
Poruke: 67
*.teol.net.



+3 Profil

icon Re: kako napraviti pretragu???10.01.2008. u 11:37 - pre 198 meseci
@pmiroslav
Upravo i ja hoću da se riješim kucanja * a da dobijem zadovoljavajuću pretragu.
Ako kucam vijm3 da dobijem:
Vijak M36
Vijak M 10x30
Vijak M 3
itd.
 
Odgovor na temu

lukeguy
Novi Sad

Član broj: 46545
Poruke: 470
*.com
Via: [es] mailing liste



+8 Profil

icon Re: kako napraviti pretragu???10.01.2008. u 12:18 - pre 198 meseci
a što ne napravite funkciju koja bi željeni search string konvertovala
u nekakav odgovarajući sa zvezdicama? jedino što bi se moralo
isprogramirati jeste gde da se stave zvezdice, pa bi zbog toga format
podataka morao biti unapred poznat. ili da se jednostavno zvezdica
stavi između svakog karaktera.
 
Odgovor na temu

pmiroslav
Miroslav
Osijek

Član broj: 57354
Poruke: 298
*.dsl.optinet.hr.



+2 Profil

icon Re: kako napraviti pretragu???10.01.2008. u 13:27 - pre 198 meseci
Kod ove pretrage je problem zapravo u tome da korisnik baze kod upisa podataka ne pazi na razmake pa upisuje npr.

Vijak M6
Vijak M 6
Vij M6 itd.

i sada ako se kao kriterij za pretragu napiše Vijak M 6 kao rezultat pretrage neće se prikazati Vijak M6 niti vij M6

 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: kako napraviti pretragu???10.01.2008. u 14:31 - pre 198 meseci
Sta bi bilo kad bi se Vijak M6 razbilo na dve kolone, jedna za 'Vijak', a druga za 'M6', pa da vrednosti 'Vijak' i 'M6' dolaze iz nekih drugih povezanih tabela (related tables .....

Onda ne bismo imali ove probleme
 
Odgovor na temu

izonic
ishab zonic
Tuzla

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

Sajt: www.icentar.ba


+2 Profil

icon Re: kako napraviti pretragu???10.01.2008. u 15:07 - pre 198 meseci
Kada god se vrsi pretraga po neindeksiranim poljima treba biti oprezan jer tu korisnici svasta unesu a mi vecina bas i ne razmisljamo puno o tome kada pravimo bazu podataka te da onemogucimo neispravne unose.

U ovakvom slucaju pretraga e pravi na sledeci nacin.
Prvo u upitu napravimo novo polje po kome cemo traziti koje ce ocistiti podatke iz starog polja u ovom slucaju su to uglavnom prazna polja.
To se moze uraditi sa naredbama left mid right i instr i naravno opcijom trim.

zxz
 
Odgovor na temu

pmiroslav
Miroslav
Osijek

Član broj: 57354
Poruke: 298
*.dsl.optinet.hr.



+2 Profil

icon Re: kako napraviti pretragu???11.01.2008. u 10:34 - pre 198 meseci
Može li neki primjer kako bi se to napravilo ?
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: kako napraviti pretragu???11.01.2008. u 14:50 - pre 198 meseci
Citat:
a mi vecina bas i ne razmisljamo puno o tome kada pravimo bazu podataka te da onemogucimo neispravne unose.

Veoma tacno. A onda pisemo tone koda koji ce kao da sprece nepravilan unos. Treba biti veliki majstor pa kazati javno ovakvu izjavu. Cini mi se da je Izonic ovde uzeo tudje grehe na sebe. Znajuci njegov rad, on sigurno nije neko na koga se odnosiova izjava bas mnogo. Skidam kapu

Sto se tice necistih unosa, ponavljam, uradite sve sto se moze na nivou tabele koristeci validation rules za polje i za celu tabelu ako treba. Onda u kodu, na Before_Update za formu proverite sta sve ne valja pa trazite da se unesu pravilni podace. Kako treba da izgledaju funkcije koje ce Form_beforeUpdate da poziva, tesko je reci, sve zavisi od slucaja do slucaja.

Ako vam s eovo cini puno posla, jeste puno. Ali to je razlika izmedju profesionalaca i amatera. Amateri se oslanjaju na vizarde i na povrsnu validaciju, profesionalci odrade posao u temeljima.


 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
89.146.165.*

Sajt: www.icentar.ba


+2 Profil

icon Re: kako napraviti pretragu???11.01.2008. u 20:03 - pre 198 meseci
Zahvaljujem zidaru na velikim rijecima.
Mogu samo reci da nije nikada dovlno opreza kada kreiramo bazu.
Nazalost vecina tu najmanje ostavi vremena.
Nekad cak ni to nije dovoljno nego kada baza proradi te se unese bar stotinu redova treba poslije ponovo analizirati svako polje zasebno jer tada se vidi gdje smo mi pogrijesili a nikako oni koji unose jer oni moraju grijesiti a mi trebamo pokusati sprijeciti to.

zxz
 
Odgovor na temu

pmiroslav
Miroslav
Osijek

Član broj: 57354
Poruke: 298
*.net.t-com.hr.



+2 Profil

icon Re: kako napraviti pretragu???11.01.2008. u 21:29 - pre 198 meseci
Svaka čast vama velikim znalcima skidam vam kapu u svakom pogledu.
Ali molim vas pomozite i nama koji ne znamo toliko puno o pisanju Coda.
Nije sve tako jednostavno drugima kao što je vama.
Molim vas nemojte ovo shvatiti kao kritiku, ali često mi se dogodi na forumu da kada zapnem na nekom problemu, nekada mi je neugodno postaviti pitanje jer kao odgovor dobijem oštru kritiku svoga rad.
Koa na primjer kuda je ova tema otišla.

 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
89.146.165.*

Sajt: www.icentar.ba


+2 Profil

icon Re: kako napraviti pretragu???11.01.2008. u 23:16 - pre 198 meseci
Mozda nekad izgledam ostar ali samo ako vidim da nekome ideja nije dobra pa pokusavam sprovesti moju.
Ukoliko ne uspijem onda pomognem u rjesavanju necije tudje mada smatram da nije dobra.
Nemojte mi zamjeriti na tome jer vjerujte mi nemam zle namjere da nekome napakostim nego jednostavno eto pokusavam da pomognem.
Ne smeta mi niti ako je neko ostar ali naravno bez vrijedanja.
zxz
 
Odgovor na temu

Miro35
Miroslav Čondrić
BiH

Član broj: 63672
Poruke: 122
*.tel.net.ba.

Sajt: Tel.net.ba


+3 Profil

icon Re: kako napraviti pretragu???12.01.2008. u 10:05 - pre 198 meseci
Ovaj primjer od pmiroslava je dobar.Možda se može riješiti bolje sa List Box-om umjesto subforme.
miro
 
Odgovor na temu

Honda-Biker
Student

Član broj: 168675
Poruke: 45
*.teol.net.



Profil

icon Re: kako napraviti pretragu???12.01.2008. u 10:45 - pre 198 meseci
Da ne pravim novu temu imam i ja jedno pitanje u vezi pretrage. Posto ne znam prikaciti svoj primjer evo adresa teme na kojoj ima primjer "db3BK.mdb" koji je slican i isto radi kao i moj primjer:
http://www.elitesecurity.org/t210079-0#1282769. Ovaj primjer je uradio clan BiloKoje

Konkretno, otvorim formu upisem u pretragu ime i on uredno pronadje sve podatke,odmah nakon toga upisem bilo koji drugi podatak za pretragu a on ne radi - nece da pronadje. Zasto?? Kako bi se to moglo popraviti?

Ako je neko voljan da mi pomogne bio bih jako zahvalan...
 
Odgovor na temu

pmiroslav
Miroslav
Osijek

Član broj: 57354
Poruke: 298
*.net.t-com.hr.



+2 Profil

icon Re: kako napraviti pretragu???12.01.2008. u 12:46 - pre 198 meseci
Evo ga file, ali ja ga na žalost ne mogu otvoriti jer imama instaliran MS Access 2000, a ovo je izgleda rađeno u nekoj višoj verziji.
A inače, primjer se šalje tako da kada pošalješ poruku i vratiš se na temu u forumu, ispod svoje poruke imaš link " Upload uz poruku"
Prikačeni fajlovi
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
89.146.172.*

Sajt: www.icentar.ba


+2 Profil

icon Re: kako napraviti pretragu???12.01.2008. u 13:47 - pre 198 meseci
Ovo nije primjer pretrage i radit ce ukoliko imate malo podataka medjutim kada se nakupi vise cisto sumnjam, morat ce te ga cekati po nekoliko minuta da odradi.
Sta je ovdje uradjeno?
U sva polja stavljena je zvjezdica po defaultu sto znaci djoker.
Ukoliko tako radimo Sql ce uvijek pretrazivati po svim poljima iako u njima nema nista.
Bolje ja napraviti i filterima nego ovo.
Savjetujem ti da okacis svoj primjer sa formom za pretragu i poljima a kod ce ti neko odraditi.
zxz
 
Odgovor na temu

Honda-Biker
Student

Član broj: 168675
Poruke: 45
*.teol.net.



Profil

icon Re: kako napraviti pretragu???12.01.2008. u 15:18 - pre 198 meseci
OK, evo primjer pa ako hoce nek neko napise kod za ovo
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Access :: kako napraviti pretragu???

Strane: 1 2

[ Pregleda: 8110 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

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