🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
5 messages
5 total messages Started by Stan Mon, 02 Oct 2017 12:48
Autoaktualizacja PolaKombi
#137530
Author: Stan
Date: Mon, 02 Oct 2017 12:48
8 lines
1751 bytes
W Formularzu1 mam PoleKombi1 którego źródłem danych jest Tabela1.
PoleKombi1 wyświetla łączone pola z Tabeli1:  [Nazwisko] & ” ” & [Imię] & ” ” & [Miejscowość]

Przy wpisywaniu wartości spoza listy otwiera się Formularz2 w którym dodaję nowego adresata do Tabeli1.

Chciałbym, aby po zamknięciu Formularza2 i powrocie do Formularza1 – PoleKombi1 automatycznie wyświetliło ostatniego dodanego adresata, czyli wartości z ostatniego rekordu Tabeli1

Proszę o pomoc w kodzie VBA, dzięki
Re: Autoaktualizacja PolaKombi
#137531
Author: minfo
Date: Mon, 02 Oct 2017 19:01
28 lines
1896 bytes
Jeżeli zawsze zamykasz Formularz2.
Spróbuj ustawić zdarzenie Unload dla Formularza2:

Private Sub Form_Unload(Cancel As Integer)
Forms!Formularz1!PoleKombi1.Requery 
End Sub



***

Przykład na stronach Microsoftu jak odświeżać pole kombi formularza:

    Public Sub RequeryList() 

    Dim ctlCombo As Control 

    ' Return Control object pointing to a combo box. 
    Set ctlCombo = Forms!Employees!ReportsTo 

    ' Requery source of data for list box. 
    ctlCombo.Requery 

End Sub


Pozdrawiam
MF
Re: Autoaktualizacja PolaKombi
#137532
Author: Stan
Date: Tue, 03 Oct 2017 04:53
5 lines
1991 bytes
Przepraszam, mało precyzyjnie się wyraziłem.
Nie chodzi o odświeżenie PolaKombi - tu Requery załatwia sprawę i nowy rekord znajduje się na liście.
Chciałbym natomiast aby PoleKombi samo wybrało ze swojej listy ostatni dodany do Tabveli1 rekord - tak, abym nie musiał ręcznie go wybierać poprzez wpisywanie.
Coś w rodzaju:
Me.PoleKombi.Value = [PoleKombi].[ItemData](0) - tylko tu chcę ustawić ostatni dodany w Tabeli 1
Re: Autoaktualizacja PolaKombi
#137533
Author: minfo
Date: Tue, 03 Oct 2017 08:31
10 lines
1693 bytes
Ok, rozumiem! Nie o to chodziło.

Może załóż Bookmark na dopisany rekord i potem otwórz Formularz1 na tym rekordzie.

Przykład w MS:

https://msdn.microsoft.com/en-us/library/office/ff823084.aspx

MF
Re: Autoaktualizacja PolaKombi
#137534
Author: Zbigniew Bratko
Date: Wed, 04 Oct 2017 08:24
48 lines
2587 bytes
W dniu 2017-10-03 o 06:53, Stan pisze:
> Przepraszam, mało precyzyjnie się wyraziłem.
> Nie chodzi o odświeżenie PolaKombi - tu Requery załatwia sprawę i nowy rekord znajduje się na liście.
> Chciałbym natomiast aby PoleKombi samo wybrało ze swojej listy ostatni dodany do Tabveli1 rekord - tak, abym nie musiał ręcznie go wybierać poprzez wpisywanie.
> Coś w rodzaju:
> Me.PoleKombi.Value = [PoleKombi].[ItemData](0) - tylko tu chcę ustawić ostatni dodany w Tabeli 1
> 


Nie wiem jak przechowujesz w tabeli źródłowej Formularza1 dane klienta. 
Czy tylko ID klienta z Tabeli1 (wtedy pole kombi powinno posiadać dwie 
kolumny:
ID - ukryta powiązana kolumna
oraz
[Nazwisko] & ” ” & [Imię] & ” ” & [Miejscowość] - widoczna


Jeśli przechowujesz- [Nazwisko] & ” ” & [Imię] & ” ” & [Miejscowość] 
wtedy pole kombi zawiera tylko jedną kolumnę.

Przykładowy kod w Formularzu2 dla w/w przypadków:

Option Compare Database
Option Explicit

Private m_strKlient As String
Private m_lngIDKlient As String
'_____________________________
Private Sub Form_AfterUpdate()
   m_lngIDKlient = Me!ID
   m_strKlient = Me!Nazwisko & " " & Me!Imie & " " & Me!Miejscowosc
End Sub
'________________________
Private Sub Form_Close()
   ' Formularz1 musi być otwarty
   If Len(m_strKlient) > 0 Then
     Forms("Formularz1").Controls("cboKlient1").Value = m_lngIDKlient
     Forms("Formularz1").Controls("cboKlient2").Value = m_strKlient
   End If
End Sub



-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads