vbstreets konferencia - Téma megtekintése - MS Access - hogyan határozza meg - milyen területen egy keresést

Helló
Annyit kell tennie, hogy megtalálja az űrlap adatokat az adatbázisba az első levél eredetű / név / apai. Ehhez van 3 rádiógombokat-mi - hol kell keresni - a „Last Name”, „Név”, „Közel neve” mezőben adja meg a kívánt számot, és a gombot „Következő”. Találtam FindRecord funkció és FindNext, hanem elment, hogy keressen meghatározott területeken, és nem minden kell választani ezen a területen. Hogyan kell csinálni? A FindRecord megadhatja a keresési csak az aktuális területen, de hogyan tegyük jelenlegi?







A Keresés módszer rekordseta helyett formában.

Lasciate ogni speranza, voi ch'entrate.

Úgy tűnik, meg kell használni a FindFirst nem FindRecord, mint az utóbbi van kötve egy ellenőrzés, hogy már az első hangsúly.

A Keresés módszer rekordseta helyett formában.


RecordSet.Find? Megpróbálom beszámolnak az eredményekről.

Kód: Egész kiválasztása Dim első Amint Recordset
Dim strCriteria As String

strCriteria = „# 91, # 93 Name =" Szent György "
Állítsa első = CurrentDb.OpenRecordset ( „felvételi és mentesítés”). „betegek
rst.Find strCriteria
mondja - „Type mismatch” a második sorban.

Tehát FindFirst esküszik, vagy keresnek?

A kérelmet helyesen írni, így: „SELECT név, vezetéknév FROM [belépés és a mentesítési]”
És a jövőben. Lévő tárgyak nevét MS Access orosz és terek - rossz formában. De ha hívják, a kérések a neveket zárójelben.

pele írta (a), és ami még rosszabb, mint a hagyományos keresési csatlakozás? <.>


Ő csodálatos, de szükség lehet a program keresni a felhasználó beavatkozása nélkül. Vagy lehet, kell, hogy egy kereső párbeszéd több területen (Volt egy millió alkalommal). Vagy akár egy klasszikus példája - találunk feljegyzéseket a jelenlegi formájában az érték egy vezérlőelem - legördülő menüből vagy szövegdobozba.

Sajnálom, hogy olyan sokáig tartott csendes volt, úgy döntött, hogy elhalasztja. Elhalasztott (tojás) kereső, de pontosan ugyanazt a problémát RecordSet'om:

Kód: Egész kiválasztása Private Sub Button1_Click ()
Dim RS Amint Recordset






Dim fldNotes Ahogy Field
Dim N As Integer
Set RS = CurrentDb.OpenRecordset ( "# 91; felvételi és mentesítés # 93;")
! Set Field = RS # 91; # kivonat 93;
Do-ig RS.EOF
N = N + 1
rs.MoveNext
hurok
End Sub
Azt írja:

Run-time error '3078':
Microsoft Jet adatbázis-motor nem találja a bemeneti tábla vagy lekérdezés "[a befogadási és mentesítés]. Ellenőrizze a megfelelő nevet.


Megnéztem, és rögzíteni. Ha eltávolítja az idézőjeleket, azt írja:

Run-time error '2465':
Alkalmazás „Microsoft Access” nem találja a mező „|”, megadva a kifejezést.


Zárójel nélkül is ír valamit, ami csak nem rögzített sajnálom.

Azt hiszem, a probléma az ANSI és UNICODE. Amikor másoltam a makrót egy notebook, egy helyen az orosz betűk jelennek meg függőleges csíkok. Cseréje a táblázat nevét latin betűkkel nem változott semmi.

Dim első a DAO.Recordset

alternatívaként a standard beépített kereső párbeszéd (Ctrl + F). ez kakbe felhasználóbarát ..


Ez csak, ahol lehetetlen választani - mit kell keresni ezen a területen.

AndreyMust19 írta (a): Kód: Összes kijelölése Set RS = CurrentDb.OpenRecordset ( "# 91; felvételi és mentesítés # 93;")


Meg kell írni a teljes kifejezést a szintaxis az SQL. és egy mezőt az ismeretlen asztalra - ez olyan, mint as a falu a nagyapa.

AndreyMust19 írta (a): pele

alternatívaként a standard beépített kereső párbeszéd (Ctrl + F). ez kakbe felhasználóbarát ..


Ez csak, ahol lehetetlen választani - mit kell keresni ezen a területen.

Írtam ott, hogy a keresés párbeszéd hívása előtt, meg kell végre Pole.SetFocus. A párbeszéd ablakban a keresés az aktuális mezőben

Meg kell írni a teljes kifejezést a szintaxis az SQL. és egy mezőt az ismeretlen asztalra - ez olyan, mint as a falu a nagyapa.

Meg kell futtatni Pole.SetFocus.


Azért, mert megkeresi között az ellenőrzések, de nem szerepel az adatbázisban - Már probyval. Ezért keresés esetén csak az aktuális rekordot.

Ennek része a Kód: Egész kiválasztása Dim első a DAO.Recordset
Első próbálkozás, majd kifogásolta, hivatkozva példák.

Tovább Hello újra.
Végül megoldotta a problémát. Hozzáférés ehhez átkozott minden, amit írtam, és nem egyértelmű, hogy neki -, hogy hol a hiba. Így - a hiba nem az, ahol keresem. Erre azért volt szükség, hogy csatlakoztassa a Microsoft DAO eleme az „Eszközök-> Irodalom”, és DAO.Recordset típusát. Végül dolgozott ki! Az összes VB és a VBA - Get a legnehezebb számomra. Köszönet mindenkinek a tippeket, ha kész még tárol, feküdt itt a móka kedvéért, mások nem szárnyalt, és megtalálható a keresést, amit keresnek.
Ami a képzést, igazad van - először meg kell tanulni, hogyan kell tartani a fejszét előtt fát. De ha azt kell csökkenteni egy fát, azt leterítette őt valahogy, mint egy pár nap, hogy megtanulják, hogyan kell vágni a fákat, amikor kivágták mindössze 20 perc alatt. Ez csak akkor szükséges, hogy megértsük - mi volt a hiba az MS Access, anélkül, hogy részleteket.