Thread View: pl.comp.bazy-danych.msaccess
6 messages
6 total messages
Started by LeszekN
Thu, 27 Apr 2017 03:07
KeyCode a uzyskanie focusu
Author: LeszekN
Date: Thu, 27 Apr 2017 03:07
Date: Thu, 27 Apr 2017 03:07
18 lines
578 bytes
578 bytes
Witam Jak to zrobić? aby w Fnazwa uzyskać fokus po naciśnięciu klawisza'y ale też w wpisał się klawisz, czyli przy naciśnięciu np. "z" w fnazwa pojawiło się to "z" Z uzyskaniem focusu niema problemu. Private Sub Symbol_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 13 'ENTER DoCmd.OpenForm "frm", acNormal, , , acFormAdd, acDialog Case Else Forms!frmWyborTowary.FNazwa.SetFocus End Select End Sub pozdrawiam Leszek
Re: KeyCode a uzyskanie focusu
Author: Smyk
Date: Thu, 27 Apr 2017 15:44
Date: Thu, 27 Apr 2017 15:44
22 lines
625 bytes
625 bytes
LeszekN wrote at Do 27.04.2017 12:07: > Witam > Jak to zrobiæ? aby w Fnazwa uzyskaæ fokus po naci¶niêciu klawisza'y ale > te¿ w wpisa³ siê klawisz, czyli przy naci¶niêciu np. "z" w fnazwa pojawi³o > siê to "z" Z uzyskaniem focusu niema problemu. > > Private Sub Symbol_KeyDown(KeyCode As Integer, Shift As Integer) > Select Case KeyCode > Case 13 'ENTER > DoCmd.OpenForm "frm", acNormal, , , acFormAdd, acDialog > > Case Else > > Forms!frmWyborTowary.FNazwa.SetFocus SendKeys Chr(KeyCode) '-- Moze tak ? > End Select > End Sub Ciao, Smyk
Re: KeyCode a uzyskanie focusu
Author: LeszekN
Date: Fri, 28 Apr 2017 07:10
Date: Fri, 28 Apr 2017 07:10
32 lines
1259 bytes
1259 bytes
> Otwarty jest formularz "frmWyborTowary", ustawiasz fokus na formancie > "FNazwa" i chcesz by w trakcie pisania tekstu w formancie "Symbol" taki > sam tekst pojawił się w formancie "FNazwa". > Czy dobrze rozumuję ? Witam Pana Zbigniewa, dzięki za zainteresowanie. Formant "symbol" pochodzi z podfomularza, jest to lista Towarów, po której poruszamy się za pomocą strzałek, enter otwiera Formularz ze szczegółami danego rekordu, natomiast przy naciśnięciu klawiszy od a do z oczywiście alt, ctrl, shift, liczby, itp chciałbym aby najpierw uzyskać focus na Fnazwa a potem pojawił się znak wciśnięty na klawiaturze a dalej wyjaśni to poniższy kod Private Sub FNazwa_Change() On Error Resume Next Static iLen As Byte rs.FindFirst "NazwaTowaru Like '" & Me!FNazwa.Text & "*'" If rs.NoMatch Then 'zaczerniamy ten fragment, który nie pasuje Me!FNazwa.SelStart = iLen Me!FNazwa.SelLength = 255 Else 'znalazł rekord, synchronizujemy formularz z recordsetem iLen = Len(Me!FNazwa.Text) sB.Bookmark = rs.Bookmark End If End Sub pozdrawiam Leszek
Re: KeyCode a uzyskanie focusu
Author: Zbigniew Bratko
Date: Fri, 28 Apr 2017 11:09
Date: Fri, 28 Apr 2017 11:09
30 lines
1009 bytes
1009 bytes
W dniu 2017-04-27 o 12:07, LeszekN pisze: > Witam > Jak to zrobić? aby w Fnazwa uzyskać fokus po naciśnięciu klawisza'y ale też w wpisał się klawisz, czyli przy naciśnięciu np. "z" w fnazwa pojawiło się to "z" > Z uzyskaniem focusu niema problemu. > > Private Sub Symbol_KeyDown(KeyCode As Integer, Shift As Integer) > Select Case KeyCode > Case 13 'ENTER > DoCmd.OpenForm "frm", acNormal, , , acFormAdd, acDialog Czyli w przypadku naciśnięcia ENTER w formancie "Symbol" otwierany jest formularz dialogowy "frm" i przypadek ten nas nie interesuje, gdyż formularz dialogowy wstrzymuje wykonywanie kodu w formularzu bieżącym. > > Case Else > > Forms!frmWyborTowary.FNazwa.SetFocus Otwarty jest formularz "frmWyborTowary", ustawiasz fokus na formancie "FNazwa" i chcesz by w trakcie pisania tekstu w formancie "Symbol" taki sam tekst pojawił się w formancie "FNazwa". Czy dobrze rozumuję ? -- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl
Re: KeyCode a uzyskanie focusu
Author: LeszekN
Date: Fri, 28 Apr 2017 15:05
Date: Fri, 28 Apr 2017 15:05
16 lines
439 bytes
439 bytes
Rozwiązanie problemu ;) Private Sub Symbol_KeyDown(KeyCode As Integer, Shift As Integer) Forms!frmWybortowary.FNazwa.SetFocus Select Case KeyCode Case 13 ' ENTER DoCmd.OpenForm "frmWyborTowaru", acNormal, , , acFormAdd, acDialog Case Else SendKeys Chr(KeyCode) End Select End Sub Podpowiedz Smyka rozwiązała problem uzyskania focusu oraz wpisanie klawisza. pozdrawiam Leszek
Re: KeyCode a uzyskanie focusu
Author: Zbigniew Bratko
Date: Fri, 28 Apr 2017 17:42
Date: Fri, 28 Apr 2017 17:42
59 lines
2289 bytes
2289 bytes
W dniu 2017-04-28 o 16:10, LeszekN pisze: >> Otwarty jest formularz "frmWyborTowary", ustawiasz fokus na formancie >> "FNazwa" i chcesz by w trakcie pisania tekstu w formancie "Symbol" taki >> sam tekst pojawił się w formancie "FNazwa". >> Czy dobrze rozumuję ? > > Witam Pana Zbigniewa, dzięki za zainteresowanie. > > Formant "symbol" pochodzi z podfomularza, jest to lista Towarów, po której poruszamy się za pomocą strzałek, enter otwiera Formularz ze szczegółami danego rekordu, natomiast przy naciśnięciu klawiszy od a do z oczywiście alt, ctrl, shift, liczby, itp chciałbym aby najpierw uzyskać focus na Fnazwa a potem pojawił się znak wciśnięty na klawiaturze a dalej wyjaśni to poniższy kod [...] Tak jak pisałem wcześniej. Formularz "frmWyborTowary" nie może być otwarty z argumentem acDialog (formularz dialogowy), bo wykonanie kodu zatrzyma się na linijce otwarcia formularaz i zostanie wznowione po jego zamknięciu. Może w ten sposób da się osiągnąć zamierzony cel: '________________________________________________________________ Private Sub Symbol_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then ' sprawdź, czy jest załadowany formularz If Not IsFormLoaded("frmWyborTowary") Then DoCmd.OpenForm "frmWyborTowary", acNormal, , , acFormAdd ', acDialog Forms("frmWyborTowary").Controls("fNazwa").SetFocus DoEvents End If End If End Sub '____________________________________________________________ Private Sub Symbol_KeyUp(KeyCode As Integer, Shift As Integer) ' sprawdź, czy jestn załadowany formularz If Not IsFormLoaded("frmWyborTowary") Then Exit Sub ' sprawdź, czy fokus jest w formancie "fNazwa" If StrComp("fNazwa", Forms("frmWyborTowary").ActiveControl.Name, vbTextCompare) <> 0 Then Forms("frmWyborTowary").Controls("fNazwa").SetFocus DoEvents End If ' wpisz tekst w formancie "fNazwa" Forms!frmWyborTowary.fNazwa.Text = Me.Symbol.Text End Sub '___________________________________________________________ Private Function IsFormLoaded(strFrmName As String) As Boolean On Error Resume Next IsFormLoaded = CBool(Forms(strFrmName).Hwnd) End Function -- 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