PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora

Google
 

Kontrolka Data

Właściwości | Zdarzenia | Metody

Kontrolka Data umożliwia dostęp do danych zawartych w bazie danych przez użycie jednego z trzech rodzajów typu obiektu Recordset. Kontrolka Data pozwala na przenoszenie rekordów, wyświetlanie i manipulowanie danymi z rekordów. Bez kontrolek Data lub innych kontrolek, które są źródłem danych, jak np. kontrolka RemoteData, inne kontrolki na formie nie mają bezpośredniego dostępu do danych.

Można uzyskać dostęp do najczęściej wykonywanych operacji na danych przez użycie kontrolki Data bez pisania dodatkowego kodu programu. Kontrolki skojarzone z kontrolką Data mogą automatycznie wyświetlać dane zawarte w jednym lub wielu polach bieżącego rekordu. Kontrolka Data umożliwia wykonywanie wszystkich operacji na bieżącym rekordzie.

Jeżeli kontrolka Data przesunie się na inny rekord, wszystkie skojarzone kontrolki automatycznie prześlą wszystkie zmiany do kontrolki Data, aby zachować zmiany w bazie danych. Kontrolka Data przenosi się na żądany rekord i przesyła dane z bieżącego rekordu do skojarzonych kontrolek, gdzie są one wyświetlane.

Kontrolka Data potrafi dodawać nowe rekordy, edytować i zachowywać zmiany istniejących rekordów i obsługiwać niektóre typy błędów. W niektórych aplikacjach potrzebne jednak będzie przechwycenie niektórych błędów, których kontrolka Data nie obsługuje.

Kontrolki skojarzone

Kontrolki DBList, DBCombo, DBGrid i MSFlexGrid są zdolne do zarządzania rekordami, kiedy są skojarzone z kontrolką Data. Kontrolki te pozwalają na równoczesne wyświetlanie i manipulowanie wieloma rekordami.

Kontrolki PictureBox, Label, TextBox, CheckBox, Image, OLEContainer, ListBox i ComboBox mogą być również skojarzone z pojedynczym polem obiektu Recordset zarządzanego przez kontrolkę Data. Dodatkowe kontrolki, które mogą być skojarzone z kontrolką Data, takie jak MaskedEdit i RichTextBox, dostępne są w wersjach Visual Basic Enterprise Edition i Visual Basic Professional Edition.

Operacje

Po uruchomieniu aplikacji, Visual Basic używa właściwości kontrolki Data do otwarcia wybranej bazy danych, stworzenia obiektu Database i stworzenia obiektu Recordset. Właściwości Database i Recordset kontrolki Data odnoszą się do nowo stworzonych obiektów Database i Recordset, które mogą być zmieniane przez kontrolkę Data - przez użycie lub bez użycia kontrolek skojarzonych. Kontrolka Data jest inicjalizowana przed zdarzeniem Form_Load formy, na której znajduje się kontrolka Data. Jeżeli wystąpi błąd podczas tej inicjalizacji zostanie wygenerowany błąd bez możliwości przechwycenia.

Podczas używania przez Visual Basic engine Jet database aby stworzyć Recordset, żadne inne operacje lub zdarzenia Visual Basic nie mogą wystąpić, zanim operacja ta nie zostanie zakończona. Jednak inne aplikacje systemu Windows mogą kontynuować działanie podczas gdy Recordset jest w fazie tworzenia. Jeżeli użytkownik przyciśnie klawisze CTRL+BREAK podczas tworzenia Recordset przez Jet engine, operacja zostanie przerwana i wystąpi błąd a właściwość Recordset kontrolki Data zostanie ustawiona na Nothing. W fazie projektowania drugie CTRL+BREAK powoduje wyświetlenie przez Visual Basic okna Debug.

Przy używaniu kontrolki Data do stworzenia obiektu Recordset lub podczas tworzenia obiektu Recordset w kodzie programu i kojarzenia go z kontrolką Data, Microsoft Jet database engine automatycznie rozprowadza obiekt Recordset. W rezultacie zakładka (bookmark) (lub dane recordset, dla obiektów Recorset typu snapshot) jest zapisywana w pamięci lokalnej; użytkownik nie musi manipulować kontrolką Data i nie trzeba wywoływać metody Move w kodzie programu.

Można manipulować kontrolką Data przy pomocy myszki, przesuwając pojedyncze rekordy lub na początek albo koniec Recordset. Właściwości EOFAction i BOFAction określa sposób zachowania, gdy użytkownik przejdzie na początek lub koniec Recordset przy użyciu myszki.
Nie można przenieść fokusa na kontrolkę Data.

Należy użyć zdarzenia Validate i właściwości DataChanged aby dokonać sprawdzenia rekordów, które mają być zapisane do bazy danych.

Obiekty dostępu do danych

Można używać obiektów dostępu do danych Database i Recordset stworzonych przez kontrolkę Data w procedurach. Obiekty Database i Recordset posiadają własne właściwości i metody i można napisać procedury, które wykorzystują te właściwości i metody do manipulowania danymi.

Np. metoda MoveNext obiektu Recordset przenosi bieżący rekord na następny rekord w Recordset. Aby wykorzystać tę metodę, należy użyć kodu programu:

Data1.Recordset.MoveNext

Kontrolka Data potrafi obsługiwać trzy typy obiektów Recordset Jet engine Version 3.0. Jeżeli nie zostanie określony typ rekordset, zostanie stworzony Recordset typu dynaset.

W wielu przypadkach, domyślny typ i konfiguracja obiektu Recordset jest zbyt rozbudowany. Może np. być zbyteczny dostęp do danych pozwalający na zmianę wartości. Np. obiekt Recordset typu snaphot, który jest tylko do odczytu i z możliwością przesuwania tylko do przodu może być szybciej stworzony niż typ domyślny. Należy więc wybrać odpowiednie wartości właściwości Type, Exclusive, Options i ReadOnly.

Stałe używane do określenia typu Recordset przy użyciu kontrolki Data są inne niż stałe używane do określenia typu Recordset tworzonego przez metodę OpenRecordset.

Aby wybrać określony typ Recordset, należy ustawić właściwość RecordsetType kontrolki Data:

Typ Recordset Wartość Stała
Table 0 vbRSTypeTable
Dynaset 1 (Domyślny) vbRSTypeDynaset
Snapshot 2 vbRSTypeSnapshot

Kontrolka Data nie może być używana do dostępu do obiektów Recordset stworzonych z ustawionym bitem dbForwardOnly.

Wersje Visual Basic Professional i Enterprise Editions

Wersje Learning Edition, Professional i Enterprise Editions Visual Basic mogą tworzyć różne typy obiektów z dostępem do danych. W wersji Standart Edition nie można zadeklarować (przy użyciu słowa Dim) zmiennych jako obiektów z dostępem do danych w kodzie programu. Oznacza to, że tylko kontrolka Data może tworzyć obiekty Database i Recordset.
W wersjach Professional i Enterprise Editions Visual Basic 5.0 można tworzyć nowe obiekty Recordset kojarzyć je z właściwością Recordset kontrolki Data. Każda kontrolka skojarzona z kontrolką Data może manipulować rekordami w stworzonym Recordset. Należy się upewnić, że właściwość DataField kontrolek skojarzonych jest ustawiona na nazwę pole dostępnego w nowym Recordset.

Przechowywanie zapytań (Queries)

Ważną opcją kontrolki Data jest możliwość wykonywania zapytań do bazy danych. Jeżeli zostanie stworzony obiekt QueryDef, kontrolka Data potrafi wykonać zapytanie i stworzyć obiekt Recordset użwając właściwości SQL, Connect i innych obiektu QueryDef. Aby wykonać QueryDef, należy ustawić właściwość RecordSource kontrolki Data na nazwę obiektu QueryDef i wykonać metodę Refresh.

Jeżeli QueryDef zawiera parametry, należy stworzyć Recordset i przekazać go do kontrolki Data.

Obsługa BOF/EOF

Kontrolka Data potrafi zadecydować, co się stanie, gdy Recordset nie zawiera więcej rekordów. Przez zmianę wartości właściwości EOFAction można wymusić, aby kontrolka przechodziła automatycznie w tryb AddNew.
Można użyć właściwości Align, aby automatycznie określić pozycję kontrolki Data na formie Form. W tym przypadku rozmiar kontrolki Data jest automatycznie zmieniany i dopasowywany do rozmiaru formy. Właściwość ta pozwala na umieszczenie kontrolek Data bezpośrednio na formach MDIForm.

Data

Właściwości:

Align sposób wyświetlania obiektu
Appearance wygląd kontrolek
BackColor kolor tła
BOFAction akcja podejmowana przy próbie przesunięcia rekordu przed pierwszy
Caption tekst (tytuł) kontrolki
Connect (DAO) informacja o źródle połączenia
DataBase odwołanie do obiektu Database
DataBaseName lokalizacja źródła danych
DefaultCursorType (DataControl) biblioteka kursorów kontrolki
DefaultType (DataControl) typ źródła danych
DragIcon wskaźnik przy operacjach drag-and-drop
DragMode tryb operacji drag-drop
EditMode (DAO) stan edycji bieżącego rekordu
Enabled reakcja na zdarzenia użytkownika
EOFAction akcja podejmowana przy próbie przesunięcia rekordu za ostatni
Exclusive dostępność bazy danych dla wielu użytkowników
Font obiekt Font kontrolki
FontBold pogrubienie czcionki
FontItalic pochylenie czcionki
FontName rodzaj czcionki
FontSize rozmiar czcionki
FontStrikethru przekreślenie czcionki
FontUnderline podkreślenie czcionki
ForeColor kolor kontrolki
Height wysokość obiektu
Index (Control Array) pozycja kontrolki w tablicy kontrolek
Left położenie lewej krawędzi obiektu
MouseIcon kursor myszki użytkownika
MousePointer kursor myszki
Name identyfikator obiektu
OLEDropMode sposób przechwytywania operacji drop
Options charakterystyka obiektu Recordset kontrolki
Parent właściciel obiektu
Read Only (Data Access) stan edycji kontrolki
Recordset obiekt Recordset kontrolki
RecordsetType typ tworzonego obiektu Recordset
RecordSource źródło rekordów kontrolki
Tag dodatkowe dane obiektu
ToolTipText podpowiedzi dla użytkownika
Top położenie górnej krawędzi obiektu
Visible ukrywanie obiektu
WhatsThisHelpID numer kontekstu pomocy
Width szerokość obiektu

na górę strony...

Zdarzenia:

DragDrop zakończenie przeciagąnia obiektu
DragOver przeciąganie obiektu
Error wystąpił błąd zewnętrzny Visual Basic
MouseDown wciśnięcie klawisza myszy
MouseMove przesuwanie wskaźnika myszy
MouseUp wciśnięcie klawisza myszy
OLECompleteDrag poinformowanie komponentu docelowego o zakończeniu operacji OLE drag/drop
OLEDragDrop opuszczanie komoponentu źródłowego na docelowym w operacji OLE drag/drop
OLEDragOver przeciąganie jednego komponentu nad drugim w operacji OLE drag/drop
OLEGiveFeedback zakończono zdarzenie OLEDragOver
OLESetData brak danych w odpowiednim formacie dla komponentu docelowego w operacji OLE drag/drop
Reposition rekord staje się bieżącym
Resize zmiana rozmiaru obiektu
Validate inny rekord ma stać się bieżącym

na górę strony...

Metody:

Drag rozpoczęcie, zakończenie lub przerwanie przeciąganie kontrolki
Move zmiana położenia obiektu
OLEDrag rozpoczęcie operacji drag/drop
Refresh odświeżenie zawartości obiektu
ShowWhatsThis wyświetlenie pomocy What's This?
UpdateControls wyświetlenie bieżącego rekordu w kontrolkach połączonych
UpdateRecord zapisanie wartości kontrolek połączonych
ZOrder zmiana kolejności z-order obiektów



Google
 
Poprzednia | Wyżej | Strona główna | Spis Treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora