Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: FIND W ADO
JoFerrari




Typ: neutral
Postów: 75
Zarejestrowany: Apr 2003
FIND W ADO

Jak wyszukać coś metodą find wpisujać dwa kryteria.

Np rst.find "pole1='cos' and pole2='cos2'"  ;-)
to tylko zeby zobrazowac bo nie dziala,
Nie chce uzywac filtra... wiem ze on moze

W instrukcji ADO jest napisane że można ale przyklad z tamtąd wywoluje błąd. Może nie działa z jet'em .....???

Sorki... juz kiedys dawalem ten temat i nikt nie wiedzial ale widze ze pojawili sie jacys mądrzy ludzie i na sporo pytan odpowiadają

10-05-2004 23:06
Pokaż profil JoFerrari  Wyślij email do JoFerrari   
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Nie wiem, którą wersję ADO masz na myśli, przeczytaj artykuł:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;195222 dotyczy ADO 2.5 pt:
"PRB: ADO Find Method Only Supports One Criteria"
i to samo na stronie: http://builder.com.com/5100-6373-1045830.html
"Well, the short answer is that you can't. ADO's Recordset.Find method works on one column, and one column only"

Na MSDN czytamy:
Recordset.Find Criteria, SkipRecords, SearchDirection, Start
o parametrze criteria
"The first parameter is the only required argument for the Find method. All of the other arguments are optional and have default values. This first argument is a single-condition where clause. The construction of a single-condition where clause consists of a column name (the database field), an operator (greater than or equal, for example), and a literal value"
Nie wiem jak dalsze wersje.

Pozdrawiam Karolina


_____________________________________________
Karolina

11-05-2004 00:15
Pokaż profil karolinavb  Wyślij email do karolinavb   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

The construction of a single-condition where clause consists of a column name (the database field), an operator (greater than or equal, for example), and a literal value

Zauważ, że find dopuszcza tylko jeden warunek, warunek prosty, składający się z nazwy kolumny, operatora porównania i wartości do znalezienia.
Zatem, za pomocą tej metody tego nie zrobisz.
Musisz posłużyć się językiem SQL i zbudować oobiekt recordset, który wybierze wybrane przez Ciebie rekordy.

Dim rst as Recordset
Dim zap as String

zap = "SELECT Tabela.* " & _
      "FROM Tabela  " & _
      "WHERE ((Tabela.Pole1) = cos) AND (Tablea.Pole2) = cos2);"

Set rst = CurrentDb.OpenRecordset(zap)

GOTOWE!

Teraz możesz z obiektem recordset robić co tylko Ci się żywnie spodoba.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

11-05-2004 22:20
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
anonim




Typ: Nie zarejestrowany

Tak napisałem na wcześniejsze zapytanie.

Ja bym tak napisał :

rst.FindFirst " obiekt = ' " & zmienna1 & " ' and branza = ' " & zmienna2 & " ' "

zakładając że :
obiekt i branza to pola bazy
a zmienna1 i zmienna2 są typu string.

15-05-2004 15:21
  
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

ADO Recordset Object nie ma metody FindFirst np. :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdobjodbrecpme.asp


_____________________________________________
Karolina

16-05-2004 08:01
Pokaż profil karolinavb  Wyślij email do karolinavb   
anonim




Typ: Nie zarejestrowany

A to kawałek tekstu z pomocy VB-4 :

Locates the first, last, next, or previous record in a dynaset- or snapshot-type Recordset object that satisfies the specified criteria and makes that record the current record.  The Find methods can also be used with the outdated Dynaset and Snapshot objects.

Syntax

recordset.{FindFirst | FindLast | FindNext | FindPrevious} criteria

16-05-2004 13:55
  
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Nie znam VB4 ale powiedz, którą wersję Microsoft ADO Library ma VB4, po pytanie dotyczyło ADO a nie DAO choć w obu wypadkach jest to RecordSet, to jednak ma różne metody ?

[Post edytowany dnia 16-05-2004 16:25 przez karolinavb]


_____________________________________________
Karolina

16-05-2004 16:23
Pokaż profil karolinavb  Wyślij email do karolinavb   
anonim




Typ: Nie zarejestrowany

OK

16-05-2004 16:48
  
JoFerrari




Typ: neutral
Postów: 75
Zarejestrowany: Apr 2003

Dzieki Losmac ale niestety nie o to mi chodzilo budowac Selecty to umiem i zdecydowanie bardziej skomplikowane . Select daje bardzo wiele korzysci bo mozna zrobic wszystko i zdecydowanie szybciej (choc sa wyjatki). Czasem po prostu przydalby sie taki Find ktory by znalazl wiecej niz jedno kryterium.

17-05-2004 08:12
Pokaż profil JoFerrari  Wyślij email do JoFerrari   
Wszystkich odpowiedzi: 8 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1