program do obsługi bazy Access

0

Czy ktoś mógłby mi podać adres stronki lub jakiś inny sposób jak stworzyć program do obsługi bazy danych (odczyt i zapis rekordów) zrobionej w Accessie ???

1

Bardzo proszę !

Najpierw utwórz bazę danych w Accesie, przynajmniej z jedną tabelą. Wprowadź jakieś przykładowe dane i zapisz ją gdzieś na dysku.
Uruchom teraz Administratora ODBC: odbcad32.exe (u mnie na Win2000 jest to %SystemRoot%\system32\odbcad32.exe).
Teraz musisz utworzyć tzw. alias.
Wybierz zakładkę User Data Sources, zaznacz na liście Baza Danych MS Access i kliknij przycisk Add...
Pojawi się okienko Create New Data Source. Zaznacz na liście Driver do Microsoft Access (*.mdb) i kliknij przycisk Zakończ.
Pojawi się okienko ODBC - ustawienia dla programu Microsoft Access. W polu tekstowym Nazwa źródła danych wpisz jakąś nazwę, najlepiej opisującą Twoją bazę. To będzie Alias. Teraz kliknij przycisk Wybierz... i podaj ścieżkę do pliku MDB. Kliknij OK, kliknij OK.
No to mamy już bazę danych i alias.

Teraz uruchom Delphi, utwórz i zapisz nowy projekt.
Na palecie komponentów przejdź na zakładkę ADO i przeciągnij na formularz ADOTable.
Kliknij ADOTable i w Inspektorze Obiektów, we właściwości ConnectionString kliknij przycisk z 3 kropkami.
Pojawi się okienko Form1.ADOTable1 ConnectionString. Zaznacz radio buttona Use Connection String i kliknij przycisk Build...
Pojawi się okienko Data Link Properties. Przejdź na zakładkę Provider i upewnij się, że na liście zaznaczona jest opcja Microsoft OLE DB Provider for ODBC Drivers. Kliknij przycisk Next. Zaznacz radio buttona Use data source name i w combo boxie wybierz utworzony wcześniej alias. Przejdż jeszcze na zakładkę Advanced i ustaw żądany tryb dostępu do bazy (do odczytu, zapisu, odczytu i zapisu...). Kliknij OK, kliknij OK.
Teraz nanieś na formularz komponent DataSource i DBGrid. We właściwości DataSet komponentu DataSource ustaw ADOTable1. We właściwości DataSource komponentu DBGrid ustaw DataSource1.
Teraz zaznacz ADOTable, ustaw jego właściwość TableName na nazwę utworzonej wcześniej tabeli i w końcu ustaw Active na True.
Jeśli wszystko poszło OK, powinieneś w tej chwili być połączony z bazą Access-a, którą możesz już przeglądać w DBGrid !!

Zapomniałem jeszcze o jednej, dość istotnej sprawie.

A mianowicie, jeśli używasz Delphi 5 (to moja ulubiona wersja), będziesz miał problemy z bazami Access-a (a może nawet z wszystkimi, do których się łączysz poprzez ODBC). W Delphi 5 jest BŁĄD. Jeśli wykonasz np. zapytanie SQL, które zwróci pusty zestaw danych (czyli nic) pojawiają się wówczas dziwne błędy.
Pamiętam, że parę godzin nad tym siedziałem i nic nie mogłem zrobić. W końcu poszedłem po rozum do głowy i zacząłem szukać jakichś informacji w Internecie. No i znalazłem! Otóż okazało się, że Delphi 5 ma BUG-a. Ale jest na szczęście łatka (ADOUpdate), którą możesz ściągnąć ze strony Borlanda, tylko nie pamiętam czy na http://www.borland.com, czy http://www.borland.pl (a może tu i tu?).
W Delphi 6 i Delphi 7 wszystko działa bez zarzutu.

Mam nadzieję, że chociaż troszkę pomogłem!


Do Anonima

Zanim w Delphi 5 zaczniesz cokolwiek robić z bazami danych, z którymi się łączysz poprzez komponenty ActiveX Data Objects (ADO), zainstaluj patch-a [b]ADOUpdate[/b], którego możesz ściągnąć z tej strony: http://www.borland.pl/delphi/patche.shtml
Ale, żeby zainstalować tego patch-a, wcześniej musisz zainstalować [b]Delphi 5 Update Pack 1[/b], którego również możesz ściągnąć z wyżej podanej strony.
Po instalacji tych dwóch łatek wszystko powinno działać OK.

0

Dziękuję bardzo :) cieszę się jak małedziecko , tym bardziej że dopiero zaczynam

0

:) rzeczywiście pod Delphi 5 wyskakują jakieś problemy, ale nie mogę edytować rekordów mimo że dałem ReadWrite, jak próbuję edytować to mi kasuje te które są i wstawia nowy co się dzieje ??

0

Pytanie do Jack'a.
Czy ten "zabieg" który opisałeś gwarantuje, że po uruchomieniu programu na innym kompie z tą bazą danych (plik bazy access) dane bedą widoczne ??

0

Pytanie do Jack'a.
Czy ten "zabieg" który opisałeś gwarantuje, że po uruchomieniu programu na innym kompie z tą bazą danych (plik bazy access) dane bedą widoczne ??

"Na innym kompie" trzeba by było utworzyć alias dla naszej bazy i odpowiednio go skonfigurować. Tutaj jest sposób na łączenie się z bazami Access-a bez aliasów: http://4programmers.net/Forum/viewtopic.php?id=42523.

1 użytkowników online, w tym zalogowanych: 0, gości: 1