Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: [Access]dynamiczna aktualizacja labela operacja na dwoch form'ach
ceo
ceo




Typ: neutral
Postów: 18
Zarejestrowany: Feb 2005
[Access]dynamiczna aktualizacja labela operacja na dwoch form'ach

mam dwa formularze:

pierwszy to lista sprzedawcow (listbox dla listy i labele dla podgladu danych w zaleznosci co wybralem w listboxie) . Gdy zmieniam pozycje w listboxie to zawartosc labeli sie zmienia, pieknie dziala.

Drugi formularz to edycja danych sprzedawcy,tj. w pierwszym katalogu klikam na listboxie na jakis rekord i klikam na butona otwierajacego formularz do edycji . Textboxy mam wypelnione danymi sprzedawcy, jednak gdy zmienie pola i przyciskiem uruchamiam kwerende aktualizujaca to dane w listboxie ktore zmienilem sie zmieniaja super jednak dane w labelach zostaja stare, przed edycja. Jak zrobic by sie odswiezyly?

Ponizej zamieszczam kod :

Kod pierwszego forma - lista sprzedawcow
#########################################


Private Sub ListaSprzed_AfterUpdate()

Me.ids.Caption = Me.ListaSprzed.Column(0)
Me.NazwaFirmySprzed.Caption = Me.ListaSprzed.Column(1)
Me.NazwiskoSprzed.Caption = Me.ListaSprzed.Column(2)
Me.ImieSprzed.Caption = Me.ListaSprzed.Column(3)
Me.AdresSprzed.Caption = Me.ListaSprzed.Column(4)
Me.MiastoSprzed.Caption = Me.ListaSprzed.Column(5)
Me.KodPocztowySprzed.Caption = Me.ListaSprzed.Column(6)
Me.NipSprzed.Caption = Me.ListaSprzed.Column(7)
Me.BankSprzed.Caption = Me.ListaSprzed.Column(8)
Me.NrKontaSprzed.Caption = Me.ListaSprzed.Column(9)

End Sub

Private Sub Polecenie36_Click()
On Error GoTo Err_Polecenie36_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "edycja_sprzedawcy"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Polecenie36_Click:
    Exit Sub

Err_Polecenie36_Click:
    MsgBox Err.Description
    Resume Exit_Polecenie36_Click
   
End Sub




Kod Drugiego forma-edycja sprzedawcy
#######################################

Private Sub Form_Load()

'tu pobieram dane z forma pierwszego do edycji

Me.txtIds = Forms![sprzedawcy]![ids].Caption
Me.txtNazwaFirmySprzed = Forms![sprzedawcy]![NazwaFirmySprzed].Caption
Me.txtNazwiskoSprzed = Forms![sprzedawcy]![NazwiskoSprzed].Caption
Me.txtImieSprzed = Forms![sprzedawcy]![ImieSprzed].Caption
Me.txtAdresSprzed = Forms![sprzedawcy]![AdresSprzed].Caption
Me.txtMiastoSprzed = Forms![sprzedawcy]![MiastoSprzed].Caption
Me.txtKodPocztowySprzed = Forms![sprzedawcy]![KodPocztowySprzed].Caption
Me.txtNipSprzed = Forms![sprzedawcy]![NipSprzed].Caption
Me.txtBankSprzed = Forms![sprzedawcy]![BankSprzed].Caption
Me.txtNrKontaSprzed = Forms![sprzedawcy]![NrKontaSprzed].Caption

End Sub

Private Sub Polecenie2_Click()
Dim strSql As String

On Error GoTo Err_Polecenie2_Click
strSql = jakies zapytanie SQL Aktualizujace rekord
Debug.Print strSql

DoCmd.RunSQL strSql


'tu dokonuje aktualizacji listboxa z pierwszego forma
Forms![sprzedawcy]!ListaSprzed.Requery

Exit_Polecenie2_Click:
    Exit Sub

Err_Polecenie2_Click:
    MsgBox Err.Description
    Resume Exit_Polecenie2_Click
   
End Sub

17-02-2005 01:08
Pokaż profil ceo  Wyślij email do ceo   Odwiedź stronę ceo       441633
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Generalnie - chyba za bardzo to skomplikowałeś, za dużo kodu za mało wykorzystania możliwości Accessa

- brak podanego kryterium linkowania, a aby można było z takiegoż skorzystać należałoby:

- formularz 2-gi powinien być oparty na kwerendzie powiązanej z listą, nie byłoby potrzeby wypełniania w kodzie, kontrolki 2-go formularza powinny być powiązane

- formularz 2-gi chyba należałoby wywołać w trybie acDialog

i najważniejsze:

Changing data in a control by using Visual Basic or a macro containing the SetValue action doesn't trigger these events for the control. However, if you then move to another record or save the record, the form's AfterUpdate event does occur.

Dlatego właśnie nie wypełniają się kontrolki Label. I jeśli koniecznie chcesz tak pozostawić to wypełnianie możesz tylko zapewnić sobie w kodzie...


P.S. Na 1-szym formularzu również

- listę umieściłabym w sekcji nagłówka

- kontrolki wyświetlające wybrany z listy rekord w podformularzu opartym na kwerendzie wybierającej według wyboru z listy, a "ręczne" wypełnianie kontrolek

-  i wtedy nie etykiety tylko odpowiednio skonfigurowane i powiązane kontrolki pole tekstowe, niczym się wtedy w wyglądzie nie będa różniły od etykiet i po zmianie pozycji listy same będą się aktualizowałay, a po Requery dla listy wystarczy również Requery dla podformularza.

[Post edytowany dnia 17-02-2005 12:36 przez karolinavb]


_____________________________________________
Karolina

17-02-2005 12:34
Pokaż profil karolinavb  Wyślij email do karolinavb   
ceo
ceo




Typ: neutral
Postów: 18
Zarejestrowany: Feb 2005

dzieki wielkie , bardzo mi pomoglas , pozdrawiam cieplo

28-02-2005 00:00
Pokaż profil ceo  Wyślij email do ceo   Odwiedź stronę ceo       441633
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

A dlaczego robisz aktualizację w labelach?
Możesz to samo i bez dodatkowej obsługi zrobić za pomocą podformularzy.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

28-02-2005 23:16
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
ceo
ceo




Typ: neutral
Postów: 18
Zarejestrowany: Feb 2005

no np na listboxie wybieram jakas osobe sa tam nazwa firmy i nazwisko a reszta danych , adres, miasto itd.  pojawiaja sie obok w labelach i zmieniaja sie w zaleznosci od pozycji wybranej na listboxie i ma sie wtedy podglad reszty danych

01-03-2005 00:33
Pokaż profil ceo  Wyślij email do ceo   Odwiedź stronę ceo       441633
Wszystkich odpowiedzi: 4 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1