[ Pobierz całość w formacie PDF ]
.Response = acDataErrContinueTworzenie automatycznie rozwijaj¹cej siê listy rozwijanejIle razy chcia³eœ po prostu przejœæ do pola listy tak, by rozwinê³a siêautomatycznie bez u¿y­cia polecenia SendKeys? W Accessie 97, jedyne co musiszzrobiæ to wpisaæ po­ni¿­sz¹ linijkê kodu do zdarzenia Enter:ActiveControl.DropDownTo wszystko!Tworzenie w³asnych list rozwijanychZazwyczaj wartoœci w rozwijanych polach pochodz¹ z tabeli lub kwerendy.Ale tonie jest jedyna mo¿liwoœæ.Ustawiaj¹c w³aœciwoœæ Typ Ÿród³a wierszy na Listapól, mo¿esz wy­braæ przegl¹danie pól w bazowej tabeli lub kwerendzie.Mo¿eszrównie¿ wybraæ w tej w³aœciwoœci nazwê dowolnej funkcji, która bêdziewyœwietlaæ dowoln¹ listê.Na­wet, jeœli nie zauwa¿ysz od razu korzyœcip³yn¹cych z takiego rozwi¹zania, przydaje siê ono, gdy chcesz dodaæ do listyspecjaln¹ wartoœæ jak na przyk³ad Wszystkie.Opcja ta przy­da siê równie¿, gdybêdziesz chcia³ wyœwietliæ przydatn¹ dla ksiêgowych, wy­rów­na­n¹ do prawejlistê wartoœci walutowych.To ostatnie rozwi¹zanie mo¿liwe jest po­przezumieszczenie spacji po lewej stronie wartoœci i wyœwietlenie za pomoc¹ czcionkio sta³ej szerokoœci (np.Courier).Oto fragment kodu, znajduj¹cy siê w bazie danych Solutions.mdb, któryprzedstawia spo­sób, jak dodaæ u góry listy rozwijanej wartoœæ specjaln¹Wszystkie.Function AddAllToList(ctl As Control, lngID As Long, _lngRow As Long, lngCol As Long, intCode As Integer) As Variant' Dodaje u góry listy wartoœæ specjaln¹ "Wszystkie"' Mo¿na dodaæ "Wszystkie" do ró¿nych kolumn listyStatic dbs As Database, rst As RecordsetStatic lngDisplayID As LongStatic intDisplayCol As IntegerStatic strDisplayText As StringDim intSemiColon As IntegerOn Error GoTo Err_AddAllToListSelect Case intCodeCase acLBInitialize' See if function is already in use.If lngDisplayID 0 ThenMsgBox "AddAllToList Jest ju¿ u¿ywane przez inny formant !"AddAllToList = FalseExit FunctionEnd If' Wy³uskanie kolumny do wyœwietlenia i wyœwietlenie tekstu z' w³asnoœci TagintDisplayCol = 1.strDisplayText = "(Wszystkie)"If Not IsNull(ctl.Tag) ThenintSemiColon = InStr(ctl.Tag, ";")If intSemiColon = 0 ThenintDisplayCol = Val(ctl.Tag)ElseintDisplayCol = Val(Left(ctl.Tag, intSemiColon - 1))strDisplayText = Mid(ctl.Tag, intSemiColon + 1)End IfEnd If' Otwórz recordset zdefiniowany przez w³asnoœæ RowSourceSet dbs = CurrentDbSet rst = dbs.OpenRecordset(ctl.RowSource, dbOpenSnapshot)' Zapamiêtaj i zwróæ lngIdlngDisplayID = TimerAddAllToList = lngDisplayIDCase acLBOpenAddAllToList = lngDisplayIDCase acLBGetRowCount' Zwróæ iloœæ wierszy w wynikuOn Error Resume Nextrst.MoveLastAddAllToList = rst.RecordCount + 1.Case acLBGetColumnCount' Zwróæ iloœæ kolumn w wynikuAddAllToList = rst.Fields.CountCase acLBGetColumnWidthAddAllToList = -1.Case acLBGetValueIf lngRow = 0 ThenIf lngCol = int0isplayCol - 1 ThenAddAllToList = strDisplayTextElseAddAllToList = NullEnd IfElserst.MoveFirstrst.Move lngRow - 1AddAllToList = rst(lngCol)End IfCase acLBEndlngDisplayID = 0rst.CloseEnd SelectBye_AddAllToList:Exit FunctionErr_AddAllToList:MsgBox Err.Description, vbOKOnly + vbCritical, "AddAllToList"AddAllToList = FalseResume Bye_AddAllToListEnd FunctionPobieranie wiêcej ni¿ jednej wartoœci z pola listy i listy rozwijanejKorzystaj¹c z w³aœciwoœci Column, mo¿esz pobraæ wartoœæ z dowolnej kolumny wpolu lis­ty lub listy rozwijanej.W w³aœciwoœci Column pierwsza kolumna manumer 0, druga 1, i tak dalej.Przyk³adowo, aby odczytaæ wartoœæ z czwartej kolumny listy rozwijanej,wpisa³byœ:MyVariantValue = Me!MyComboBox.Column(3)Pole listyPole listy przypomina opisan¹ powy¿ej listê rozwijan¹.Ró¿nica tkwi wmo¿liwoœci prze­gl¹dania wszystkich mo¿liwych wartoœci bez koniecznoœcirozwijania listy.Rów­nie¿ w przeciwieñstwie do listy rozwijanej, pole listyumo¿liwia wybranie kilku war­toœ­ci jednoczeœnie.Opcja ta przydaje siê wsytuacji, gdy chcesz umo¿liwiæ u¿ytkownikowi w two­rzonym przez Ciebie systemieprzegl¹danie informacji o 5 ze 100 wpisów (fak­tu­ry, ludzie, p³yty CD czyciê¿arówki).Poniewa¿ wiêkszoœæ w³aœciwoœci pola listy zos­ta­³a ju¿ opisana,skoncentrujemy siê na ró¿nicach.Pole listy wielokrotnego wyboruW Accessie 2 istnia³y sztuczki pozwalaj¹ce na umo¿liwienie u¿ytkownikomwybieranie kil­ku wartoœci z listy.Pocz¹wszy od Accessa 2000, wybieranie kilkuwartoœci naraz sta­³o siê ³atwe dziêki polu listy wielokrotnego wyboru.Jednak¿e pobieranie wybranych war­toœci nie zawsze jest tak intuicyjne.Ustawienia w³aœciwoœciAby u¿ywaæ pola listy wielokrotnego wyboru, musisz najpierw utworzyæ zwyk³epole lis­ty i póŸniej przekszta³ciæ je w pole wielokrotnego wyboru.Mo¿esz tegodokonaæ, zmie­niaj¹c znajduj¹c¹ siê na arkuszu w³aœciwoœci obiektu w³aœciwoœæWybór wielo­krot­ny.W tabeli 8 [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • orla.opx.pl