-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â rss_sql_ru_access_programming

 -Ïîäïèñêà ïî e-mail

 

 -Ïîñòîÿííûå ÷èòàòåëè

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 16.03.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 4


Çàïóñê ñîáûòèÿ ôîðìû ñ ïîìùüþ òåêñòîâîé ïåðåìåííîé

×åòâåðã, 14 ßíâàðÿ 2016 ã. 08:48 + â öèòàòíèê
Âñåì ïðèâåò!
Ðàáîòàþ â MS Access 2002, c íåäàâíåãî âðåìåíè íà÷àë ðàáîòàòü ñ ìîäóëÿìè êëàññîâ, ïîíÿë ÷òî ýòî î÷åíü êëàññíàÿ âåùü, ïîçâîëÿåò ýêîíîìèòü êó÷ó âðåìåíè äëÿ ñîçäàíèÿ îäíîòèïíûõ çàäà÷ â ðàçíûõ ôîðìàõ.
Èç òîãî ÷òî ó ìåíÿ óæå ðàáîòàåò íà ìîäóëå êëàññà, ýòî
-ïîëó÷åíèå/ïîòåðÿ ôîêóñà(Lost/Got): îáðàáîòêà ñîáûòèé âñåõ òåêñò è êîìáî áîêñîâ â ôîðìàõ (ïîäñâåòêà ïîëÿ çåëåíûì öâåòîì ïðè ïîëó÷åíèè ôîêóñà);
-êëàâèøà ââåðõ(KeyUp):îòîáðàæåíèå ïåðåêëþ÷åíèÿ ðàñêëàäêè êëàâèàòóðû â äîï. ôîðìå (íåîáõîäèìî äëÿ óäàëåííîãî ðàáî÷åãî ñòîëà)
-äâîéíîé êëèê(DblClik): âûçîâ êàëåíäàðÿ âî âñåõ ôîðìàõ äëÿ ïîëåé, êîòîðûå èìåþò êîðîòêèé ôîðìàò äàòû
-îòñëåæèâàíèÿ çàïóùåííûõ ïðîãðàìì ó ïîëüçîâàòåëåé (Open/Unload)

Âðîäå âñå çàìå÷àòåëüíî, íî ñòîëêíóëñÿ ñ îäíîé ïðîáëåìîé ïðîãðàììèðîâàíèÿ.
Òàê âîò âðîäå âûãëÿäèò âñå õîðîøî, íî ïðîáëåìà â òîì, ÷òî åñëè â êîëëåêöèè ôîðì è êîíòðîëîâ ÿ ìîãó âûáðàòü èòåì ñ ïîìîùüþ ñòðîêîâîé ïåðåìåííîé, òî äëÿ ïóáëè÷íîãî ñîáûòèÿ ìíå íóæíî æåñòêîå íàçâàíèå ÈìåíèÊîíòðîëà.
Âñå ýòî íóæíî äëÿ ñîáûòèÿ âûçîâà êàëåíäàðÿ â ïîëÿõ äàòû. Ïîñëå òîãî êàê ïîëüçîâàòåëü ââîäèò äàòó ðóêàìè, ïðîèñõîäÿò ñîáûòèÿ BeforeUpdate, êîòîðûå îáû÷íî ïðîâåðÿþò âîçìîæíî ëè ââåäåíèå äàííîãî çíà÷åíèÿ â ïîëå è äàëåå ðàçðåøàþò âûïîëíåíèå AfterUpdate, â êîòîðûõ ïðîèñõîäÿò îñíîâíûå èçìåíåíèÿ è âûçîâû ðàçëè÷íûõ ôóíêöèé.
À âîò åñëè ìû âûçûâàåì êàëåíäàðü äâîéíûì êëèêîì, òî ïðîñòî ïðîèñõîäèò ñîáûòèå äâîéíîãî êëèêà è íè÷åãî íå ïðîèñõîäèò.
Äëÿ àâòîìàòèçàöèè íàïèñàë â ìîäóëå êëàññà âûçîâ íåîáõîäèìûõ ñîáûòèé.
Ìîäóëü êëàññà ðàáîòàåò ñ ôîðìîé ïî ññûëêå, ïîýòîìó íàïðÿìóþ âûïîëíÿòü ïðîöåäóðû â ôîðìå íå ïîëó÷àåòñÿ, ïðèõîäèòñÿ îáðàùàòüñÿ ïî èìåíàì ôîðì è êîíòðîëîâ â ôîðìàòå
Forms("ÈìÿÔîðìû").Controls("ÈìÿÊîíòðîëà").ÈìÿÊîíòðîëà_AfterUpdate

Ïîýòîìó ïîêà ïðèõîäèòñÿ èñïîëüçîâàòü âîò òàêîé êîñòûëü äëÿ îáðàáîòêè ñîáûòèé
Private Sub SelectAfterUpdate(tctrl As Object)
  Dim canl As Integer
  
  On Error Resume Next
  
  Select Case tctrl.Name
    Case "DATE_BEG"
      Forms(tctrl.Parent.Name).DATE_BEG_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_BEG_AfterUpdate
    Case "DATE_END"
      Forms(tctrl.Parent.Name).DATE_END_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_END_AfterUpdate
    Case "DATE_ZAKAZ"
      Forms(tctrl.Parent.Name).DATE_ZAKAZ_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_ZAKAZ_AfterUpdate
    Case "DATE_POSTAVKI"
      Forms(tctrl.Parent.Name).DATE_POSTAVKI_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_POSTAVKI_AfterUpdate
    Case "DATE_DOC"
      Forms(tctrl.Parent.Name).DATE_DOC_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_DOC_AfterUpdate
    Case "DATE_NEXT"
      Forms(tctrl.Parent.Name).DATE_NEXT_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_NEXT_AfterUpdate
    Case "DATE_PREV"
      Forms(tctrl.Parent.Name).DATE_PREV_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_PREV_AfterUpdate
    Case "DATE_CALENDAR"
      Forms(tctrl.Parent.Name).DATE_CALENDAR_BeforeUpdate canl
      If Not canl Then Forms(tctrl.Parent.Name).DATE_CALENDAR_AfterUpdate
  End Select

End Sub


Ïðèòîì ýòî òîëüêî îñíîâíûå è ñàìûå ðàñïðîñòðàíåííûå íàçâàíèÿ äëÿ ïîëåé, à åñòü åùå ìíîãî äðóãèõ, îêîëî 2-3 äåñÿòêîâ è äëÿ êàæäîãî ïðîïèñûâàòü íîâûé êåéñ, êàê òî íåïðàâèëüíî.
Õîòåëîñü èñïîëüçîâàòü ÷òî-òî áîëåå èçÿùíîå,âðîäå
Forms(tctrl.Parent.Name).(tctrl.Name).AfterUpdate

Ìîæåò êòî çíàåò äðóãèå ñïîñîáû, êàê ìîæíî îáðàùàòüñÿ ê ñîáûòèÿì ôîðìû

http://www.sql.ru/forum/1195137/zapusk-sobytiya-formy-s-pomshhu-tekstovoy-peremennoy


 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó