[ graovacb @ 19.02.2008. 18:16 ] @
| Imam na formi napravljenu dugmad za first,last,previous,next i new record.Pitanje je kako kada sa dugmetom next dodjem do poslednjeg zapisa sprecim da se nakon klika pojavi novi rekord. Napominjem da je forma ponekad otvorena sa ukljucenim filterima i to ne uvek istim.Takodje i sortiranje nije uvek po istim kriterijumima. |
[ domaci_a_nas @ 19.02.2008. 20:06 ] @
Mogao bi da na formi postaviš svojstvo AllowAdditions = False, i indexiraš polja po kojima sortiraš u tabeli. U slučaju da želiš da odeš u new record oslobodiš allowadditions.
[ graovacb @ 20.02.2008. 19:05 ] @
Da, tako moze, probao sam i radi. Ipak, ima li neki kod koji na dogadjaju On Current obrasca moze da "vidi" da je zapis poslednji?
[ domaci_a_nas @ 20.02.2008. 22:32 ] @
Ako se forma otvara kao DataSheet onda se može koristiti svojstvo SelTop u poređenju sa RecordsetClone.Recordcount, a ako ti je primarni ključ AutoNumber polje možda možeš koristiti nešto kao:
PoslednjiRecord = Me!PrimarniKljuc = DMax("PrimarniKljuc","MojaTabela")
Ništa drugo mi trenutno ne pada na pamet. Ako hoćeš da blokiraš dugme za next record kad stigneš do poslednjeg, možda možeš da se pomeriš dva recorda unapred i jedan unazad, umesto samo unapred. Na taj način ćeš, ako posle operacije dva koraka unapred dobiješ Me.NewRecord = True otići jedan korak unazad i blokirati dugme.
[ graovacb @ 21.02.2008. 16:21 ] @
Probao sam sa DMax funkcijom i to radi ako forma nije filtrirana, medjutim kada jeste nije uvek maksimalni autonumber u tom skupu. Tada ne radi kako treba. Probao sam i tvoj drugi predlog i to moze da se upotrebi jedino sto prvo otvori novi rekord pa se posle vrati nazad. Bas zbog svega toga sam i postavio pitanje. U svakom slucaju hvala na trudu.
[ graovacb @ 21.02.2008. 17:07 ] @
Bilo je relativno jednostavno. Na dogadjaj On Current obrasca:
Set rs =Me.RecordsetClone
rs.MoveLast
If rs!PrimarniKljuc=Me.PrimarniKljuc Then
Me.cmdNext.Enabled=False
Else
Me.cmdNext.Enabled=True
End If
[ domaci_a_nas @ 21.02.2008. 20:16 ] @
Uh sto volim da skracujem kod :)
Set rs =Me.RecordsetClone
rs.MoveLast
Me.cmdNext.Enabled = Not (rs!PrimarniKljuc=Me.PrimarniKljuc)
' s tim da bih dodao i
Set rs = Nothing
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.