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

Pop Up forma + osvježavanje glavne forme

[es] :: Access :: Pop Up forma + osvježavanje glavne forme

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fanta
Fanta Genije

Član broj: 119794
Poruke: 118
*.cmu.carnet.hr.



Profil

icon Pop Up forma + osvježavanje glavne forme24.04.2007. u 22:27 - pre 206 meseci
Napravio sam glavnu formu na kojoj imam listbox na kojem je lista djelatnosti. Iznad njega sam napravio mali textbox koji mi služi za pretragu, tj kako korisnik u textbox unosi što više slova tako se pretraga sužava tj. sadržaj u listbox-u je sve kraći, te ako djelatnosti u listbox-u uopće nema, listbox postane prazan. Nakon toga korisnik klikne na dugme Dodaj novu djelatnost te mu se otvara mali pop-up prozor, tj, mala pop-up forma koja služi za unos nove djelatnosti.

Problem nastaje kad se ta pop-up forma zatvori. Glavna forma neće da mi se uopće osvježi, tj listbox je i dalje prazan. Pokušao sam na sve moguće događaje (On activate, on curent, On load, ...) sa svim načinima osvježavanja, sa svime što mi je palo na pamet od me.refresh, me.requery, pa čak i sa "DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70",... Međutim kad sam napravio dugme koje mi je služilo za osvježavanje sa ovim zadnjim kodom onda mi je glavnu formu napokon osvježilo.

Postoji li način da kad kliknem na dugme Zatvori u pop-up formi da mi osvježi čitavu glavnu formu, umjesto dugmeta koje sam napravio na glavnoj formi za osvježavanje?

ili postoji neko drugo riješenje koje će napraviti posao?

Našao sam jedan post ovdje sa sličnom temom, ali nije mi pomogao. Hvala svima unaprijed
 
Odgovor na temu

MirzaSila
Sarajevo

Član broj: 28958
Poruke: 162
*.PPPoE-2244.sa.bih.net.ba.

Sajt: www.hosting-directory.co...


Profil

icon Re: Pop Up forma + osvježavanje glavne forme25.04.2007. u 10:03 - pre 206 meseci
Neznam jesi li pokusao da stavis u onclose event popup forme kod za osvjezavanje, mozda bi to moglo proci.
Http Status 500
www.Hosting-Directory.co.nr
Free web hosting and domains...
 
Odgovor na temu

Fanta
Fanta Genije

Član broj: 119794
Poruke: 118
*.adsl.net.t-com.hr.



Profil

icon Re: Pop Up forma + osvježavanje glavne forme26.04.2007. u 17:50 - pre 206 meseci
Hvala, problem riješen, ali nažalost kad sam spojio sve na server, forma mi je sporo radila.
 
Odgovor na temu

tasman_76_82
Beograd

Član broj: 117316
Poruke: 39
212.200.219.*



Profil

icon Re: Pop Up forma + osvježavanje glavne forme28.04.2007. u 22:04 - pre 206 meseci
A da li bi bio ljubazan da sa nama podelis to kako si resio svoj problem?
 
Odgovor na temu

Fanta
Fanta Genije

Član broj: 119794
Poruke: 118
85.114.40.*



Profil

icon Re: Pop Up forma + osvježavanje glavne forme23.09.2008. u 09:39 - pre 189 meseci
Pa vjerujem da sam dužan odgovor budući da su meni na ovom forumu i više nago jedanput pomogli.

Trenutno sam taj problem do te mjere riješio da korisnik unosi sve sva dva klika miša. Ali idemo po redu.

Znači moj glavni problem je bio u tome recimo da imamo tablicu knjige u koju se unosi popis knjiga, tablicu autori u koju se unose autori i tablicu knjige-autori (jedna knjiga može više autora).

I recimo unese se knjiga, ali žele se unjeti istovremeno i autor. Kao što rekoh ranije imao sam listbox koji mi je služio da svi autori budu ispisani, a kraj njega mali textbox koji mi je služio za pretragu listboxa. Ako autora nema klikom na button Dodaj Autora otvara se mali pop-up prozor, potvrdi se unos, a nakon toga pop-up prozor se zatvori i novi unešeni autor se nalazi u listboxu.

Znači imamo glavnu formu na kojoj imamo textbox(Text21), imamo listbox(ChooseList) i jedan button(Command52). Tajna čitave ideje je da imamo još jedan skriveni textbox(txtSearch2) u koji se prenose podaci iz prvog textboxa kako se u njega unose podaci i da imamo modul u koji prenosimo globalnu varijablu(Module1).


Znači u prvi textbox unesemo koji služi za pretragu na event AfterUpdate stavimo kod koji će unesni zapis prenjeti u globalnu varijablu prom

Code:

Private Sub Text21_AfterUpdate()
If Not IsNull(Me.txtSearch2) Then
prom = Me![txtSearch2]
End If
End Sub


U modulu stavimo samo sljedeći kod, koji nam služi da ono što bude uneseno u tekstualno polje se bez problema može prenjeti iz bilo koje forme:

Code:
Public prom As String


Na Event OnChange unesemo:
Code:

Private Sub Text21_Change()
Dim vSearchString As String

    vSearchString = Trim(Text21.Text)
    txtSearch2.Value = vSearchString
    
      Me.ChooseList.RowSource = "AutorASC"
    Me.ChooseList.Requery
End Sub


Znači unose se podaci iz vidljivog textualnog polja u skriveno, a onda automatski na svaku promijenu pokreće upit AutorASC čiji rezultat se prikazuje u listbox-u

AutorASC je upit koji služi za pretraživanje tablice Autori, a glasi:
Code:


SELECT Autor.Autor AS Expr1
FROM Autor
WHERE (((Autor.Autor) Like "*" & [Forms]![Knjige]![txtSearch2] & "*"));


kao što se vidi podaci se traže iz forme iz skrivenog tekstualnog polja txtSearch2. Na ovaj način se može unošenjem slova po slovo se može suziti izbor Autora u listboxu tj. pronaći ga ako postoji, a ako ne postoji listbox je prazan.

Znači ukoliko je listbox prazan autor ne postoji i klikom na button Dodaj Autora, otvara se pop-up forma(Autor1). Kod koji stoji iza klika na button glasi:

Code:

Private Sub Command52_Click()

Dim unesi As Variant

    Dim stDocName As String
    Dim stLinkCriteria As String
unesi = Me.Text21
    
    stDocName = "Autor1"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub


Kako će izgledati pop-up forma to prepuštam vama. ja na njoj imam jedno tekstualno polje(Autor) u koje se prenosi uno što je upisano u prethodnoj formi iz globalne varijable. Unos u bazu radim putem recordseta klikom na button(Command6), ali može se i na klasičan način.

Code:

Private Sub Command6_Click()
Dim stDocName As String
    Dim stLinkCriteria As String

//trenutno aktivna forma, jako bitno
Set frm = Screen.ActiveForm

//pohranjivanje u bazu
Dim MyDB As Object
Set MyDB = CurrentDb()
Dim rstSelectedProizvod6 As DAO.Recordset
Set rstSelectedProizvod6 = MyDB.OpenRecordset("Autor", DB_OPEN_DYNASET, dbSeeChanges)
rstSelectedProizvod6.AddNew
    rstSelectedProizvod6!Autor = frm!Autor
    rstSelectedProizvod6.Update
  
     rstSelectedProizvod6.Close
//glavna forma knjige 
stDocName = "Knjige"
//ukoliko je glavna forma otvorena       
If IsFormOpenDM(stDocName) Then
//obriši tekstualno polje u glavnoj formi(kako bi tekstualno polje bilo spremno za novi unos nakon što se pop-up prozor zatvori)
Forms(stDocName)!Text21 = ""
//Uskriveno tekstualno polje se prenosi ono što je unešeno u polje Autor    
Forms(stDocName)!txtSearch2 = frm!Autor
    
//I pokreće se isti upit od prije i osvježava taj listbox na glavnoj formi kako bi novounešeni autor se pojavio u listboxu.   
Forms(stDocName).ChooseList.RowSource = "AutorASC"
Forms(stDocName).ChooseList.Requery

Set rstSelectedProizvod6 = Nothing
MyDB.Close
Set MyDB = Nothing
End If
//zatvaranje pop-up prozora
DoCmd.Close
End Sub


Još na samu pop-up formu se stave sljedeće linije koda:

Code:

Private Sub Form_Activate()
Me.Requery
End Sub

Private Sub Form_Open(Cancel As Integer)

Me.Autor.SetFocus

Me![Autor] = prom
End Sub


Znači zadnja linija koda služi da se iz globalne varijable prenese vrijednost u textualno polje prilikom otvaranja pop-up prozora.

Mislim da je to to i da ništa nisam zaboravio.

Biti će mi drago ukoliko sam nekome pomogao. Kod je stvarno efektivan jer omogućuje da se sa dva klika miša unese nova vrijednost u tablicu Autori i da se novounešena vrijednost pojavi na glavnoj formi.

Nadam se da nisam ništa zaboravio od koda. Ukoliko bude problema javite mi, samo nemojte se ljutiti ukoliko budete čekali, nisam učestali gost koliko bih želio ovog foruma, jednostavno ne stignem. Kao i većina tu sam kad nešto zatrebam.
 
Odgovor na temu

[es] :: Access :: Pop Up forma + osvježavanje glavne forme

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

Postavi temu Odgovori

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