Oglądasz wypowiedzi znalezione dla frazy: Microsoft DAO





Temat: Jak podłączyć referencje?
Napisałem aplikację, która m. in. automatyzuje pracę Worda, a więc w edytorze

isual Basic, w okienku References, ma podłączone np. "Microsoft Word 8.0". Po

przeniesieniu jej na inny komputer często muszę dokonać tego podłączenia
ręcznie. Jak to zautomatyzować?

Czy można w zdarzeniu OnOpen formularza startowego dodać kod, który
automatycznie "podlinkuje" potrzebne biblioteki? Co w tym kodzie napisać?

I druga sprawa:
Czy jest gdzieś lista bibliotek (z listy w okienku "References") i
odpowiadających im plików na komputerze? Wiem, że struktura plików jest nieco
inna pod Win98 i np. pod WinNT, a chciałbym mieć podlinkowaną bibliotekę
do "Microsoft Word 8.0" niezależnie od wersji systemu i ścieżki. Przyszło mi
do głowy, żeby zgrać potrzebne pliki do swojego foldera i instalować je razem
z bazą, ale pojawiają się wątpliwości co do:
 a) legalności takiej zabawy - czy wolno to robić??? To niby klon (kopia
zapasowa) części legalnego systemu, ale z MS nic nie wiadomo...

b) tego, który plik co oznacza (jak wybieram "Microsoft Word 8.0" z listy, to

widzę na dole okienka tylko kawałek ścieżki, bo jest ono jakoś za wąskie). W
konsekwencji nie wiem, który plik .dll odpowiada za bibliotekę np. "Microsoft
DAO 3.51" (nie poprawiajcie mnie bo walę z pamięci :) ).

Hmmmm... Jakieś pomysły?

Pozdrawiam,
Krzysiek

Przeczytaj wszystkie posty z tego wątku



Temat: Excel NTG

Witam wiem ,że NTG ale nie wiem gdzie sie zapytać.
Robie sobie w ExceluXP makro ,żeby dane do Accessa importowac.
Pisze Dim as Database ; a ten przy wykonywaniu ,że User-defaine not defined
W googlu docztałem się ,że musze znaleść ToolsReferences i zaznaczyć Excel.
Czy zechce mnie ktoś łaskawie oświećić i powiedzieć gdzie to references
można znaleść w polskiej wersji Excela ?

Pozdrawiam
Michał Bralczyk


Odpalasz excela, Edytor Visual Basic/Tools(Narzędzia)/References a
potem 'odchaczasz' Microsoft DAO 3.6 Object Library lub inne potrzebne.

Przeczytaj wszystkie posty z tego wątku



Temat: Excel NTG
Użytkownik Dr. Watson napisał:

| Witam wiem ,że NTG ale nie wiem gdzie sie zapytać.
| Robie sobie w ExceluXP makro ,żeby dane do Accessa importowac.
| Pisze Dim as Database ; a ten przy wykonywaniu ,że User-defaine not defined
| W googlu docztałem się ,że musze znaleść ToolsReferences i zaznaczyć Excel.
| Czy zechce mnie ktoś łaskawie oświećić i powiedzieć gdzie to references
| można znaleść w polskiej wersji Excela ?

| Pozdrawiam
| Michał Bralczyk

Odpalasz excela, Edytor Visual Basic/Tools(Narzędzia)/References a
potem 'odchaczasz' Microsoft DAO 3.6 Object Library lub inne potrzebne.


Dzięki serdeczne
Michał

Przeczytaj wszystkie posty z tego wątku



Temat: Jak sprawdzic w vb czy tabela istnieje - prosze o pomoc


ok,
jeszcze jedno pytanie : jeżeli robię sobie po prostu taką małą bazkę to
gdzies sie deklaruje czy uzywam DAO czy ADO i wlasciwie nie orientuje sie
w
temacie DAO i ADO , także niewiem czego używam :|


jeżeli masz Accessa 97, to masz DAO (zadeklarowane) i tylko DAO

jeżeli masz Accessa 2000 lub XP, to standardowo masz ADO, ale w accessowym
edytorze Visual Basic'a w menu Tools/References możesz sobie "załączyć"
również DAO poprzez zaznaczenie "Microsoft DAO 3.6 Object Library" (lub
podobny)

odpowiedź na Twoje pierwsze pytanie korzysta z DAO, gdybyś chciał to
osiągnąć z ADO, to być może powinieneś "załączyć" referencje do "Microsoft
ADO Ext. 2.7 for DLL and Security" (w a2k i aXP) i poszukać po helpach -
gdybyś musiał/chciał z ADO - daj znać - pomyślimy.

pozdrawiam

Robert

Przeczytaj wszystkie posty z tego wątku



Temat: Problem z Access'em


Jacek Kuchta wrote:
Sprawdzalem na kilku komputerach z roznymi systemami
operacyjnymi, ale na kazdym jest tak samo. Baza wywala sie na
podstawowych chyba komendach VBA: glownie na str i chr. Wywala sie z
komunikatem: "Błąd kompilacji. Nie można znaleźć projektu lub
biblioteki. Natomaist kumpel mowi, ze u niego działa.


Modul (widok projekt) -Narzedzia -Odwolania
Ja mam tam zaznaczone:

Visual Basic For Applications
Microsoft Access 8.0 Object Library
Microsoft DAO 3.5 Object Library

Po tym jak tam grzebalem pozbylem sie wspomnianego problemu.

Pozdrawiam
Dominik Jesiołowski

Przeczytaj wszystkie posty z tego wątku



Temat: Problem z vb w Access 2000


Mam problem z kodem vb w access 2k . Mam zainstalowany office 97 wersje
(...)
I własnie o to mi chodzi gdzie jest bład czy ja coś żle robie czy w


(...)
Wygląda na brak biblioteki "Microsoft DAO 3.6..." w odwołaniach:
EdytorVBA | Menu Tools | References | ....

SWid

Przeczytaj wszystkie posty z tego wątku



Temat: Relacja, wybor z listy oraz dopisywanie
(...)
From: "bobo" <yb2@pro1.promail.pl
(...)


Probowalem dzialac wg przykladu z tej strony i mam klopot z wykonaniem
krotkiego kodu w VBA
blad kompilacji (user - defined type not defined) wskazuje na linie:
dim myDB As Database
co tutaj moze byc zle?


Komunikat powinien Cię trochę naprowadzić...
Typ musi być gdzieś zdefiniowany. Brak jest jego definicji.
Gdzie zdefiniowane są stałe,typy,obiekty do krórych można się odwoływać ?
W 'załączonych' bibliotekach...
Na liście w edytorze VB w Tools|References nie masz zapewne zaznaczonego
ptaszka przy: "Microsoft DAO 3.6 ..."

Acc2k przy tworzeniu nowych baz danych preferuje ADO i domyślnie nie ustawia
odwołania do DAO... Inaczej sprawa ma się gdy dokonamy konwersji z Acc97...
Jeśli odwołujesz się do obiektu zdefiniowanego w kilku bibliotekach o takiej
samej nazwie, VB przyjmie pierwszą napotkaną definicję obiektu ( z pierwszej
biblioteki na liście References, zawierającej obiekt o tej nazwie ) Stąd
ważna
może być kolejność na liście. Aby się uchronić można odwoływać się do
ze stosownym prefikcem np: DAO.Recordset lub ADODB.Recordset...

SWid

SWid

Przeczytaj wszystkie posty z tego wątku



Temat: Co zrobić by w VB użyć typu Database


próbowałem napisał mi nie zdefiniowany typ użytkownika


Musisz dostać się do kodu i w referencjach zaznaczyć odwołanie do Microsoft
DAO 3,6. Referencje znajdziesz w menu Tools =References.

Jakub

jakub1@poczta.onet.pl

Przeczytaj wszystkie posty z tego wątku



Temat: Dim dbs As Database i Access 2000

Porownaj odwolania do bibliotek w obu bazach i ustaw tak, jak jest w tej
bazie, ktora Ci dziala. Chodzi o to, ze Access2000 domyslnie nie wrzuca
DAO
i trzeba sobie dodac samemu.


(....)

Dodam, że chodzi dokładnie o  "Microsoft DAO 3.6 Object Library"
Jerzyn

Przeczytaj wszystkie posty z tego wątku



Temat: Dim dbs As Database i Access 2000


jerzyn <slajer@poczta.wp.plwrote in message



| Porownaj odwolania do bibliotek w obu bazach i ustaw tak, jak jest w tej
| bazie, ktora Ci dziala. Chodzi o to, ze Access2000 domyslnie nie wrzuca
DAO
| i trzeba sobie dodac samemu.
(....)

Dodam, że chodzi dokładnie o  "Microsoft DAO 3.6 Object Library"
Jerzyn


Ach to DAO.....
Kurcze nie domyśliłem się bo w tej skonwertowanej z 97 było więcej
komponentów podłączonych a w tej nowej chyba tylko 4

Dziękuję bardzo za pomoc.

Niestety nie rozumiem takiego działania ze strony MS, to trochę wprowadza
zamieszanie....
97 wynika z tego podłączał domyślnie.

Pozdrawiam Robert

Przeczytaj wszystkie posty z tego wątku



Temat: Typy zmiennych
Krzysztof Naworyta:

| Nie jestem aż taki początkujący, ale od pewnego czasu nie mogę dojść
| do tego, w jaki sposób w Accessie 2000 uzyskać dostęp do typów
| zmiennych: Database, QueryDef i innych związanych z Recordsetem.
| W helpie i książkach na rynku jest mnóstwo przykładów z takimi
| typami zmiennych, a mnie się to jakoś nie udaje (używając Variant nie
| udaje mi się otworzyć Recordsetu).
Ciekawe ... Ludzie helpy czytają ale nie widzą ...
1)
Zmienne obiektowe deklaruje się jako konkretny obiekt:

Dim rst As Recordset
Dim db As Database
itd.

2)
Przypisanie do zmiennej obiektowej musi być poprzedzone
słowem kluczowym Set:

Set rst = CurrentDb.OpenRecordset("Tabela1")
Set rst2 = rst
itp.

P.S.
Przykłady dotyczą DAO
Jeśli używasz Access 2000 domyślnie używasz ADO
Jeśli nadal chcesz używać DAO należy odpowiednie zmienne deklarować
jawnie:

Dim rst As DAO.Recordset


I jeszcze dołączyć bibliotekę, o ile nie zrobiono tego wcześniej:
Projekt dowolnego modułu/Tools/References/Microsoft DAO 3.6 Object Library

Jacek

Przeczytaj wszystkie posty z tego wątku



Temat: zielony szuka pomocy


W edytorze VB  musisz włączyć:
Tools/References/Microsoft DAO 3.6 Object Database
a potem zamiast: Dim dbs As Database
wpisz Dim dbs As DAO.Database (to samo z recordsetem)


dziekuje bardzo!
tymczasem zauwazylem ze linie:
Set DB = CurrentDB()
access przyjmowal bez zastrzezen - czy
to jest definicja z przypisaniem?
czy to byloby tez poprawne?

Przeczytaj wszystkie posty z tego wątku



Temat: zielony szuka pomocy

| W edytorze VB  musisz włączyć:
| Tools/References/Microsoft DAO 3.6 Object Database
| a potem zamiast: Dim dbs As Database
| wpisz Dim dbs As DAO.Database (to samo z recordsetem)

dziekuje bardzo!
tymczasem zauwazylem ze linie:
Set DB = CurrentDB()
access przyjmowal bez zastrzezen - czy
to jest definicja z przypisaniem?
czy to byloby tez poprawne?

Set ustawia zmienna obiektowa !
A w przykladzie twoim zmienna DB jest kojarzona z aktualnie otwarta baza

Przeczytaj wszystkie posty z tego wątku



Temat: DAO


Forrest Gump <hashta@wp.plwrote in message ne


ws:aqs6hm$nt@dns.ats.pl...

Witam

Dim db As DAO.Database, rst As DAO.Recordset   - Compiler error :
User-defined type not defined

Rozumiem, że powstał błąd na skutek deklaracji tych zmiennych - kompilator
nie wie co to DAO.
Co mam zrobić aby uzyć DAO lub ADO w Funkcjach ?

Pozdrawiam
Forrerst Gump


By użyć DAO dodaj odwołanie do DAO (Tools-References-zaznacz Microsoft DAO
<wersjaObject Library). Jak zauważysz, ADO jest zahaczone domyślnie - jak
nie chcesz używać, to odhacz.

Pozdrav
Dorota

Przeczytaj wszystkie posty z tego wątku



Temat: Access 2000 -- Access 97
Za dużo niepotrzebnych odwołań. Dla bazy bez wyrafinowanych funkcji
wystarczą 3:
1. Visual Basic for Applications
2. Microsoft Access 8.0 Object Library
3. Microsoft DAO 3.5 Object Library
Odwołania można sprawdzić w oknie kodu Narzędzia-Odwołania


Witam

Może nie przedstawię problemu jasno, ale mam coś takiego:
Otrzymałem pik Access'a     ******.mdb   , który "powinien" działać pod
A97,
lecz przy próbie otwarcia wyświetla komunikat:  "Błąd kompilacji. Nie
mozna
odnaleźć projektu lub biblioteki."

Zatrzymuje sie na linii:

Private Sub FillOptions ()
   Dim dbs As Database

Co moze być przyczyną tego?   Czyżby ktos napisał ta bazę pod Acc2000 , a
zapisał w formacie Acc97 -  (czy jest jakaś róznica formatów) -  czy nie
powinno w takim razie dołączyć kodu, lub brakującej biblioteki do pliku?
Jeśli zadałem bzdurne pytania - przepraszam.

M.Szelc.


Przeczytaj wszystkie posty z tego wątku



Temat: VFP6 i MSSQL2000
Z konieczności zastosowałem VFP6 jako apikacje klienta dla  MSSQL
poprzez ODBC.
Czy można odpalić procedurę przechowywaną z parametrem wejściowym z
poziomu VFP? . Znalazłem kontrolkę Microsoft DAO DataContro 6.0(SP4) ale
nie ma do niej helpa i nie mam pomysłu jak przesłać do procedury
przechowywanej parametr. Pod DELPHI wszystko dobrze pracuje tylko ta
cena wersji legalnej.
Zygmunt
Przeczytaj wszystkie posty z tego wątku



Temat: VFP6 i MSSQL2000

"Zygmunt Musial" <mus@spec.waw.plwrote in message



Z konieczności zastosowałem VFP6 jako apikacje klienta dla  MSSQL
poprzez ODBC.


Aż taka niemiła ta konieczność? ;-)


Czy można odpalić procedurę przechowywaną z parametrem wejściowym z
poziomu VFP? . Znalazłem kontrolkę Microsoft DAO DataContro 6.0(SP4) ale
nie ma do niej helpa i nie mam pomysłu jak przesłać do procedury
przechowywanej parametr. Pod DELPHI wszystko dobrze pracuje tylko ta
cena wersji legalnej.


Można posłużyć się SQLEXEC.

Przeczytaj wszystkie posty z tego wątku



Temat: VFP6 i MSSQL2000


"Zygmunt Musial" <mus@spec.waw.plwrote in message



Z konieczności zastosowałem VFP6 jako apikacje klienta dla  MSSQL
poprzez ODBC.
Czy można odpalić procedurę przechowywaną z parametrem wejściowym z
poziomu VFP? . Znalazłem kontrolkę Microsoft DAO DataContro 6.0(SP4) ale
nie ma do niej helpa i nie mam pomysłu jak przesłać do procedury
przechowywanej parametr. Pod DELPHI wszystko dobrze pracuje tylko ta
cena wersji legalnej.
Zygmunt


1. Po co Ci DAO?
2. looknij tutaj:
HOWTO: Execute a Stored Procedure on SQL Server
Q114787

Przeczytaj wszystkie posty z tego wątku



Temat: baza Subiekta dla Win
Witajcie

Mam dosc spory problemik:
program Subiekt dla Windows uzywa bazy Accessa
jak to podają na stronce
http://www.insert.com.pl/produkty_dla_windows/subiekt_dla_windows/szc...
y_opis.html
"Microsoft Access 97 (Microsoft DAO Jet 3.51, Microsoft DAO Jet 3.51 Service
Pack 2), Microsoft Corporation;"

mam WinXP  i OfficeXP i nie moge otworzyc pliku bazy - wywala informacje
ze musze nalezec do grupy uzytkownikow bazy albo takie tam inne brednie
(zamknac polaczenia itp-
polaczenia sa zamkniete wiec spox)...

chcialem po prostu przeslac dane Subiekta do MySQL
MySQLFront otwiera baze przez ODBC wyswietla liste tabel
ale nie pozwala na przejrzenie ich struktury i zawartosci
wyrzuca komunikat ze nie mam praw do przegladania

czy moze jest jakis crack do plikow accessa co by wywalal te prawa
i ustawial pelny dostep? Subiekt potem juz ich nie nadpisze bo
przy tworzeniu bazy korzysta z gotowego pustego wzorca.

a moze tu jest jakis cyrk z XPkami? ale nie chce mi sie downgradowac na
Office97 :(
a moze sterownik ODBC tez downgradowac (Win98?)?

z gory dzieki za wszelkie rady

pozdrawiam
pg-X/Gertas

Przeczytaj wszystkie posty z tego wątku



Temat: moduły w Accessie


Wasilewski Robert <r.wasilew@softbank.plwrote:
Witam !
Mam pewien problem. Otóż w bazie stworzonej na moim PC znajdują się moduły
zawierające różne funkcje przeze mnie napisane. Oczywiście wszystko działa.
Po skopiowaniu bazy na PC kolegi funkcje z modułów przestają działać. Nawet
wpisanie dowolnej wbudowanej funkcji (np. left) i wciśnięcie F1 powoduje
wyświetlenie komunikatu:
Nie można odnaleźć projektu lub biblioteki.
Czy ktoś wie o co chodzi ?


Po pierwsze:
- jest od tego osobna grupa. Ale poniewaz zadawalem kiedys
na niej to pytanie i nie doczekalem sie zadnej odpowiedzi
wiec:

Po drugie:
- po otwarciu zrodla jakiegokolwiek modulu wywolaj z menu
opcje Narzedzia - Odwolania i porownaj wyniki na swoim PC
i na PC kolegi. Prawdopodobnie (z niewiadomych przyczyn)
Access zaladowal sobie inne niekompatybilne biblioteki.

Tradycyjnie (to nowa, swiecka tradycja) dotyczy to bibliotek
DAO - ,,Microsoft DAO 2.5/3.0 compatibility library'' oraz
,,Microsoft DAO 3.51 Object Library'', ale moze chodzic o
jakiekolwiek inne.

Pozdrawiam,
K.

Przeczytaj wszystkie posty z tego wątku



Temat: Baza danych


MB wrote:

Witam

    Nie jestem zbyt mocno zorientowany w bazach, obecnie posiadam Buildera
4.0 Standard ktory gotowych komponentow do obslugi baz danych nie zawiera
(byc moze sie myle).
Czy istnieje mozliwosc zrobienia prostej bazy na wersji standard (tabela
dostawcow, tabela transakcji, kilka raportow) ?
    Jesli tak to jak sie do tego zabrac..., a jesli nie to czy istnieja
jakies dostepne komponenty ktore moga byc dolaczone do wersji standard, i
gdzie ich szukac ? Moze sa gdzies dostepne przykladowe zrodla ?

    Za pomoc z gory dziekuje


C++ Builder w wersji Standard (od numeru 4) nie ma wbudowanego dostępu
do baz danych. Chodzi nie tylko o komponenty, ale również środowisko nie
ma żadnego wsparcia w tym kierunku.

"Obce" komponenty przeważnie opierają swoje działanie na mechanizmach
już w Builder wbudowanych - jak klasy typu TDatabase, itp., zatem z
wersją Standard też większość z nich nie pójdzie. Jednym z miejsc, gdzie
można te rzeczy znaleźć jest BDE Alternatives Guide:
http://www.kylecordes.com/bag/index.html

Są też inne wyjścia. Najlepiej używać wersji przynajmniej Professional
Buildera, ma się wtedy najwięcej możliwości.

Można cofnąć się do Buildera 3, który w wersji Standard miał wszystko co
potrzebne do baz danych.

Można też dostęp do bazy danych typu Access zrealizować przez OLE
Automation we współpracy z Microsoft DAO, jeśli ma się dostęp do tych
bibliotek.

Przeczytaj wszystkie posty z tego wątku



Temat: DAO, KADao ver 3.7
Czesc,
Mam dwa pytania:
1. Czy ktos uzywa lub uzywal  komponentu KADao
umozliwiajacego dostep do  baz danych przez Microsoft DAO
(Data Access Objects) - mam problemy z procedura Post (raz
dziala a raz nie).
2. Czy sa jakies inne darmowe komponenty umozliwiajace
dostep do DAO?

Pozdrawiam,
Piotr Budzyński

Przeczytaj wszystkie posty z tego wątku



Temat: Co sądzicie o Delphi 5?

Sorry ale z mojego punktu widzenia Delphi dopiero od wersji 3.0 nadawała
się
do jakiegokolwiek użytku. Chodzi przede wszystkim o dostęp do "porządnych"
baz danych. Myślę, że była to olbrzymia rewolucja w środowisku. Sądzę
natomiast, że 4 to rzeczywiście co najwyżej 3.5 i to z nieszczęśliwie dużą
liczbą błędów (już w większości  usuniętych) .


Mój list odnosić się będzie raczej do pytania związanego z bazami danych,
dokładniej: dlaczego wszyscy wykorzystują wszystkie możliwe rozwiązania z
zakresu baz danych oprócz Microsoft DAO?
Przeczytaj wszystkie posty z tego wątku



Temat: ADO - zielony


Private Sub Form_Load()

    Dim dbsDane As DAO.Database
    Dim rstOpis As DAO.Recordset
    Dim strMessage As String

    Set dbsDane =


OpenDatabase("D:MaciejProgramyPrzypominaczdbDane.mdb")


    Set rstOpis = dbsDane.OpenRecordset("SELECT * FROM tblPrzypomnienia
WHERE Data=Date()")


To As DAO.Database nie jest potrzebne. Natomiast potrzebne jest najpierw
zrobienie menu Project, References i zaznaczenie Microsoft DAO 3.51 Objest
Library.
Następnie prawidlowy najkrótszy kod to:
Dim WS As Workspace
Dim DB As Database
Dim RS As Recordset
    Set WS=DBEngine.Workspaces(0)
    Set DB=WS.OpenDatabase("D:Maciej ... itd nazwa pliku mdb)
    Set RS=DB.OpenRecordset(strSQL) ' to jakis Select... itd
    ....
    Set DBGrid.DataSource=RS
    Set MSFlexGrid.DataSource=RS
    ........

Wiesiek

Przeczytaj wszystkie posty z tego wątku



Temat: Tworzenie mdb


-----Original Message-----
From: Grzegorz [mailto:grzego@yahoo.com]
Sent: Thursday, April 26, 2001 1:09 PM
To: pl-comp-lang-vba@newsgate.pl
Subject: Tworzenie mdb

Mam problem w jaki sposob utworzyc nowa baze Accessa z VB
(uwaga! nie chodzi
mi p utworzenie bazy bedac w samym Accessie czyli z poziomu VBA ale z
poziomu zupelnie innego programu nie zwiazanego do tej pory w
zaden sposob z
Accessem)

Pozdrawiam,
Grzegorz


w Project-References zaznacz "Microsoft DAO 3.51 Object Library" (lub 3.6)

potem w kodzie:

Sub UtworzBazeDanych()
        Dim DE As New DAO.DBEngine
        DE.CreateDatabase "c:MojaBazaDanych", dbLangPolish, dbVersion30
        'dbVersion30 - MSAccess 97 (chyba)
        'dbVersion40 - MSAccess 2000
End Sub

Morris

Przeczytaj wszystkie posty z tego wątku



Temat: Tworzenie mdb
Dzieki


"Pawlak, Pawel" <Pawel.Paw@f2virt.onet.plwrote in message


news:192D7ED3BF2CD511A4DB00008364046203061C@mailserver.domdata.depfa-it.com.
..

| -----Original Message-----
| From: Grzegorz [mailto:grzego@yahoo.com]
| Sent: Thursday, April 26, 2001 1:09 PM
| To: pl-comp-lang-vba@newsgate.pl
| Subject: Tworzenie mdb

| Mam problem w jaki sposob utworzyc nowa baze Accessa z VB
| (uwaga! nie chodzi
| mi p utworzenie bazy bedac w samym Accessie czyli z poziomu VBA ale z
| poziomu zupelnie innego programu nie zwiazanego do tej pory w
| zaden sposob z
| Accessem)

| Pozdrawiam,
| Grzegorz

w Project-References zaznacz "Microsoft DAO 3.51 Object Library" (lub
3.6)

potem w kodzie:

Sub UtworzBazeDanych()
Dim DE As New DAO.DBEngine
DE.CreateDatabase "c:MojaBazaDanych", dbLangPolish, dbVersion30
'dbVersion30 - MSAccess 97 (chyba)
'dbVersion40 - MSAccess 2000
End Sub

Morris

Przeczytaj wszystkie posty z tego wątku



Temat: jak dodac rekord?


<se@poczta.onet.plwrote in message



| napisz
| wstaw referencje do dao i napisz
| Dim baza As DAO.Database
| Dim tabela As DAO.Recordset

jak wstawic te referencje dao moze ktos podesle mi odp na priv razem z


gotowym kodem

Piszę na grupę ponieważ jest to fundamentalna rzecz którą powinien znać
każdy (a jak widać nie zna).
Referencje do bibliotek dodaje się z menu Project-References.
O ile nie dodaliśmy więcej niż jedną bibliotekę posiadającą objekty Database
lub Recordset to przedrostek DAO. jest zbędny.
Jednak dla zachowania kompatybilności kodu z przyszłymi zmianami bibliotek
dodawanie tego przedrostka jest wskazane nawet wtedy gdy nie jest on
konieczny.

P.S. Referencja o którą chodzi przedpiszcy nazywa się Microsoft DAO 3.51
(lub 3.6) Object Library

Przeczytaj wszystkie posty z tego wątku



Temat: Vb + relacje + *.dbf ????

po co sobie utrudniac z dbf
imporuj wszystko do acsesa a potem
Dim db As Database, Rs As Recordset
i dla dowolnej bazy np fakt.mdb
owierasz ja domyslnie ( musisz zaladowac w projekcie DAO 3,5
Project/Reference/Microsoft DAO 3,5 Object Library )
Set db = DBEngine.Workspaces(0).OpenDatabase("fakt.mdb")
wybierasz np kolumne " nadoobro " ( lub inna w bazie )
Set Rs = db.OpenRecordset("nadobro")
zapelniasz obiekt
form1 nakladasz kontrolke | data<< ktora sie zaladuje
Set Form1.Data1.Recordset = Rs
Form1.Data1.Recordset.MoveLast
nie wpisujesz nazwy bazy DatabaseName ani RecordSource
tylko Connect Access
form1 nakladasz pole textowe text1 i text 2
Wypelniasz Data Source | Data1
wypelniasz DataField | np nadobro
dla drugiego DataField | nazwa drugiej kolumny w twojej bazie
i tyle
mozna załadowac Query, listboxy ( posortowane )
i w ogóle wszystko
andy@polbox.com

Przeczytaj wszystkie posty z tego wątku



Temat: POMOCYYYY PILNIEEEEEEEE sprawa gardlowa


To znaczy że w referencjach nie masz zaznaczonego DAO 3.51

Jak najbardziej mam dolaczone DAO 2.5/3.5  nie dziala  DAO 3.51 nie dziala


1. Utwórz nowy projekt VB 6 typu standart exe.
2. W menu Project, References zaznacz Microsoft DAO 3.51 Object Library,
Kliknij OK.
3. Ponownie otwórz menu Project References Powinno być:
a) Visual Basic for Aplications
b) Visual Basic runtime object and procedures
c) Visual Basic object and procedures
d) OLE Automation
e) Microsoft DAO 3.51 object library
Jeżeli są jeszcze inne to odznacz, są niepotrzebne.
Do formy dodaj przycisk Command Button
Dla  niego wpisz kod:
Private Sub Command1_Click()
Dim WS As Workspace
Dim DB As Database
    Set WS = DBEngine.Workspaces(0)
    Set DB = WS.OpenDatabase(App.Path + "iblio.mdb")
    DB.Close
    WS.Close
End Sub
Uruchom przez Run, nie może być komunikatu o błędzie.
Jedyną możliwą przyczyną dla której to mogłoby nie chodzić jest to że masz
wersje LE.
Nie istnieje inna możliwość, więc nie pisz że nie chodzi.

Wiesiek

Przeczytaj wszystkie posty z tego wątku



Temat: Plik DBF i jego index...


Witam.

Pisząc program natknąłem się na taka przeszkodę.
Sofcik musi otwierać _sieciowo_ dbf'a , modyfikować
go i zapisać w nim jakieś zmiany :(
Pierwszy problme polega na tym, iż nie wiem jak go
otworzyć jeśli już jest używany przez inny program...


Dla testu zrób tak: W VB ustaw najpierw referencje na
Microsoft DAO 2.5 Object Library (dBase III jest 16-bitowa)
Nastepnie wstaw kontrolke DATA i ustaw dla niej:
Connect DBASE III
DatabaseName: scieżke do pliku dBase
RecordSource: nazwe tabeli
dodaj do projektu kilka pól tekstowych z DataSource Data1
i zobacz czy czytają sie rekordy i czy można zmieniać wartosci
w polach. Wszystko powinno byc bez problemów.
Natomiast z indeksami ntx jest mały horror.

Pozdrawiam
Wiesiek

Przeczytaj wszystkie posty z tego wątku



Temat: pytanie

Użytkownik Jacek Fidot <fi@zeus.polsl.gliwice.plw wiadomości do grup
dyskusyjnych napisał:89g9of$l9@zeus.polsl.gliwice.pl...


kopiuje z MSDNa :
 Set Db = Workspaces(0).OpenDatabase("BIBLIO.MDB")
 Set Rs = Db.OpenRecordset("AUTHORS")

po uruchomieniu wywala blad:   type mishmasch ze wskazanie m na set rs ...
Ktos moze mi pomoc?


Spróbuj tak:

Dim db As DAO.Database
Dim RS As DAO.Recordset
Set db = DBEngine.OpenDatabase("C:BIBLIO.MDB")
Set RS = db.OpenRecordset("AUTHORS")

Sprawdzałem i działa, natomiast upewnij się czy napewno masz odwołanie do
Microsoft DAO 3.51 Object Library

Przeczytaj wszystkie posty z tego wątku



Temat: pytanie


Spróbuj tak:

Dim db As DAO.Database
Dim RS As DAO.Recordset
Set db = DBEngine.OpenDatabase("C:BIBLIO.MDB")
Set RS = db.OpenRecordset("AUTHORS")

Sprawdzałem i działa, natomiast upewnij się czy napewno masz odwołanie do
Microsoft DAO 3.51 Object Library


jestem ci winny PIWO!!!  zadzialalo. Szkopul tkwil w tym, ze nie mialem tego
DAO. ...   Czytalem gdzies ze musi byc w sytuacjach gdy uzywamy ADO. Ale ja
nic takiego nie uzywam, a moze nic o tym nie wiem.  Jezeli ktos by mi mogl
wyjasnic dlaczego tak sie stalo to bede wdzieczy.   Jeszcze raz wielkie
dzieki za pomoc. Moge ruszyc dalej ...

Przeczytaj wszystkie posty z tego wątku



Temat: dziwny problem
Powinno być:
Dim ws As Workspace
Dim db As Database
Dim rs As Recorset
Set ws=DBEngine.Workspaces(0)
Set db=ws.OpenDatabase(App.Path & "1uzytkownik.mdb")
Set rs=db.OpenRecordset("SELECT .... itd

Wcześniej należy w mnu Project References zaznaczyć np. Microsoft DAO 3.51,
wtedy system podpowiada wszystkie wpisy w kodzie.

Wiesiek


Witam,

Mam problem:
Po zainstalowaniu VB 6.0 chciałem zrobić prostą bazę danych.
Napisałem poniższy kod:

Private Sub Command2_Click()
Dim db As Database
Dim rs As Recordset
Dim nazwa As String
Set db = DBEngine(0).OpenDatabase(App.Path & "1uzytkownik.mdb")
Set rs = db.OpenRecordset("SELECT * FROM [user] WHERE [usuniety]= FALSE "
&
_
                "ORDER BY [nazwisko], [imie], [poziom]", dbOpenDynaset)
End Sub

I tu zaczyna się problem. Program w momencie dojścia do instrukcji
zawierającej OpenRecordset wyświetla komunikat, że dana kwarenda lub
tabela
nie istnieje.
Oczywiście nie ma żadnej pomyłki w strukturze pliku bazodanowego.
Zainstalowałem też wszystkie potrzebne do obsługi baz danych biblioteki.
Niestety to dalej nie działa. Może ktoś wie o co tu chodzi?

pozdrawiam

Łukasz


Przeczytaj wszystkie posty z tego wątku



Temat: Uninstall i .mdb
ach jak milo... :)

dzieki zadzialalo - nie myslalem, ze to takie proste


Musisz tylko dodać referencje obiektu DAO.


Microsoft DAO 2.5/3.5 Compatibility Library
czy
Microsoft DAO 3.51 Object Library
przypuszczam, ze ta druga (DATA dodaje ja automatycznie)

==================
g@polbox.com
==================

Przeczytaj wszystkie posty z tego wątku



Temat: Uninstall i .mdb
Do usług :)

Pozdrawiam

Jacek


Gugu wrote in message <7i16tp$75@korweta.task.gda.pl...
ach jak milo... :)

dzieki zadzialalo - nie myslalem, ze to takie proste

| Musisz tylko dodać referencje obiektu DAO.

Microsoft DAO 2.5/3.5 Compatibility Library
czy
Microsoft DAO 3.51 Object Library
przypuszczam, ze ta druga (DATA dodaje ja automatycznie)

==================
g@polbox.com
==================


--
Pelny dostep do Internetu juz od 8,34 PLN na miesiac - http://rubikon.pl

Przeczytaj wszystkie posty z tego wątku



Temat: P&D instalka - bledy

Nie to Twój ewidentny błąd. P&DW sam tego nie wymyślił, a więc w Twoim
projekcie do którego robiłeś instalke w menu Project, References masz
odznaczoną opcje dodającą plik EXPSVR.DLL i najprawdopodobniej również
inne
zupełnie niepotrzebne.


Witam
dzieki za odpowiedz.
W reference mam zaznaczone:
Visual Basic for aplications
Visual Basic runtime obiects and procedures
Visual Basic Obiect and procedures
Ole automation
Microsoft DAO 3,51 obiect library
To wszystko sie samo zaznaczylo.
Skad wiedziec czy cos mozna wyrzucic? I co wyrzucic.
Prosze Cie o pomoc, w instalkach nie jestem dobry.
Pozdrawiam
MarekF
Przeczytaj wszystkie posty z tego wątku



Temat: P&D instalka - bledy


| Nie to Twój ewidentny błąd. P&DW sam tego nie wymyślił, a więc w Twoim
| projekcie do którego robiłeś instalke w menu Project, References masz
| odznaczoną opcje dodającą plik EXPSVR.DLL i najprawdopodobniej również
inne
| zupełnie niepotrzebne.

Witam
dzieki za odpowiedz.
W reference mam zaznaczone:
Visual Basic for aplications
Visual Basic runtime obiects and procedures
Visual Basic Obiect and procedures
Ole automation
Microsoft DAO 3,51 obiect library
To wszystko sie samo zaznaczylo.
Skad wiedziec czy cos mozna wyrzucic? I co wyrzucic.
Prosze Cie o pomoc, w instalkach nie jestem dobry.


W References jest prawidłowo, w głównej zakładce. Zobacz co masz w
Components w wszystkich zakladkach zaznaczone.

Wiesiek

Przeczytaj wszystkie posty z tego wątku



Temat: DAO 3.5

Pilnie poszukuje czegos takiego
co zwie sie Microsoft DAO w wersji 3.5
(DAO to Data Access Objects).
Z tego co wiem to jakies biblioteki Microsoftu.
Bylem juz na www.microsoft.com/download ale
tam wyszukiwarka nic takiego nie znalazla.
Gdzies obilo mi sie o uszy ze jest to na
plytach z ktoras wersja Borland Delphi.
Znalazlem na sieci DAO 2.1 ale chyba za stara
wersja bo program ktory tych bibliotek
potrzebuje nie chodzi z DAO 2.1.
Jesli ktos ma cos takiego lub wie gdzie to moze byc
bardzo prosze o przyslanie mailem
(nie wazne ile to ma) lub link.
Pozdrawiam
                        Radek

                ******************************************
                *          ra@artland.com.pl          *
                * -------------------------------------- *
                *  The greatest thing you'll ever learn  *
                * is just to love and be loved in return *
                ******************************************

Przeczytaj wszystkie posty z tego wątku



Temat: DAO 3.5

Radek Jankowski wrote:

Pilnie poszukuje czegos takiego
co zwie sie Microsoft DAO w wersji 3.5
(DAO to Data Access Objects).
Z tego co wiem to jakies biblioteki Microsoftu.
Bylem juz na www.microsoft.com/download ale
tam wyszukiwarka nic takiego nie znalazla.
Gdzies obilo mi sie o uszy ze jest to na
plytach z ktoras wersja Borland Delphi.
Znalazlem na sieci DAO 2.1 ale chyba za stara
wersja bo program ktory tych bibliotek
potrzebuje nie chodzi z DAO 2.1.
Jesli ktos ma cos takiego lub wie gdzie to moze byc
bardzo prosze o przyslanie mailem
(nie wazne ile to ma) lub link.
Pozdrawiam


trzeba ci było szukać na

http://www.microsoft.com/data/ado/

poczytaj tam, z tego co pamiętam, obsługa DAO jest zawarta w ADO. A co, do
Delphi potrzebne? :)

pozdrawiam,

Przeczytaj wszystkie posty z tego wątku



Temat: jak dodac rekord

Musisz mieć ustawione referencje (odwołania) na Microsoft DAO


jak to ustawic, moze ktos mi napisze o tym na priv lub poda adres stron gdzie to jest napisane
mpijo@nonet.pl
Przeczytaj wszystkie posty z tego wątku



Temat: Liczba rekordó w tabeli


Dzięki za pomoc.
Niestety deklaracja: Dim db As Database działa tylko na jednym pliku pomimo
że nie zmieniam żadnych ustawień w Accesie. Wygląda to tak jakby gdzieś w
pliku bazy siedziała informacja o podłaczaniu do ADO.


Odnośnie :Dim db As Database....

W nowszych wersjach MS Access w projekcie VBA defaultową referencją jest  
Microsoft ActiveX Data Objects 2.X Library (poprzednio było DAO !!!!!) i
dlatego jeśli chcemy korzystać w obiektów DAO , a taki jest obiekt Database
czy Recordset który np  otrzymujemy jako wynik operacji  
CurrentDb.OpenRecordset możemy zrobić, a właściwie musimy, jedną z 3-ch  
następujących rzeczy

1. Dodać referencję w projekcie do Microsoft DAO 3.X Object Library, a linijka
kodu deklaracji powinna wówczas wygladać następująco:

Dim db As DAO.Database
Dim rst As DAO.Recordset

2. Dodać referencję w projekcie do Microsoft DAO 3.X Object Library oraz
jednocześnie usunąć referencję do Microsoft ActiveX Data Objects 2.X Library a
linija kodu deklaracji może wówczas wygladać następująco :

Dim db As Database
Dim rst As Recordset  

albo
Dim db As DAO.Database
Dim rst As DAO.Recordset

3. Zadbać o to aby refrecje w projekcie w okienku referencji były w kolejności
jak :

najpierw
Microsoft DAO 3.X Object Library
a potem dopiero
Microsoft ActiveX Data Objects 2.X

a linijka kodu deklaracji może wówczas wygladać następująco :

Dim db As Database
Dim rst As Recordset

albo
Dim db As DAO.Database
Dim rst As DAO.Recordset

czyli w każdym przypadku bezpieczniej jest użyć jednak deklaracji

Dim rst As DAO.Recordset

i w każdym przypadku trzeba w Tools/Reference sprawdzić czy jest referencja do
Microsoft DAO 3.X Object Library, przy braku dodać....

Przeczytaj wszystkie posty z tego wątku



Temat: dim db as database - problem


tools -references -Microsoft DAO 3.6 Object Library

i dziala


a czasami mimo tego ze ta referencja *jest zaznaczona* i tak nie
dziala... wtedy pomagaja metody z mojego poprzedniego posta. pozdr,m.

Przeczytaj wszystkie posty z tego wątku



Temat: dim db as database - problem
Juzer Krzysztof Wiśniewski <ktu@poczta.onet.plnapisał

||| tools -references -Microsoft DAO 3.6 Object Library
||| i dziala

|| a czasami mimo tego ze ta referencja *jest zaznaczona* i tak nie
|| dziala... wtedy pomagaja metody z mojego poprzedniego posta. pozdr,m.

| Musi działać. To kwestia kolejności na liście references - najpierw "DAO
| 3.6", a niżej dopiero "OLE Automation".

Co ma OLE do DAO ???
Obiekty gryzą się między ADO i DAO (np. obiekt Recordset)

Poza tym ja nie uważam, aby kolejność na liście referencji była tym na
czym należałoby polegać !
Tzn. owszem, ale po co ? A jeśli jakaś część naszego kodu manipuluje
referencjami ?

Jeśli zajdzie taka dziwna potrzeba, że musimy równocześnie korzystać i z
ADO i z DAO, to:

1) można do DAO odwoływać się niejawnie

  Dim db as Object
  Set db=CurrentDb

  Dim rc as Object
  Set rc=Me.RecordsetClone

2) jesli odpada pkt.1 to _należy_ deklarować obiekty z odwołaniem do
właściwej biblioteki:

  Dim rc as DAO.Recordset
  contra
  Dim rc as ADO.Recordset

Z innej beczki:
czasami mimo właściwych referencji nadal nic nie działa !
Dalczego? Bo DAO jest źle zarejestrowane ! Albo w rejestrze albo w naszej
bazie.
W tym drugim przypadku wystarczy odklikać referencję i po ponownym
otwarciu ponownie ją zaznaczyć.
Czy nie jest łatwo zapomnieć wtedy o prawidłowej kolejności ?

Ale IMO, jeśli ktoś decyduje się na którąś bibliotekę (ADO/DAO) to raczej
nie powinien ich mieszać!
Dlatego uważam, że pkt.1 jest rozwiązaniem najlepszym, jeśli komu
przyjdzie korzystać z tego, czego w ADO nie dorobiono.

Przeczytaj wszystkie posty z tego wątku



Temat: LP - w kwerendzie
A dla nie bycia goloslownym dosylam sprawdzony kod procedury:

Public Sub LPsztuczka1()
' ToolsReferences: "Microsoft DAO x.x Object Library - twoja wersja
biblioteki DAO
Dim db As DAO.Database 'deklaracja poprawda przy referencji do biblioteki
DAO
Dim rst As DAO.Recordset 'deklaracja poprawda przy referencji do biblioteki
DAO

    Set db = CurrentDb
    SQLstring = "SELECT * FROM TwojaKwerenda"
    Set rst = db.OpenRecordset(SQLstring) ', dbOpenDynaset, dbConsistent,
dbPessimistic)

    With rst
        .MoveFirst
        numer = 0
        Do Until .EOF
            'zakladam ze kolumna Lp jest pierwsza kilumna tabeli
            numer = numer + 1
            .Edit
            .Fields(0) = Str$(numer) 'kolumna Lp ma typ Text - mozesz ja
nazywac wtedy _
                                                    'np. tak
[FV01,FV02,...], [1,2,3,...] _
                                                    'roznie, jak tylko
wymyslisz.
            .Update
            .MoveNext
        Loop
    End With
End Sub

Jak w temacie  - czy można uzyskać pole z LP kolejnych wierszy w
kwerendzie.
(Autonumer nie wchodzi w grę)

Pozdrawiam
Mirek

Przeczytaj wszystkie posty z tego wątku



Temat: LP - w kwerendzie
I na koniec mala poprawka (ach ten pospiech),
coby procedura byla naprawde ELEGANCKA.

Chodzi o "zabicie" zmiennych obiektowych na koncu procedury :-).
Calkiem poprawna wyglada tak:

Public Sub LPsztuczka1()
' ToolsReferences: "Microsoft DAO x.x Object Library - twoja wersja
biblioteki DAO
Dim db As DAO.Database 'deklaracja poprawna przy referencji do biblioteki
DAO
Dim rst As DAO.Recordset 'deklaracja poprawna przy referencji do biblioteki
DAO

    Set db = CurrentDb
    SQLstring = "SELECT * FROM TwojaKwerenda"
    Set rst = db.OpenRecordset(SQLstring) ', dbOpenDynaset, dbConsistent,
dbPessimistic)

    With rst
        .MoveFirst
        numer = 0
        Do Until .EOF
            'zakladam ze kolumna Lp jest pierwsza kilumna tabeli
            numer = numer + 1
            .Edit
            .Fields(0) = Str$(numer) 'kolumna Lp ma typ Text _
                                    '- mozesz ja nazywac wtedy _
                                    'np. tak [FV01,FV02,...], [1,2,3,...] _
                                    'roznie, jak tylko wymyslisz.
            .Update
            .MoveNext
        Loop
    End With

    Set rst  = nothing 'zabicie zmiennej obiektowej
    Set db = nothing 'zabicie zmiennej obiektowej

End Sub

Jak w temacie  - czy można uzyskać pole z LP kolejnych wierszy w
kwerendzie.
(Autonumer nie wchodzi w grę)

Pozdrawiam
Mirek

Przeczytaj wszystkie posty z tego wątku



Temat: Dlaczego przy kompilacji występuje błąd?


OK. Krytykę przyjąłem.

Znalazłem błąd - nie włączone DAO.
Włączyłem - poszedł dalej i stanął na linii:

Set MySet = MyDb.OpenRecordset("ExpArray", DB_OPEN_DYNASET)

wywalając błąd: Type mismatch



Mam Access 2000
W referencjach wybrane:
  Visual Basic For Applications
  Microsoft Access 9.0 Object library
  OLE automation
  Microsoft ActiveX Data Objects 2.1 Library
  Microsoft DAO 3.6 Object library


Typ Recordset występuje w dwóch wykorzystywanych przez
Ciebie bibliotekach: ADO i DAO, pod tą samą nazwą
ale różni się trochę ( metody, właściwości, itp).

Aby wsazać kompilatorowi który chcesz używać powinieneś
deklarować konkretnie:
    Dim rs As DAO.Recordset
lub
    Dim rs As ADODB. Recordset

Z tego co piszesz w Twoim kodzie używany jest DAO.

Rozwiązania problemu:

1. Jeśli nie używasz wyrzuć ADO (Microsoft ActiveX Data ...)
    z referencji; lub
2. Zmień kolejność bibliotek w okienku referecji (strzałeczki
    z boku - priority) Kompliator bierze typ z pierwszej biblioteki
    napotkanej. Teraz masz ADO przed DAO, zmień żeby DAO
    było "wyżej" - nad ADO; lub
3. Dopisz wszędzie w kodzie przy odwołaniu do typu rekordset
    przedrostek : DAO. lub
....

Podobne problemy możesz mieć z innymi typami...

Prawdopodobnie utworzyłeś pustą bazę i zaimportowałeś obiekty
ze starszej wersji. Przy tworzeniu nowej bazy Accessy 9 i 10
domyślnie dołączają  w referencjach tylko ADO ( DAO jest na
wylocie).
Gdybyś przekonwertował bazę ze starszej wersji referencje
miałbyś OK.

Pozdrawiam
SWid

Przeczytaj wszystkie posty z tego wątku



Temat: Usuwanie rekordów SQL
|
| Reszta działa bez zarzutu, pod warunkiem, że masz tabelę
| [OCENA POTENCJAŁU], a w niej pole liczbowe [KodArk].
|
| Tak i Tak

No i co? Nie czytacie, Kolego, wystarczająco uważnie! :))

| [...]
|
| Zajrzałem do Tools References ... ale nie wiem do czego referencje
| mogły mi sie urwać. Jak sprawdzić, które referencje są mi potrzebne.
| Pewnie to abecadło VB, ale ja niestety jestem cieńki.
| Podpowiesz jeszcze co nieco :-)

Standardowo wystarczą Ci:
- Visual Basic For Applications (zawsze podpięty)
- Microsoft Access (tu nr wersji) Object Library (jw)
- Microsoft DAO 3.6 Object Library
  lub:
- Microsoft ActiveX Data Objects (tu nr wersji) Library

albo obydwie, jeśli korzystasz z DAO i ADO równocześnie.

Jeśli automatyzujesz pracę z Excelem lub Wordem, będziesz potrzebował
odpowiedniego odwołania do każdej z tych aplikacji, czyli np. pod a'2003
"Microsoft Excel 11.0 Object Library" i/lub "Microsoft Word 11.0 Object
Library". Oprócz tego mnie się zdarza używać odwołania do "Microsoft XML (tu
nr wersji)". Poza tym staram się z referencjami nie szaleć.

Nie wiem po jaką cholerę Access sam dodaje "OLE Automation" przy tworzeniu
pustej bazy. Staram się to usuwać, bo jak dotąd nie spotkałem się z potrzebą
wykorzystania tej referencji. Zauważyłem też, że w niektórych - na szczęście
rzadkich ! - sytuacjach gryzie się ona z DAO, tzn. trzeba pamiętać, aby
odwołanie do DAO było wyżej niż odwołanie do "OLE Automation" (o ile tę
ostatnią zdecydowaliśmy się jednak pozostawić).

Po jakiejkolwiek zmianie w referencjach wykonaj Debug -Compile.

Jeśli przeniosłeś bazę na inny komputer, na którym jest inna wersja MS
Access i inne biblioteki na dysku, może okazać się, że referencje się
"urwały" - na liście referencji widać je wtedy jako "MISSING". Przy prostych
operacjach wystarczy często podpięcie odwołań do bibliotek w dostępnych
wersjach - np. w przypadku mało skomplikowanej automatyzacji dla kodu VBA
bez znaczenia jest, czy podpięliśmy "Microsoft Word 11.0 Object Library" czy
"Microsoft Word 9.0 Object Library".

Więcej na ten temat znajdziesz w archiwum Grupy.

Pozdrawiam,
Krzysiek

Przeczytaj wszystkie posty z tego wątku



Temat: ADO i Recordset


W Accesie 2000 używając ADO pobieram dane z SQL Serwera.

Używam:
Microsoft ActiveX Data Objects 2.1 Library
Microsoft DAO 3.6 Objects Library
OLE Automation
Microsoft Access 9.0 Objects Library
Visual Basic For Applications

Pytanie: Czy można używać jednocześnie ODBC i ADO oraz przy użyciu
Recordset
otwierać tabele lokalne?
Czy są jakieś przeciwskazania łączenia różnych metod?
Czy błąd: Run-time error '13':
              Type mismatch
jest winą używanych bibliotek?


Jezeli sie dobrze domyslam, twoj problem polega na tym, ze nie deklarujesz
odpowiednio obiektow Recorset.

A w sytuacji gdy uzywasz obu bibliotek (DAO i ADO) powinienes jawnie
oznaczyc o ktory typ ci chodzi.

W ADO powinno to wygladac tak:

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
    Set cn =CurrentProject.Connection
    Set rs = New ADODB.Recordset
rs.Open "tabela", cn,  ,  ,  adCmdTable

Natomiast w DAO w nastepujacy sposob:

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("tabela")

Jezeli NIE bedziesz deklarowal w powyszy sposob bedziesz sie zawsze
odwolywal do biblioteki, ktora ma priorytet w Referencjach czyli figuruje na
liscie odwolan jako pierwsza (wczesniej). Wtedy moze sie zdarzyc ze masz
blad Type mismach, poniewaz przy przypisaniu obiektu do zmiennej; np do
zmiennej typu recorset ADO probujesz uzyc nieodpowiedniej metody, w tym
wypadku CurrentDb.

-------
Piotr Chlabicz

Przeczytaj wszystkie posty z tego wątku



Temat: Missind Library
Cześć
Mam problem takiej natury.
Access 2000,WinXP
W referencjach mojego projektu pojawiło się:
MISSING: Microsoft DAO 2.5/3.5 Compatibility Library.
Jak odnaleźć tę bibilotekę (w ścieżce podanej w referencjach jest inna
bibiloteka).
Przeczytaj wszystkie posty z tego wątku



Temat: Missind Library


MISSING: Microsoft DAO 2.5/3.5 Compatibility Library.
Jak odnaleźć tę bibilotekę (w ścieżce podanej w referencjach jest inna
bibiloteka).


A wyłącz ją w cholerę (w referencjach) i podłącz taką wersję DAO jaką masz

Przeczytaj wszystkie posty z tego wątku



Temat: Importawanie wszystkich obiektow
Wielkie dzieki! Skorzystalem wyjscia mniej ambitnego (oczywiscie!) i modul
zadzial!
Formularze sie importuja super. Po drobnej modifikacji kodu Raporty tez
chodza.

Nie udalo mi sie natomiast z kwerendami.

Co zmienic w tym kodzie by importowaly sie rowniez kwerendy i pozostale
obiekty?
---
Sub ImportujKwerendy()
  Dim db As Database
  Dim mojDok As DAO.Document
  Set db = OpenDatabase("c:TwojaBaza.mdb") ' nazwa bazy ze ścieżką
  For Each mojDok In db.Containers("QUERIES").Documents
    DoCmd.TransferDatabase acImport, "Microsoft Access", db.Name, acQuery,
mojDok.Name, mojDok.Name
  Next
  db.Close
  Set db = Nothing
End Sub
-------

Pozdrawiam,

Andrzej

Użytkownik Krzysztof Ciuba <kci@calia.daewoo.lublin.plw wiadomości do
grup dyskusyjnych napisał:95u07f$1d@slimek.man.lublin.pl...


Masz dwa wyjścia:
A - ambitne:
Oczywiście, że procedura nie chodzi bo Acc2000 używa ADO. Przyznam się, że
ja dopiero zaczynam się z tym bawić. Jeśli Ty się w tym potrafisz poruszać
to poprubój.
1) Należy się połączyć z bazą danych za pomocą obiektu Connection
2) dla obiektów z tego połączenia wykonać zmodyfikowaną procedurę, którą
poprzednio przesłałem.

B - mniej ambitne:
Przełącz się przynajmniej na czas importu formularzy na bibliotekę DAO,
która rozumie typ database. W tym celu w oknie modułu VB:
Tools -References
zaznacz Microsoft DAO 3.6 Object Library
na wszelki wypadek zamień w kodzie
    Dim mojDok As Document
na Dim mojDok As DAO.Document
i teraz już moja procedura powinna śmigać :-)

ps. nie zapomnij usunąć odwołanie do DAO 3.6

--
Pozdrowienia
KC


--
Moja poczta jest zawsze ze mną - e-mail przez WWW - http://rubikon.pl

Przeczytaj wszystkie posty z tego wątku



Temat: ActiveX component can't create object


Jeżeli chodzi o potencjalne problemy z referencjami, to
dodam, że korzystam z biblioteki Microsoft DAO 3.6 Object Library.


... i ósmą poprawkę do Dżeta (znaczy się mdac_typ.exe) oczywiście
zainstalowałeś?

Przeczytaj wszystkie posty z tego wątku



Temat: szybka pomoc - DAO

| Co rozumiesz pod pojeciem referencje, bo albo cos
przeoczylem, albo czegos nie
| wiem, bo nie widze nic takiego.

Alt+F11
menu tools-references
i musisz włączyć referencję Microsoft DAO 3.6 jeżeli chcesz
używać dao

od wersji bodajże A2000 - jest używane ADO,
więc albo się pzresiądz albo podłącz referencję

| Zatem prosze o krotkie resume - jakie Dim i Set, lub gdzie
co ustawic, zeby
| domyslnie operowac DAO?

tjw. i będzie można używać obiektów poprzez DAO.
PS.
Na końcówkach na których będzie baza musisz mieć dao
zarejestrowane inaczej będzie ci wywalało błędy
(hehehe bo się moduł nie będzie chciał skompilować ;-)


Dokładniej ta:

W nowszych wersjach MS Access w projekcie VBA defaultową referencją jest  
Microsoft ActiveX Data Objects 2.X Library (poprzednio było DAO) i dlatego
jesli chcemy korzystać w obiektów DAO , no Recordset DAO możemy zrobić, a
właściwie musimy, jedną z 3-ch  następujących rzeczy

1. Dodać referencję w projekcie do Microsoft DAO 3.X Object Library, a linija
kodu deklaracji powinna wówczas wygladać następująco:

Dim rst As DAO.Recordset

2. Dodać referencję w projekcie do Microsoft DAO 3.X Object Library oraz
jednocześnie usunąć referencję do Microsoft ActiveX Data Objects 2.X Library a
linija kodu deklaracji może wówczas wygladać następująco :

Dim rst As Recordset

albo
Dim rst As DAO.Recordset

3. Zadbać o to aby refrecje w projekcie w okienku referencji były w kolejności
jak :

najpierw
Microsoft DAO 3.X Object Library
a potem dopiero
Microsoft ActiveX Data Objects 2.X

a linijka kodu deklaracji może wówczas wygladać następująco :

Dim rst As Recordset

albo

Dim rst As DAO.Recordset

czyli w każdym przypadku bezpieczniej jest użyć jednak deklaracji zprefiksem
DAO

Dim rst As DAO.Recordset

Przeczytaj wszystkie posty z tego wątku



Temat: i znowu problem z ADO
Jestem tutaj nowy, więc postanowiłem najpierw poszukać w archiwach zanim wyskoczę z głupim pytaniem. Niestety, rozwiązania mojego problemu nie znalazłem, jedyne co mogłem zauważyć, to to, że nie jestem jedynym mającym problem z przejściem z DAO do ADO. A problem mam następujący. Access przy tworzeniu nowej tabeli ustawia standardowo przy polach tekstowych właściwość AllowZeroLength jako false. Dla mnie takie ustawienie jest niewygodne, dlatego napisałem sobie jeszcze gdy używałem Access97 procedurkę zmieniającą tę właściwość dla wszystkich pól tekstowych na true. Oto kod:

Dim db As Database
Dim tbl As TableDef
Dim fld As Field

Set db = CurrentDb
For Each tbl In db.TableDefs
With tbl
  If .Name = NazwaTabeli Then
    For Each fld In .Fields
    With fld
      If .Type = dbText And .AllowZeroLength = False Then
        .AllowZeroLength = True
      End If
    End With
    Next
  End If
End With
Next

Problem w tym, że aby zastosować tę procedurę w Access2000 muszę dołączyć bibliotekę Microsoft DAO.
Czy da się to samo zrobić w Access2000 nie korzystając z DAO, a tylko z ADODB?
Próbowałem sobie wypisać przynajmniej nazwy field.properties, ale to chyba fałszywy trop. Zresztą zobaczcie kod:

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As Field
Dim prp As Property

Set conn = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open "NazwaTabeli", conn

For Each fld In rs.Fields
  debug.print fld.Name
  debug.print fld.Type
  For Each prp In fld.Properties
    debug.print prp.Name
    debug.print prp.Value
  Next prp
Next fld

Czuję, że w ten sposób nie osiągnę mojego celu, bo nawet gdyby te properties coś mi mówiły, to chyba i tak nie dam rady zmienić parametrów tabeli, jeśli właśnie otwarty jest bazujący na niej rekordset. A więc nie tędy droga. Ale którędy?
Z góry dziękuję za pomoc.
Jurek

Przeczytaj wszystkie posty z tego wątku



Temat: i znowu problem z ADO


Jestem tutaj nowy, więc postanowiłem najpierw poszukać w archiwach zanim


wyskoczę z głupim pytaniem. Niestety, rozwiązania mojego problemu nie
znalazłem, jedyne co mogłem zauważyć, to to, że nie jestem jedynym mającym
problem z przejściem z DAO do ADO. A problem mam następujący. Access przy
tworzeniu nowej tabeli ustawia standardowo przy polach tekstowych właściwość
AllowZeroLength jako false. Dla mnie takie ustawienie jest niewygodne,
dlatego napisałem sobie jeszcze gdy używałem Access97 procedurkę zmieniającą
tę właściwość dla wszystkich pól tekstowych na true. Oto kod:

Dim db As Database
Dim tbl As TableDef
Dim fld As Field

Set db = CurrentDb
For Each tbl In db.TableDefs
With tbl
  If .Name = NazwaTabeli Then
    For Each fld In .Fields
    With fld
      If .Type = dbText And .AllowZeroLength = False Then
        .AllowZeroLength = True
      End If
    End With
    Next
  End If
End With
Next

Problem w tym, że aby zastosować tę procedurę w Access2000 muszę dołączyć


bibliotekę Microsoft DAO.

A kto Ci to powiedzial, ze musisz?

Wystarczy, ze zmienisz 4 linijki w swoim kodzie i dalej bedzie dzialal "bez"
DAO:
Dim db 'As Database
Dim tbl 'As TableDef
Dim fld 'As Field

(tu reszta Twojego kodu z jedna zmiana - zamiast stalej dbText trzeba jawnie
podac jej wartosc=10:
If .Type = 10 And .AllowZeroLength = False Then
).

W ten sposob unikniesz odwolan do biblioteki DAO.

Dziala, sprawdz.
K.P.

Przeczytaj wszystkie posty z tego wątku



Temat: Gdzie blad ?
Pytalem ostatnio o recordsety, jak to ruszyc. Po wielu godzinach szukania
udalo mi sie znalezc jakies opisy na zagranicznych serwisach. Jest dokladny
opis jak to ruszyc, gdzie co zaznaczyc itp.

Zrobilem sobie formularz testowy (chce najpierw zobaczyc zasade dzialania i
sposob odwolania do recordsetow).

Jest na nim kilka pol i guzik, po kliknieciu guzika wykonuje sie procedura :

Private Sub Polecenie12_Click()

Dim baza As Database
Dim rs As Recordset
Dim i As Byte

i = 0
Set baza = CurrentDb
Set rs = db.OpenRecordset("Branze", dbOpenTable)
If rs.EOF Then
   '  bla bla bla
Else
    rs.MoveFirst
    Do Until rs.EOF Or i = 7
        i = i + 1
        If i = 1 Then Me!Pole1 = rs.ID_Branze
        If i = 2 Then Me!Pole2 = rs.ID_Branze
        If i = 3 Then Me!Pole3 = rs.ID_Branze
        If i = 4 Then Me!Pole4 = rs.ID_Branze
        If i = 5 Then Me!Pole5 = rs.ID_Branze
        If i = 6 Then Me!Pole6 = rs.ID_Branze
        rs.MoveNext
    Loop
End If

rs.Close
Set rs = Nothing
db.Close
Set baza = Nothing

End Sub

Zalaczylem referencje "Microsoft DAO 3.6 Object Library"

Po uruchomieniu (kliknieciu guzika) wyskakuje blad : "Object required" przy
linii :

Set {baza =} CurrentDb

tekst pomiedzy { } jest zaznaczony przez debugera

W czym jest problem ? Czy trzeba ustawiac gdzies jeszcze cos ?
W domu robilem testy, nie bylo tego bledu, byl za to blad odnosnie zmiennej
"rs", ze nie ma takiego typu (czy musze definiowac 'type' - zawartosc
recordsetu ? czy jest tworzona automatycznie w zaleznosci od obiektu
otwieranego ? )

Jeszcze jedno pytanko, jezeli w Tabeli "Branze" mam pole "ID Branze" i chce
pobrac dane z tego pola to czy dobrze napisalem :

If  i = 1 Then Me!Pole1 = rs.ID_Branze   ???

Z gory dziekuje za wyczerpujace odpowiedzi

Pozdrawiam !

Przeczytaj wszystkie posty z tego wątku



Temat: Gdzie blad ?


Widget wrote:
Pytalem ostatnio o recordsety, jak to ruszyc. Po wielu godzinach szukania
udalo mi sie znalezc jakies opisy na zagranicznych serwisach. Jest dokladny
opis jak to ruszyc, gdzie co zaznaczyc itp.

Zrobilem sobie formularz testowy (chce najpierw zobaczyc zasade dzialania i
sposob odwolania do recordsetow).

Jest na nim kilka pol i guzik, po kliknieciu guzika wykonuje sie procedura :

Private Sub Polecenie12_Click()

Dim baza As Database
Dim rs As Recordset
Dim i As Byte

i = 0
Set baza = CurrentDb
Set rs = db.OpenRecordset("Branze", dbOpenTable)
If rs.EOF Then
   '  bla bla bla
Else
    rs.MoveFirst
    Do Until rs.EOF Or i = 7
        i = i + 1
        If i = 1 Then Me!Pole1 = rs.ID_Branze
        If i = 2 Then Me!Pole2 = rs.ID_Branze
        If i = 3 Then Me!Pole3 = rs.ID_Branze
        If i = 4 Then Me!Pole4 = rs.ID_Branze
        If i = 5 Then Me!Pole5 = rs.ID_Branze
        If i = 6 Then Me!Pole6 = rs.ID_Branze
        rs.MoveNext
    Loop
End If

rs.Close
Set rs = Nothing
db.Close
Set baza = Nothing

End Sub

Zalaczylem referencje "Microsoft DAO 3.6 Object Library"

Po uruchomieniu (kliknieciu guzika) wyskakuje blad : "Object required" przy
linii :

Set {baza =} CurrentDb

tekst pomiedzy { } jest zaznaczony przez debugera

W czym jest problem ? Czy trzeba ustawiac gdzies jeszcze cos ?
W domu robilem testy, nie bylo tego bledu, byl za to blad odnosnie zmiennej
"rs", ze nie ma takiego typu (czy musze definiowac 'type' - zawartosc
recordsetu ? czy jest tworzona automatycznie w zaleznosci od obiektu
otwieranego ? )

Jeszcze jedno pytanko, jezeli w Tabeli "Branze" mam pole "ID Branze" i chce
pobrac dane z tego pola to czy dobrze napisalem :

If  i = 1 Then Me!Pole1 = rs.ID_Branze   ???

Z gory dziekuje za wyczerpujace odpowiedzi

Pozdrawiam !


a co to jest db?

w linijce db.OpenRecordset ... ?

Pozdrawiam,
Krzysiek

Przeczytaj wszystkie posty z tego wątku



Temat: User-defined type not defined


Microsoft DAO 2.5? 2.6? Nie jestem pewien... ale chyba to jest to.


To to, dzieki.

Michal

Przeczytaj wszystkie posty z tego wątku



Temat: Formularz -> Tabela
Witam ponownie.
Po zaznaczeniu pomogło. Jak wezmę bazę na inny komputer to również będę
musiał to zaznaczać ???
Pozdrawiami jeszcze raz dziękuję !!! również dla bErT'a
SgTs

Użytkownik Mirek :-) <dc@it.plw wiadomości do grup dyskusyjnych
napisał:a1uv9v$89@news.tpi.pl...

przy otwartym module :

Nrzędzia -odwołania -
sprawd  czy masz zaznaczone microsoft DAO 3.51 Object Library
ewentualnie odznacz wszystko co jest opatrzone napisem
"BRAKUJE"

Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci
| Witam serdecznie.
| Dostałem komunikat:

| Compile error:
| User-defined type not defined

| i zaznaczone jest: dbs As database
| i ponownie proszę o pomoc.
| Pozdrawiam
| SgTs
| s@interia.pl

| Użytkownik Mirek :-) <dc@it.plw wiadomości do grup dyskusyjnych
| napisał:a1uu7u$p8@news.tpi.pl...
| np. pod kliknięciem klawisza :
| dim dbs as database, rst as recordset

| set dbs = currentdb
| set rst = dbs.openrecordset("TwojaTabela")

| rst.addnew
| rst![Twoje_Pole_w_Tabeli] = me.Twoj_Niezwiazany_Formant.Value
| rst.update

| set dbs= nothing
| set rst = nothing

| koniec

| Pozdrawiam
| Mirek

| Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci
| | Witam serdecznie.
| W formularzu są  niezwiązane pola z żadną tabelą. Jak pobrać
wartości
| tych
| pól z formularza i umieścić je w tabeli za pomocą VB ???

| Pozdrawiam
| SgTs
| s@interia.pl


Przeczytaj wszystkie posty z tego wątku



Temat: Formularz -> Tabela

Po zaznaczeniu pomogło. Jak wezmę bazę na inny komputer to również będę
musiał to zaznaczać ???


możesz to zrobić za pomocą kodu
albo wpisywać jak to zaproponował  "SgTs"

PS.
"SgTs" - Jej a kiedy ty masz imieniny ?

Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci

Witam ponownie.

Użytkownik Mirek :-) <dc@it.plw wiadomości do grup dyskusyjnych
napisał:a1uv9v$89@news.tpi.pl...
| przy otwartym module :

| Nrzędzia -odwołania -
| sprawd  czy masz zaznaczone microsoft DAO 3.51 Object Library
| ewentualnie odznacz wszystko co jest opatrzone napisem
| "BRAKUJE"

| Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci
| | Witam serdecznie.
| Dostałem komunikat:

| Compile error:
| User-defined type not defined

| i zaznaczone jest: dbs As database
| i ponownie proszę o pomoc.
| Pozdrawiam
| SgTs
| s@interia.pl

| Użytkownik Mirek :-) <dc@it.plw wiadomości do grup dyskusyjnych
| napisał:a1uu7u$p8@news.tpi.pl...
| np. pod kliknięciem klawisza :
| dim dbs as database, rst as recordset

| set dbs = currentdb
| set rst = dbs.openrecordset("TwojaTabela")

| rst.addnew
| rst![Twoje_Pole_w_Tabeli] = me.Twoj_Niezwiazany_Formant.Value
| rst.update

| set dbs= nothing
| set rst = nothing

| koniec

| Pozdrawiam
| Mirek

| Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci
| | | Witam serdecznie.
| | W formularzu są  niezwiązane pola z żadną tabelą. Jak pobrać
wartości
| tych
| | pól z formularza i umieścić je w tabeli za pomocą VB ???

| | Pozdrawiam
| | SgTs
| | s@interia.pl


Przeczytaj wszystkie posty z tego wątku



Temat: Formularz -> Tabela
Kilka lat temu założyłem własną działolność gospodarczą jako osoba fizyczna.
Nazwa firmy: Simtel Gsm Tomasz C. Jak zakładałem konta w interii to
oczywiście chciałem SGTC, ale było zajęte. Po kilku próbach i wymaślaniu
stwierdziłem że to i tak niema żadnego znaczeiai nacisnąłem pierwszą lepszą
literę i tak powstało SGTS.

Pozdrawiam i dziękuję za pomoc
Tomek

Użytkownik Mirek :-) <dc@it.plw wiadomości do grup dyskusyjnych
napisał:a1v01m$et@news.tpi.pl...

| Po zaznaczeniu pomogło. Jak wezmę bazę na inny komputer to również będę
| musiał to zaznaczać ???
możesz to zrobić za pomocą kodu
albo wpisywać jak to zaproponował  "SgTs"

PS.
"SgTs" - Jej a kiedy ty masz imieniny ?

Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci
| Witam ponownie.

| Użytkownik Mirek :-) <dc@it.plw wiadomości do grup dyskusyjnych
| napisał:a1uv9v$89@news.tpi.pl...
| przy otwartym module :

| Nrzędzia -odwołania -
| sprawd  czy masz zaznaczone microsoft DAO 3.51 Object Library
| ewentualnie odznacz wszystko co jest opatrzone napisem
| "BRAKUJE"

| Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci
| | Witam serdecznie.
| Dostałem komunikat:

| Compile error:
| User-defined type not defined

| i zaznaczone jest: dbs As database
| i ponownie proszę o pomoc.
| Pozdrawiam
| SgTs
| s@interia.pl

| Użytkownik Mirek :-) <dc@it.plw wiadomości do grup dyskusyjnych
| napisał:a1uu7u$p8@news.tpi.pl...
| | np. pod kliknięciem klawisza :
| | dim dbs as database, rst as recordset

| | set dbs = currentdb
| | set rst = dbs.openrecordset("TwojaTabela")

| | rst.addnew
| | rst![Twoje_Pole_w_Tabeli] = me.Twoj_Niezwiazany_Formant.Value
| | rst.update

| | set dbs= nothing
| | set rst = nothing

| | koniec

| | Pozdrawiam
| | Mirek

| | Użytkownik "SgTs" <s@interia.plnapisał w wiadomo ci
| | | | Witam serdecznie.
| | W formularzu są  niezwiązane pola z żadną tabelą. Jak pobrać
| wartości
| tych
| | pól z formularza i umieścić je w tabeli za pomocą VB ???

| | Pozdrawiam
| | SgTs
| | s@interia.pl


Przeczytaj wszystkie posty z tego wątku



Temat: Deklaracje zmiennych.
Do:


Jacek (jacek_ku@poczta.onet.pl)


Znalazłem.:-)))) piękne dzięki. Zaznaczyłem jeszcze Microsoft DAO 3.6 Object
Library i mogę teraz wpisać:
Dim Zmienna As DAO.Database

Piękne dzięki!!!

Przeczytaj wszystkie posty z tego wątku



Temat: Błąd kompilacji ?
Jakub:

Proszę o dużą wyrozumiałość. Gdzie można znaleźć referencje? Jak w mojej
bazie zaznaczyć odwołanie do Microsoft DAO 3,6?


[...] Przeczytaj wszystkie posty z tego wątku



Temat: Jak wyzerowac autonumerowanie
DawidP <dav@go2.plnapisał(a):


Usunalem wpisy z tabel, ale jezeli wpisuje nowa osobe do bazy to nadal
autonumeruje od nr 19 a nie od 1 . Jak to usunac ?


Pisałam już tą notatkę, ale nie mogę jej odnaleźć w wyszukiwarce, widocznie
coś &#8222;mi nie wyszło&#8221;. Z góry przepraszam Panowie strasznie zazwyczaj
krzyczą... aż strach coś napisać...otóż na stronie
http://www.liquorman.net/Tips.html znalazłam aplikację, która umożliwia
resetowanie pola autonumerowanego przy pomocy ADOX. Nie trzeba korzystać z
całej tej aplikacji, można wykorzystac funkcję ChangeSeedADOX, zamieszczona
poniżej. Podalam też przykładowe wywołanie....

'''' przykładowe wywołanie
Function ResetAutonumer()
'''' Referencje do Microsoft DAO 3.6 Object Library
Dim oDB As DAO.Database
Set oDB = CurrentDb
Dim sNazwaTabeli As String

sNazwaTabeli = "danewykresu"
'''' usuwanie rekordów tabeli
oDB.Execute ("DELETE * FROM " & sNazwaTabeli & ";")
'''' usatwienie pola autonumerowanego
Call ChangeSeedADOX(oDB.Name, sNazwaTabeli, "Identyfikator", 1)
End Function

Public Function ChangeSeedADOX(strDB As String, _
    strTbl As String, _
    strCol As String, _
    lngSeed As Long) As Boolean
'''' http://www.liquorman.net/Tips.html    
'''' strTbl = tabela zawierajaca pole autonumerowane
'''' strCol = nazwa autonumerowanego pola
'''' lngSeed = Long integer wartośc jaką chcesz użyć jako początową
'''' dla pola autonumerowanego

'''' Referencja do Microsoft ActiveX Data Objects 2.X
'''' Referencja do Microsoft ADO Ext 2.x for DDL and Security Libraries

Dim cnn As ADODB.Connection
Dim cat As New ADOX.Catalog
Dim col As ADOX.Column
Dim strcnn As String
'''' ustalenie połączenia
Set cnn = CurrentProject.Connection
cat.ActiveConnection = cnn
Set col = cat.Tables(strTbl).Columns(strCol)
col.Properties("Seed") = lngSeed

cat.Tables(strTbl).Columns.Refresh
If col.Properties("Seed") = lngSeed Then
    ChangeSeedADOX = True
Else
    ChangeSeedADOX = False
End If
Set col = Nothing
Set cat = Nothing
Set cnn = Nothing
End Function

Przeczytaj wszystkie posty z tego wątku



Temat: Jak wyzerowac autonumerowanie


RTFF!
Poza tym juz to bylo przerabiane nie dalej jak 27.05
Zanim wyslesz poczytaj inne posty!

BarneyG :o)]


 Przepraszam Panowie, ale ponieważ i ja szukałam tego tematu i nie znalazłam
nic co by mnie zadowalało, pozwolę sobie przytoczyć rozwiązanie na podstawie
strony http://www.liquorman.net/Tips.html. Nie trzeba całej przytoczonej tam  
aplikacji  wystarczy funkcja ChangeSeedADOX

Public Function ChangeSeedADOX(strDB As String, _
    strTbl As String, _
    strCol As String, _
    lngSeed As Long) As Boolean

''''strTbl = tabela zawierajaca pole autonumerowane
''''strCol = nazwa autonumerowanego pola
''''lngSeed = Long integer wartośc jaką chcesz użyć jako początową
''''dla pola autonumerowanego

'''' Referencja do Microsoft ActiveX Data Objects 2.x
'''' Referencja do Microsoft ADO Ext 2.x for DDL and Security Libraries

Dim cnn As ADODB.Connection
Dim cat As New ADOX.Catalog
Dim col As ADOX.Column
Dim strcnn As String
'''' ustalenie połączenia
Set cnn = CurrentProject.Connection
cat.ActiveConnection = cnn
Set col = cat.Tables(strTbl).Columns(strCol)
col.Properties("Seed") = lngSeed

cat.Tables(strTbl).Columns.Refresh
If col.Properties("Seed") = lngSeed Then
    ChangeSeedADOX = True
Else
    ChangeSeedADOX = False
End If
Set col = Nothing
Set cat = Nothing
Set cnn = Nothing

End Function

'''' przykładowe wywołanie
Function ResetAutonumer()
'''' Referencje do Microsoft DAO 3.6 Object Library
Dim oDB As DAO.Database
Set oDB = CurrentDb
Dim sNazwaTabeli As String

sNazwaTabeli = "danewykresu"
'''' usuwanie rekordów tabeli
oDB.Execute ("DELETE * FROM " & sNazwaTabeli & ";")
'''' usatwienie pola autonumerowanego
Call ChangeSeedADOX(oDB.Name, sNazwaTabeli, "Identyfikator", 1)
End Function

Sorki, nie krzyczcie tylko, jeśli to rozwiązanie gdzieś w archiwum jest,
bardzo proszę, zresztą na kobietę nie wypada...

Tak często się pouczacie, aż strach coś napisać, sorki jeszcze raz za uwagę
również... Karolina

Przeczytaj wszystkie posty z tego wątku



Temat: Excel NTG

| Odpalasz excela, Edytor Visual Basic/Tools(Narzędzia)/References

(Odwołania)

| a  potem 'odchaczasz' Microsoft DAO 3.6 Object Library lub inne

ja bym zahaczył ... :/

Przeczytaj wszystkie posty z tego wątku



Temat: Problem z Access'em
Hejka,

mam zaznaczone to samo. Ale mam taki problem. Jak wejde w te opcje na tej
bazie to wyskakuje mi :

BRAKUJE: MsiSys OLE Control module (Microsoft Internet Transfer Control
5.0
BRAKUJE: Microsoft Windows Common Controls 5.0 (SP2)
BRAKUJE:Microsoft Windows Common Controls-2 5.0
BRAKUJE: Microsoft Internet Controls
BRAKUJE: DirectAnimation Library
BRAKUJE: IE Timer
BRAKUJE: Microsoft ActiveMovie Control
BRAKUJE: EYEDOG OLE Control module
BRAKUJE: Microsoft FlexGrid Control 5.0
BRAKUJE: Microsoft Internet Transfer Control 5.0

Najlepszy jest patent, ze to zwykla baza adresowa i ni jak nie uzywa
takich pierdol. Dowiedzialem sie wlasnie, ze ten kumpel ma u siebie
zaistalowane dwa office'y 95 i 97 (oba Prof). Ale robil ta baze pod 97.
Moze to ma jakies znaczenie ? Ja ni w zab nie moge zainstalowac tego 95.
Musi byc jak jest. Moze jeszcze jakkis pomysl :-))))

Dominik Jesiołowski wrote:
Jacek Kuchta wrote:
| Sprawdzalem na kilku komputerach z roznymi systemami
| operacyjnymi, ale na kazdym jest tak samo. Baza wywala sie na
| podstawowych chyba komendach VBA: glownie na str i chr. Wywala sie z
| komunikatem: "Błąd kompilacji. Nie można znaleźć projektu lub
| biblioteki. Natomaist kumpel mowi, ze u niego działa.

Modul (widok projekt) -Narzedzia -Odwolania
Ja mam tam zaznaczone:

Visual Basic For Applications
Microsoft Access 8.0 Object Library
Microsoft DAO 3.5 Object Library

Po tym jak tam grzebalem pozbylem sie wspomnianego problemu.

Pozdrawiam
Dominik Jesiołowski


Przeczytaj wszystkie posty z tego wątku



Temat: Typy zmiennych
Wielki dzięki,
ale nie mam dostępu do obiektów: QueryDef, Database, a nawet Workspace.
Także polecenia:
Dim db As Database
Dim qry as QueryDef
kończą się komunikatem: "User-defined type not defined"
Nie wiem, może coś jest z moim Accessem. Używam w firmie wersji legalnej
Office'a, w domu z aplikacji mniej legalnej i w obu przypadkach
dzieje się tak samo.


I jeszcze dołączyć bibliotekę, o ile nie zrobiono tego wcześniej:
Projekt dowolnego modułu/Tools/References/Microsoft DAO 3.6 Object Library


Jak to zrobić? DZIĘKI !!!!

Użytkownik Jacek Kubek <jacek_ku@poczta.onet.plw wiadomości do grup
dyskusyjnych napisał:958ibp$h5@news.onet.pl...

Krzysztof Naworyta:
| Nie jestem aż taki początkujący, ale od pewnego czasu nie mogę dojść
| do tego, w jaki sposób w Accessie 2000 uzyskać dostęp do typów
| zmiennych: Database, QueryDef i innych związanych z Recordsetem.
| W helpie i książkach na rynku jest mnóstwo przykładów z takimi
| typami zmiennych, a mnie się to jakoś nie udaje (używając Variant nie
| udaje mi się otworzyć Recordsetu).
| Ciekawe ... Ludzie helpy czytają ale nie widzą ...
| 1)
| Zmienne obiektowe deklaruje się jako konkretny obiekt:

| Dim rst As Recordset
| Dim db As Database
| itd.

| 2)
| Przypisanie do zmiennej obiektowej musi być poprzedzone
| słowem kluczowym Set:

| Set rst = CurrentDb.OpenRecordset("Tabela1")
| Set rst2 = rst
| itp.

| P.S.
| Przykłady dotyczą DAO
| Jeśli używasz Access 2000 domyślnie używasz ADO
| Jeśli nadal chcesz używać DAO należy odpowiednie zmienne deklarować
jawnie:

| Dim rst As DAO.Recordset

I jeszcze dołączyć bibliotekę, o ile nie zrobiono tego wcześniej:
Projekt dowolnego modułu/Tools/References/Microsoft DAO 3.6 Object Library

Jacek


Przeczytaj wszystkie posty z tego wątku



Temat: Typy zmiennych
Jarosław Waldon napisał:


Wielki dzięki,
ale nie mam dostępu do obiektów: QueryDef, Database, a nawet Workspace.
Także polecenia:
Dim db As Database
Dim qry as QueryDef
kończą się komunikatem: "User-defined type not defined"
Nie wiem, może coś jest z moim Accessem. Używam w firmie wersji legalnej
Office'a, w domu z aplikacji mniej legalnej i w obu przypadkach
dzieje się tak samo.

| I jeszcze dołączyć bibliotekę, o ile nie zrobiono tego wcześniej:
| Projekt dowolnego modułu/Tools/References/Microsoft DAO 3.6 Object
Library

Jak to zrobić? DZIĘKI !!!!

Użytkownik Jacek Kubek <jacek_ku@poczta.onet.plw wiadomości do grup
dyskusyjnych napisał:958ibp$h5@news.onet.pl...
| Krzysztof Naworyta:
| Nie jestem aż taki początkujący, ale od pewnego czasu nie mogę dojść
| do tego, w jaki sposób w Accessie 2000 uzyskać dostęp do typów
| zmiennych: Database, QueryDef i innych związanych z Recordsetem.
| W helpie i książkach na rynku jest mnóstwo przykładów z takimi
| typami zmiennych, a mnie się to jakoś nie udaje (używając Variant
nie
| udaje mi się otworzyć Recordsetu).
| Ciekawe ... Ludzie helpy czytają ale nie widzą ...
| 1)
| Zmienne obiektowe deklaruje się jako konkretny obiekt:

| Dim rst As Recordset
| Dim db As Database
| itd.

| 2)
| Przypisanie do zmiennej obiektowej musi być poprzedzone
| słowem kluczowym Set:

| Set rst = CurrentDb.OpenRecordset("Tabela1")
| Set rst2 = rst
| itp.

| P.S.
| Przykłady dotyczą DAO
| Jeśli używasz Access 2000 domyślnie używasz ADO
| Jeśli nadal chcesz używać DAO należy odpowiednie zmienne deklarować
| jawnie:

| Dim rst As DAO.Recordset

| I jeszcze dołączyć bibliotekę, o ile nie zrobiono tego wcześniej:
| Projekt dowolnego modułu/Tools/References/Microsoft DAO 3.6 Object
Library

| Jacek


DAO musi być deklarowane JAWNIE (domyślnym jest ADO):
    Dim db As DAO.Database
itd.

Teraz już wszystko jasne? ;-)

Jacek

Przeczytaj wszystkie posty z tego wątku



Temat: zielony szuka pomocy
W edytorze VB  musisz włączyć:
Tools/References/Microsoft DAO 3.6 Object Database
a potem zamiast: Dim dbs As Database
wpisz Dim dbs As DAO.Database (to samo z recordsetem)
Przeczytaj wszystkie posty z tego wątku
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • erfly06132.opx.pl



  • Strona 2 z 3 • Zostało wyszukane 179 wypowiedzi • 1, 2, 3

    © 2009 Najlepszy miesiąc kawalerski w Polsce !!! - Ceske - Sjezdovky .cz. Design downloaded from free website templates