🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych.msaccess
Article #137453

Re: KeyCode a uzyskanie focusu

#137453
From: Zbigniew Bratko
Date: Fri, 28 Apr 2017 15:42
60 lines
3334 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
Technical Details
Message-ID: <odvnta$7ht$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <98b3e0c5-5183-4ad7-9d94-357aee55c6d6@googlegroups.com> <odv0s3$mic$1@node2.news.atman.pl> <cb7d0053-69d9-456c-ab53-689a07b6d377@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Zbigniew Bratko <byle@co.pl>
Newsgroups: pl.comp.bazy-danych.msaccess
Subject: Re: KeyCode a uzyskanie focusu
Date: Fri, 28 Apr 2017 17:42:27 +0200
Organization: ATMAN - ATM S.A.
Lines: 60
Message-ID: <odvnta$7ht$1@node1.news.atman.pl>
References: <98b3e0c5-5183-4ad7-9d94-357aee55c6d6@googlegroups.com> <odv0s3$mic$1@node2.news.atman.pl> <cb7d0053-69d9-456c-ab53-689a07b6d377@googlegroups.com>
NNTP-Posting-Host: 37.248.152.81
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1493394154 7741 37.248.152.81 (28 Apr 2017 15:42:34 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Fri, 28 Apr 2017 15:42:34 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
In-Reply-To: <cb7d0053-69d9-456c-ab53-689a07b6d377@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit