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

Enter parameter value????

[es] :: Baze podataka :: Enter parameter value????

[ Pregleda: 2412 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

konstantin

Član broj: 17262
Poruke: 132
*.teol.net



Profil

icon Enter parameter value????15.12.2003. u 13:38 - pre 220 meseci
Imam evidenciju clanova u access2k. Jedna od sekcija na formi clanova je i pretraga clanova sa 3 txt boxa i komandnim dugmetom trazi kao i sa list boxom koji daje rezultate pretrage nakon klik dogadjaja na dugme trazi.
Kod ispod komandnog dugmeta trazi je:
Private Sub cmdTrazi_Click()
Me.txtPrezime = Me.txtPrezime & "*"
Me.txtIme = Me.txtIme & "*"
Me.txtTelefon = "*" & Me.txtTelefon & "*"
Me.lstLista.Requery
Me.txtPrezime = ""
Me.txtIme = ""
Me.txtTelefon = ""
' postavljam dzoker znak nakon unosa u text boxove i sa Me.lstLista.Requery_
pokrenem upit iz row sourcea od list boxa Lista. Nakon toga ocistim text boxove
za sledece kriterijume'
End Sub

Row Source od liste je:
SELECT Clanovi.ID, Clanovi.Prezime, Clanovi.Ime, Clanovi.Telefon
FROM Clanovi
WHERE (((IIf(IsNull([Clanovi].[Prezime]),"",[Clanovi].[Prezime])) Like [Forms]![Clanovi]![txtPrezime]) AND ((IIf(IsNull([Clanovi].[Ime]),"",[Clanovi].[Ime])) Like [Forms]![Clanovi]![txtIme]) AND ((IIf(IsNull([Clanovi].[Telefon]),"",[Clanovi].[Telefon])) Like [Forms]![Clanovi]![txtTelefon]))
ORDER BY Clanovi.Prezime;

Ovo sve dobro funkcionise (ukljucujuci i pretragu) sve dok ne pritisnem drugo komandno dugme na formi Nazad koje treba samo da zatvori formu Clanova i da se fokusira na formu Glavna.
Njegov kod je:
Private Sub cmdNazad_Click()
DoCmd.Close
Forms![Glavna].SetFocus
End Sub

Tada dobijam redom 3 zahtjeva Enter Parameter Value:
Forms!Clanovi!txtPrezime
Forms!Clanovi!txtIme
Forms!Clanovi!txtTelefon
Tek kada sa OK ili Cancel prodjem ove zahtjeve, dodjem do forme Glavna. Access mi ne proslijedjuje ove zahtjeve ako prije toga nisam kliknuo na cmdTrazi. Kako da izbjegnem ove zahtjeve? Ovo sve je prije radilo, a da nevolja bude veca radi i dan danas na drugoj masini na kojoj je access97 sa potpuno istim kodom i sa istim objektima.
Ako neko ima korisnu sugestiju bio bih mu zahvalan jer nisam uspio da uhvatim ovu gresku ni sa Form_Error.
Unaprijed hvala.
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Enter parameter value????15.12.2003. u 15:53 - pre 220 meseci
Citat:
konstantin:Ovo sve dobro funkcionise (ukljucujuci i pretragu) sve dok ne pritisnem drugo komandno dugme na formi Nazad koje treba samo da zatvori formu Clanova i da se fokusira na formu Glavna.


Tvoj row source upotrebljava txtPrezime,txtIme, txtTelefon koji se nalaze na formi Clanovi. Kad zatvoris formu Clanovi, i fokusiras se na formu Glavna, SELECT statement vise ne prepoznaje [Forms]![Clanovi]![txtPrezime] i misli da je to parametar sa takvim komplikovanim imenom.

Imas nekoliko opcija:-
1) da preradis SELECT statment tako da se ne upotrebljavaju reference na formu (kao [Forms]![Clanovi]![txtPrezime]). Najbolje ali i najslozenije. ako zelis detaljno objasnjenje, reci pa cemo nesto uraditi.
2) da umesto zatvaranja, formu Clanovi ucinis nevidljivom - umesto Docmd.close "Clanovi" upotrebi Forms!Clanovi.Visible=FALSE
3) da jednostavno prebacis fokus na formu [Glavna] bez obzira na formu [Clanovi], ostavi je otvorenu, nista ne smeta

Usput, ne verujem da sve lepo radi u Acc 97, mora da postoji neka sitna razlika koju nisi uocio. Ako kveri ima referencu na formu, a forma je zatvorena, uvek ce da ti trazi parametar.

SELECT Clanovi.ID, Clanovi.Prezime, Clanovi.Ime, Clanovi.Telefon
FROM Clanovi
WHERE (((IIf(IsNull([Clanovi].[Prezime]),"",[Clanovi].[Prezime])) Like [Forms]![Clanovi]![txtPrezime]) AND ((IIf(IsNull([Clanovi].[Ime]),"",[Clanovi].[Ime])) Like [Forms]![Clanovi]![txtIme]) AND ((IIf(IsNull([Clanovi].[Telefon]),"",[Clanovi].[Telefon])) Like [Forms]![Clanovi]![txtTelefon]))
ORDER BY Clanovi.Prezime;


Imam evidenciju clanova u access2k. Jedna od sekcija na formi clanova je i pretraga clanova sa 3 txt boxa i komandnim dugmetom trazi kao i sa list boxom koji daje rezultate pretrage nakon klik dogadjaja na dugme trazi.
Kod ispod komandnog dugmeta trazi je:
Private Sub cmdTrazi_Click()
Me.txtPrezime = Me.txtPrezime & "*"
Me.txtIme = Me.txtIme & "*"
Me.txtTelefon = "*" & Me.txtTelefon & "*"
Me.lstLista.Requery
Me.txtPrezime = ""
Me.txtIme = ""
Me.txtTelefon = ""
' postavljam dzoker znak nakon unosa u text boxove i sa Me.lstLista.Requery_
pokrenem upit iz row sourcea od list boxa Lista. Nakon toga ocistim text boxove
za sledece kriterijume'
End Sub

Row Source od liste je:
SELECT Clanovi.ID, Clanovi.Prezime, Clanovi.Ime, Clanovi.Telefon
FROM Clanovi
WHERE (((IIf(IsNull([Clanovi].[Prezime]),"",[Clanovi].[Prezime])) Like [Forms]![Clanovi]![txtPrezime]) AND ((IIf(IsNull([Clanovi].[Ime]),"",[Clanovi].[Ime])) Like [Forms]![Clanovi]![txtIme]) AND ((IIf(IsNull([Clanovi].[Telefon]),"",[Clanovi].[Telefon])) Like [Forms]![Clanovi]![txtTelefon]))
ORDER BY Clanovi.Prezime;

Ovo sve dobro funkcionise (ukljucujuci i pretragu) sve dok ne pritisnem drugo komandno dugme na formi Nazad koje treba samo da zatvori formu Clanova i da se fokusira na formu Glavna.
Njegov kod je:
Private Sub cmdNazad_Click()
DoCmd.Close
Forms![Glavna].SetFocus
End Sub

Tada dobijam redom 3 zahtjeva Enter Parameter Value:
Forms!Clanovi!txtPrezime
Forms!Clanovi!txtIme
Forms!Clanovi!txtTelefon
Tek kada sa OK ili Cancel prodjem ove zahtjeve, dodjem do forme Glavna. Access mi ne proslijedjuje ove zahtjeve ako prije toga nisam kliknuo na cmdTrazi. Kako da izbjegnem ove zahtjeve? Ovo sve je prije radilo, a da nevolja bude veca radi i dan danas na drugoj masini na kojoj je access97 sa potpuno istim kodom i sa istim objektima.
Ako neko ima korisnu sugestiju bio bih mu zahvalan jer nisam uspio da uhvatim ovu gresku ni sa Form_Error.
Unaprijed hvala.

 
Odgovor na temu

konstantin

Član broj: 17262
Poruke: 132
*.teol.net



Profil

icon Re: Enter parameter value????15.12.2003. u 18:55 - pre 220 meseci
Citat:
Zidar:

Usput, ne verujem da sve lepo radi u Acc 97, mora da postoji neka sitna razlika koju nisi uocio. Ako kveri ima referencu na formu, a forma je zatvorena, uvek ce da ti trazi parametar.


Zidar,
zaista te uvjeravam da pod apsolutno istim okolnostima radi na acccess97. Nju sam i kreirao sa save as iz 2000arke. Jedino DAO referenca je druga u 97ici sto u ovom slucaju nema veze.
Na kraju krajeva zasto da mi trazi parameter na formu nakon DoCmd.Close? Prije toga sam vec izvrsio lstLista.requery kada su mi bili potrebni rezultati pretrage. Ne vidim zasto uopste access treba query nakon DoCmd.Close.
Forms![Clanovi].Visible = false sam vec probao ali bas zbog toga sto radi na 97ici htio sam probati rijesiti problem.
Ne znam na sta si mislio sa onim drugim rjesenjem?
Pozdrav
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Enter parameter value????15.12.2003. u 21:16 - pre 220 meseci
OK, verujem da radi u 97, 97 je uostalom najstabilnija verzija Accessa.

Mislio sam ovo:
BEGIN
Dim strSQL as string
Dim strWhere as string
Dim strIme as string, strPrezime as string, strPhone as string

'Sledece treba da uvek vrati ili samo "*" ili "nesto*"
strPrezime = nz([Forms]![Clanovi]!txtPrezime,"") & "*"
strIme = nz([Forms]![Clanovi]!txtIme,"") & "*"
strPhone = "*" & nz([Forms]![Clanovi]!txtTelefon,"") & "*" 'ovo vraca "**" kad je Tel = NULL

strSQL = " SELECT ID, Prezime, Ime, Telefon FROM Clanovi "

strWHere = " Prezime Like " & chr(34) & strPrezime & chr(34) _
& " AND Ime LIKE " & chr(34) & strIme & chr(34) _
& " AND Telefon LIKE " & chr(34) & strPhone & chr(34)

strSQL=strSQL & " WHERE " & strWhere & " ORDER BY Prezime"

me!lista.rowsource=strsql
me!lista.requery
END

Ovim prakticno gradis SELECT statemment za tvoju listu (hard kodiras WHERE condition). Kad ga jednom dodelis listi (me!lista.rowsource=strsql), listu bas briga da li ces zatvoriti formu ili ne. Za me!lista.requery nisam siguran ni da li je neophodno, ali ne smeta, nece ti usporiti rad jer SELECT ionako vraca 1-2 recorda.
Mozda ma poneka greska u kucanju, kucao sam kod direktno u ovaj prozor od poruke.

Izbegavaj da u kriterijumu SELECT statmenta (i u query) koristis Forms!MyForm!MyCtl upravo zbog problema sa vidljivoscu formi. Verovatno Access 97 prekompilira SELECT a Access 2K to ne radi pa ti trazi otvorenu formu.

Ako ti ovo ne radi, javi se opet pa cu sutra da ga istestiram u A2K i da ti tacno napisem.

:-)



 
Odgovor na temu

konstantin

Član broj: 17262
Poruke: 132
*.teol.net



Profil

icon Re: Enter parameter value????16.12.2003. u 08:07 - pre 220 meseci
Nije lose rjesenje. Nije neophodno upotrijebiti metod requery na listu.
Ipak ako negdje naletis na objasnjenje ovog problema (zasto ona 1.verzija ne radi na 2000arci) molio bih te da mi posaljes isto.
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com



+79 Profil

icon Re: Enter parameter value????16.12.2003. u 13:43 - pre 220 meseci
:-) Drago mi je da sad funkcionise. U profesionalnim resenjima kveriji ne koriste reference na forme.

Zasto radi u 97 a ne radi i u 2K? Teorijski, ne bi trebalo da radi ni u 97. Moguce je da 97 interno hard kodira row source za listu i posle zatvaranja forme. Ovo znaci da 97 radi ono sto smo poslednje razjasnili. Da li je to namerno, ili je to bug koji se eto preokrenuo u nesto pozitivno, to ne znam i verovatno nikad necemo saznati jer Microsoft vis ne podrzava 97, verovatno ce to uskoro biti i zvanicno objavljeno.

;-)
 
Odgovor na temu

[es] :: Baze podataka :: Enter parameter value????

[ Pregleda: 2412 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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