A frissítő lekérdezés létrehozása és futtatása

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

Az Access-adatbázisokban frissítő lekérdezésekkel bővítheti, módosíthatja vagy törölheti a meglévő rekordok adatait. A frissítő lekérdezések a Keresés és csere párbeszédpanel hatékony változatának tekinthetők. A frissítő lekérdezések nem használhatók sem új rekordok felvételére, sem rekordok törlésére egy adatbázisból.

Új rekordok hozzáadásához hozzáfűző lekérdezést kell használni, teljes rekordok törléséhez pedig törlő lekérdezést.

A témakör tartalma

Áttekintés

Az alábbiakban összefoglaljuk a Keresés és csere és a frissítő lekérdezés hasonlóságait és eltéréseit.

A Keresés és csere párbeszédpanelhez hasonlóan a frissítő lekérdezéssel is megadhatja, hogy milyen értéket cserél, és mi legyen az új érték:

A Keresés és csere párbeszédpanel szolgáltatásain kívül a frissítő lekérdezéssel az alábbiakat is elvégezheti:

  • A lecserélni kívánt értéktől nem függő feltételek használata
  • Több rekord frissítése egyszerre
  • Több tábla rekordjainak módosítása egyszerre

A frissíthető mezők korlátozásai

Frissítő lekérdezéssel nem frissíthetők az alábbi típusú mezők adatai:

  • Számított mezők A számított mezők értékei nem maradnak véglegesen a táblákban. A számítógép ideiglenes memóriája tárolja őket, miután az Access elvégezte a számítást. A kiszámított mezőket nem tudja frissíteni, mivel nincs állandó tárolási helyük.

  • Összegző lekérdezés vagy kereszttáblás lekérdezés mezői: Az ilyen típusú lekérdezések értékei számítottak, ezért frissítő lekérdezéssel nem frissíthetők.

  • Számláló mezők: A Számláló mezőknek olyan a kialakítása, hogy az értékük csak akkor változik, ha rekordot ad egy táblához.

  • Egyedi értékek és egyedi rekordok lekérdezéseinek mezői Az ilyen lekérdezések értékei összesítve jelennek meg. Egyes értékek egyetlen rekordnak felelnek meg, mások pedig több rekordnak. A frissítés nem lehetséges, mert nem határozható meg, hogy mely rekordokat zárták ki ismétlődés miatt, és így nem frissíthető az összes szükséges rekord. Ez a korlátozás frissítő lekérdezés használatakor és az űrlap vagy adatlap adatainak manuálisan frissítésekor is érvényes.

  • Egyesítő lekérdezés mezői Egyesítő lekérdezés mezőiből származó adatok nem frissíthetők, mert a két vagy több adatforrásban szereplő rekordok csak egyszer szerepelnek az egyesítő lekérdezés eredményében. Mivel egyes ismétlődő rekordokat a program eltávolít az eredmények közül, az Access nem tudja frissíteni az összes szükséges rekordot.

  • Elsődleges kulcsként funkcionáló mezők: Egyes esetekben (például ha egy tábla kapcsolatához az elsődlegeskulcs-mezőt használja) a mező csak akkor frissíthető lekérdezéssel, ha először a kapcsolathoz beállítja a frissítés automatikus kaszkádolását.

    Megjegyzés

    Ha a frissítések kaszkádoltak, az Access a fölérendelt tábla elsődlegeskulcs-értékének módosításakor automatikusan frissíti az idegen kulcs értékeit.

Vissza a lap tetejére

A frissítő lekérdezés használata

A frissítő lekérdezés létrehozásakor először létre kell hozni a frissíteni kívánt rekordokat azonosító választó lekérdezést, majd ezt a lekérdezést frissítő lekérdezéssé kell alakítani, amellyel frissíthetők a rekordok. Az adatok előzetes kijelölésével még az adatok módosítása előtt ellenőrizheti, hogy a kívánt rekordok frissülnek-e.

Tipp:

A frissítő lekérdezés futtatása előtt készítsen biztonsági másolatot az adatbázisról. Mivel a frissítő lekérdezés eredményei nem vonhatók vissza, ezért a módosításokat csak úgy vetheti el, hogy az adatokat visszaállítja a biztonsági másolatból.

Az adatbázis biztonsági másolatának elkészítése

  1. Kattintson a Fájl fülre, majd a Mentés másként parancsra.
  2. A jobb oldalon, a Speciális területen válassza az Adatbázis biztonsági mentése lehetőséget.
  3. A Biztonsági másolat mentése másként párbeszédpanelen adja meg a biztonsági másolat nevét és helyét, majd válassza a Mentés gombot.
    Az Access bezárja az eredeti fájlt, létrehozza a biztonsági másolatot, majd újra megnyitja az eredeti fájlt.
    Ha vissza szeretne állítani egy biztonsági másolatot, zárja be és nevezze át az eredeti fájlt, hogy a biztonsági másolat használhassa az eredeti verzió nevét. Rendelje az eredeti verzió nevét a biztonsági másolathoz, majd nyissa meg az átnevezett biztonsági másolatot az Access alkalmazásban.

A szakasz tartalma

1. lépés: Választó lekérdezés létrehozása a frissítendő rekordok azonosításához

  1. Nyissa meg azt az adatbázist, amely a módosítani kívánt rekordokat tartalmazza.

  2. A Létrehozás lap Lekérdezések csoportjában kattintson a Lekérdezéstervező gombra.

  3. Válassza a Táblázatok fület.

  4. Jelölje ki a frissíteni kívánt rekordokat tartalmazó táblát vagy táblákat, válassza a Hozzáadás, majd a Bezárás gombot.
    A tábla vagy táblák ablakokként jelennek meg a lekérdezéstervezőben, ezek az ablakok sorolják fel az egyes táblák mezőit. A következő táblázat egy tipikus táblát mutat a lekérdezéstervezőben:
    Tábla a lekérdezéstervezőben
    Table shown in the query designer
    Lekérdezéstervező rács

  5. Kattintson duplán a tábla ablakában a frissíteni kívánt mezőkre. A kijelölt mezők megjelennek a lekérdezéstervező rács Mező sorában.
    A lekérdezéstervező rácsban egy oszlophoz egy táblamezőt adhat hozzá.
    Ha egy tábla összes mezőjét gyorsan hozzá kívánja adni, kattintson duplán a tábla ablakában, a mezőlisták tetején található csillag ( *) karakterre. Az alábbi ábra a lekérdezéstervező rácsot mutatja az összes mező hozzáadása után:
    Tervezőrács az összes mező hozzáadása után

  6. Ha a mezőértékek alapján korlátozni szeretné a lekérdezés eredményeit, a lekérdezéstervező rács Feltétel sorában adja meg az eredmények korlátozásához használni kívánt feltételeket.
    Példafeltételek táblázata
    Az alábbi táblázatban példafeltételeket talál, valamint a lekérdezésre gyakorolt hatásaikat is megismerheti.

    Megjegyzés

    A lekérdezés rugalmasabbá és hatékonyabbá tételéhez a táblázat sok példája helyettesítő karaktereket használ.

    Feltétel Hatás
    >234 Minden 234-nél nagyobb számot visszaad. A 234-nél kisebb számok megkeresésére használja a < 234-et.
    >="Koczka " A Koczka névtől kezdődően az ábécé végéig minden rekordot visszaad.
    Between #2/2/2020# And #12/1/2020# A 2017. február 2. és 2017. december 1. közötti dátumokat adja vissza (ANSI-89 esetén). Ha az adatbázis ANSI-92 szabványú helyettesítő karaktereket használ, használjon aposztrófokat (') kettős keresztek (#) helyett. Példa: Between '2/2/2020' And '12/1/2020' .
    Not "Németország" Minden olyan rekordot megkeres, amelynek tartalma nem egyezik meg pontosan a „Németország” karaktersorozattal. A feltételkifejezés olyan rekordokat ad vissza, amelyek a „Németország” karakterlánc mellett további karaktereket is tartalmaznak, például: „Németország (Euró)” vagy „Európa (Németország)” .
    Not "T*" A nem T-vel kezdődő rekordokat keresi meg. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, a csillag ()* helyett használjon százalékjeleket (%).
    Not "*t" Minden olyan rekord megkeresése, amely nem t-re végződik. Ha az adatbázis ANSI-92 helyettesítő karakterekre van beállítva, a csillag (*) helyett használjon százalékjelet (%).
    In(Kanada,EK) A listában megkeres minden olyan rekordot, amelyben szerepel a Kanada vagy az EK szó.
    Like "[A-D]*" Szövegmezőben az A és D közé eső karakterekkel kezdődő mezőket keresi meg. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, a csillag (*) helyett használjon százalékjeleket (%).
    Like "*ar*" Azokat a rekordokat keresi meg, amelyek tartalmazzák az „ar\rdblquote betűsorozatot. Ha az adatbázis ANSI-92 helyettesítő karakterekre van beállítva, a csillag (*) helyett használjon százalékjeleket (%).
    Like "Bobvos Endr?" Megkeresi azokat a rekordokat, amelyek a „Budai” névvel kezdődnek, és tartalmaznak egy ötbetűs második karakterláncot, amelynek első négy betűje „Csab”, utolsó betűje pedig ismeretlen. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, használja az aláhúzásjelet (_) a kérdőjel (?) helyett.
    #2/2/2020# Megkeresi a 2020. február 2-i összes rekordot. Ha az adatbázis ANSI-92 szabványú helyettesítő karakterekre van beállítva, a dátumot kettős keresztek (#) helyett szimpla idézőjelek (') közé tegye. Például: ('2/2/2020').
    < Date() - 30 A Date függvényt használja a 30 napnál régebbi dátumok visszaadására.
    Date() A Date függvényt használja a mai dátumot tartalmazó rekordok visszaadására.
    Between Date( ) And DateAdd("M", 3, Date( )) A Date és a DateAdd függvényeket használja az aktuális dátumtól számítva három hónapon belüli időpontokat tartalmazó rekordok visszaadására.
    Is Null Azokat a rekordokat adja vissza, amelyek null (üres vagy meghatározatlan) értékeket tartalmaznak.
    Is Not Null Minden rekordot visszaad, amely tartalmaz értéket.
    "" Visszaad minden rekordot, amely nulla hosszúságú karakterláncot tartalmaz. Akkor érdemes nulla hosszúságú karakterláncokat használni, ha egy kötelező mezőben értéket kell megadnia, de még nem ismeri az érték értékét. Ha például egy mezőben faxszámot kell megadni, de egy vevőnek még nincs faxkészüléke. Ebben az esetben a szám helyett két egymás mellett álló dupla idézőjelet ("") ír be, ahol nem szerepel közöttük szóköz.
  7. Válassza a Lekérdezéstervező lap Eredmények csoportjában a Futtatás gombot.

  8. Ellenőrizze, hogy a lekérdezés az ön által módosítani kívánt rekordokat adja-e vissza.

  9. A lekérdezéstervben szerepeltetni nem kívánt mezők eltávolításához jelölje ki a mezőt, majd nyomja meg a DELETE billentyűt.

  10. Ha a lekérdezéstervhez mezőt szeretne adni, húzza a mezőt a lekérdezésterv rácsára.

2. lépés: A rekordok frissítése

  1. A Lekérdezéstervező lap Lekérdezés típusa csoportjában válassza a Frissítés gombot.
    Ez az eljárás azt ismerteti, hogy miként alakíthat át egy választó lekérdezést frissítő lekérdezéssé. Ebben az esetben az Access hozzáadja a Frissítés sort a lekérdezés tervezőrácsához. Az alábbi ábrán egy frissítő lekérdezés látható, amely visszaadja a 2005. január 5. után vásárolt összes eszközt, és a feltételnek megfelelő összes rekord helyét "3. raktárra" módosítja.
    Frissítő lekérdezés egyetlen feltételkifejezéssel

  2. Keresse meg a módosítani kívánt adatot tartalmazó mezőt, és írja be a kifejezést (a módosító feltételt) a mező Módosítás sorába.
    Bármilyen érvényes kifejezést használhat a Módosítás sorban.
    Példakifejezések táblázata
    Az alábbi táblázat bemutat néhány példakifejezést, és leírja a hatásukat.

    Kifejezés Eredmény
    "Eladó" A Rövid szöveg mezőben egy szöveget Üzletkötő értékre módosít.
    #8/10/20# Egy Dátum/idő mezőben a dátumértéket 2020. augusztus 10-re módosítja.
    Igen Egy Igen/Nem típusú mezőben a Nem értéket Igen értékre változtatja.
    "C" & [Cikkszám] Minden megadott cikkszám elé C betűt tesz.
    [Egységár] * [Mennyiség] Összeszorozza az Egységár és a Mennyiség mezők értékét.
    [Fuvardíj] * 1,5 A Fuvardíj nevű mező értékeit 50 százalékkal megnöveli.
    DSum("[Mennyiség] * [Egységár]",
    "Order Details", "[ProductID]=" & [ProductID])
    Ahol az aktuális tábla Termékazonosító mezőjének értéke megegyezik a Rendelés részletei nevű tábla Termékazonosító értékével, a lekérdezés frissíti a végösszeg értékét a Mennyiség és az Egységár mező tartalmának összeszorzásával. A kifejezés a DSum függvényt használja, mert az egyszerre több táblával és táblamezővel is használható.
    Right([CímIrányítószáma], 5) Egy szöveget vagy számot tartalmazó mező tartalmát csonkolja (eltávolítja) úgy, hogy csak az utolsó 5 karakter maradjon meg a mezőből.
    IIf(IsNull([Egységár]), 0, [Egységár]) Az Egységár mező null (ismeretlen vagy nem meghatározott) mezőinek értékét nulla értékre változtatja.
  3. A Lekérdezéstervező lap Eredmények csoportjában kattintson a Futtatás gombra.
    Megjelenik egy figyelmeztető üzenet.

  4. A lekérdezés futtatásához és az adatok frissítéséhez válassza az Igen gombot.

    Megjegyzés

    A lekérdezés futtatásakor előfordulhat, hogy egyes mezők hiányoznak az eredményhalmazból. Az Access alapértelmezés szerint nem jeleníti meg azokat a mezőket az eredményhalmazban, amelyeken nem végez frissítést. Előfordulhat például, hogy két tábla azonosító mezőit is felhasználja a lekérdezésben azért, hogy a lekérdezés biztosan a megfelelő mezőket azonosítsa és frissítse. Ha ezeket a mezőket nem frissíti, az Access nem jeleníti meg őket az eredményhalmazban.

Vissza a lap tetejére

Adatok frissítése egyik táblából a másikba

Amikor egy tábla alapján kíván frissíteni egy másikat, ne felejtse el a következő szabályt: a forrásmezők és a célmezők adattípusának egyeznie kell, vagy kompatibilisnek kell lennie egymással.

Ezenkívül amikor egy tábla alapján kíván frissíteni egy másikat, és kompatibilis adattípusokat használ egyező helyett, az Access konvertálja a mezők adattípusát a céltáblában. Ez azt eredményezi, hogy a célmezők néhány adata csonkolódhat (törlődhet). Az adattípus konverziójának korlátai című témakör leírja az adattípusok konverziójának lehetséges módjait. A szakaszban található táblázat azt is leírja, hogy mely adattípus-konverzió esetében módosulhat vagy törlődhet a mező adatainak egy része vagy egésze, és milyen adatok törlődhetnek.

Az egyik táblából másik táblába történő adatfrissítés folyamata az alábbi általános lépéseket foglalja magába:

  1. Hozza létre a frissítő lekérdezést, a forrástáblát és a céltáblát adja hozzá a lekérdezéshez.
  2. Illessze a táblákat a kapcsolódó információt tartalmazó mezők alapján.
  3. A célmezők nevét adja a lekérdezéstervező rács Mező sorához.
  4. Adja hozzá a forrásmezők nevét a lekérdezés tervezőrácsának Módosítás sorához a következő szintaxist használva: [source_table]. [source_field].

Az alábbi példában két hasonló tábla szerepel. Ebben az Ügyfelek tábla egy éppen örökölt adatbázisban található, és frissebb adatokat tartalmaz, mint a Vevők tábla. Látható, hogy néhány főnök neve és címe megváltozott. Ezért úgy dönt, hogy frissíti a Vevők táblát az Ügyfelek tábla adatai alapján.

Az Ügyfelek tábla

Ügyfél-azonosító Név Cím Város Megye Irányítószám Ország/régió Telefonszám Kapcsolattartó
1 Szentgyörgyi Albert Természettudományi Múzeum Fő út 1. Győr Győr-Moson-Sopron megye 12345 Magyarország (09) 123-4567 Ambrus Zsolt
2 Kék Égbolt Légitársaság Petőfi utca 5. Nagykanizsa Vas megye 23456 Magyarország (06) 111-2345 Balázs Erzsébet
3 Kisbögre Italbolt 3122 75th Ave. S.W. Kecskemét Bács-Kiskun megye 34567 Magyarország (01) 122-3456 Barkóczi Miklós
4 Pirula Gyógyszergyár Berkenye sgt. 1. Debrecen Hajdú-Bihar megye NS1 EW2 Magyarország (08) 123-4545 Harmath Zoltán
5 Babszem Kávézó Orgona utca 2. Szolnok 56789 Magyarország (07) 123-12-12 Fischer Péter
6 Üzenetfutár 75. utca 3123 Kecskemét Bács-Kiskun megye 34567 Magyarország (01) 122-33-44 Budai Péter
7 Általános Tervezőintézet Árnyas út 7. Eger Heves megye 87654 Magyarország (05) 11-22-333 Béres Kálmán
8 Bárdos Iparcikk Microsoft út 3. Pécs Baranya megye 31415 Magyarország (11) 123-123-4 Lukács Tibor
9 Dejójáték Kft. Microsoft út 4. Pécs Baranya megye 31415 Magyarország (11) 123-234-5 Tóth András

A Vevők tábla:

Vevőkód Név Cím Város Megye Irányítószám Ország vagy régió Telefon Kezelő
1 Szentgyörgyi Albert Természettudományi Múzeum Fő út 1. Győr Győr-Moson-Sopron megye 12345 Magyarország (09) 123-4567 Tóth András
2 Kék Égbolt Légitársaság Petőfi utca 5. Nagykanizsa Vas megye 23456 Magyarország (06) 111-2345 Balázs Erzsébet
3 Kisbögre Italbolt 3122 75th Ave. S.W. Kecskemét Bács-Kiskun megye 34567 Magyarország (01) 122-3456 Barkóczi Miklós
4 Pirula Gyógyszergyár Berkenye sgt. 1. Debrecen Hajdú-Bihar megye NS1 EW2 Magyarország (08) 123-4545 Harmath Zoltán
5 Babszem Kávézó Nyárfa sétány 2. Szolnok 56789 Magyarország (07) 123-12-12 Fischer Péter
6 Üzenetfutár 75. utca 3123 Kecskemét Bács-Kiskun megye 34567 Magyarország (01) 122-33-44 Harmath Zoltán
7 Általános Tervezőintézet Lejtő utca 67. Eger Heves megye 87654 Magyarország (05) 11-22-333 Belinszki Balázs
8 Bárdos Iparcikk Microsoft út 3. Pécs Baranya megye 31415 Magyarország (11) 123-123-4 Lukács Tibor
9 Dejójáték Kft. Microsoft út 4. Pécs Baranya megye 31415 Magyarország (11) 123-234-5 Lengyel Attila

A folytatás során ne feledje, hogy bár az egyes táblamezők adattípusainak nem kell megegyezniük, kompatibilisnek kell lenniük egymással. Az Accessnek képesnek kell lennie a forrástáblában lévő adatokat olyan típusúra alakítani, amelyet a céltábla használni tud. Bizonyos esetekben az átalakítási folyamat adatsor törlődhet. Az adattípusok átalakításakor érvényes korlátozásokról A vonatkozó korlátozások az adattípus-konverzióra vonatkozó korlátozások című szakaszban olvashat bővebben.

Frissítő lekérdezés létrehozása és futtatása

Megjegyzés

A következő lépések a korábbi két példatábla használatára építenek. A lépések az adatokhoz igazíthatók.

  1. A Létrehozás lap Lekérdezések csoportjában kattintson a Lekérdezéstervező gombra.
  2. Válassza a Táblák hozzáadása lehetőséget.
  3. Kattintson duplán a forrás- és a céltáblára a lekérdezéshez való hozzáadáshoz. Mindkét tábla egy ablakban jelenik meg a lekérdezéstervezőben.
  4. Az Access a legtöbb esetben automatikusan összekapcsolja a lekérdezéshez tartozó kapcsolódó mezőket. A kapcsolódó adatokat tartalmazó mezők manuális összekapcsolásához húzza a kapcsolódó mezőt az egyik táblából a másik tábla megfelelő mezőjére.
    Ha például a korábbi példatáblákat használja, az Ügyfél-azonosító mezőt a Vevőazonosító mezőre húzza. Ilyenkor az Access a két táblában létrehoz egy kapcsolatot a mezők között, és a kapcsolat alapján illeszti a kapcsolódó mezőket.
  5. A Lekérdezéstervező lap Lekérdezés típusa csoportjában válassza a Frissítés gombot.
  6. A céltáblában kattintson duplán a frissíteni kívánt mezőkre. Mindegyik mező a Mező sorban jelenik meg a lekérdezéstervező rácsban.
    Ha a példatáblákat használja, minden mezőt hozzáad, kivéve a Vevőazonosító mezőt. Vegye észre, hogy a céltábla neve megjelenik a tervezőrács Táblák sorában.
  7. A lekérdezés Módosítás sorában adja hozzá a forrástábla nevét és a céltábla mezőjének megfelelő forrástábla mezőjének nevét minden olyan oszlopban, amely tartalmaz célmezőt, ügyelve arra, hogy a szintaxis a következő legyen: [Tábla].[ Mező], ahol a táblaneveket és mezőneveket szögletes zárójelek közé kell tenni, a táblaneveket és mezőneveket pedig ponttal kell elválasztani egymástól.
    Az alábbi ábra a tervezőrács egy részét mutatja a példatáblákkal. Figyelje meg a Módosítás sorban található táblanevek és mezőnevek szintaxisát.
    Egyik táblát másik tábla adatai alapján frissítő lekérdezés
    Ne feledje, hogy a Módosítás sorban helyesen kell beírnia a táblaneveket és a mezőneveket, és az eredeti táblanevekben és mezőnevekben lévő írásjeleknek is egyezniük kell. A kis- és nagybetűk használatát azonban nem kell követni.
  8. A Lekérdezéstervező lap Eredmények csoportjában kattintson a Futtatás gombra.
  9. Amikor a rendszer a frissítés megerősítését kéri, válassza az Igen gombot.

Az adattípus-konverzió korlátai

Az alábbi táblázat az Access alkalmazásban található adattípusokat tartalmazza, leírja az adattípusok konverziójának korlátait, és röviden szól a konverzió során esetlegesen fellépő adatveszteségről is.

Konvertált típus Eredeti típus Módosítások és korlátozások
Rövid szöveg Hosszú szöveg Csak az első 255 karakter marad meg.
Szám Nincsenek korlátozások.
Dátum/Idő Nincsenek korlátozások.
Pénznem Nincsenek korlátozások.
Számláló Nincsenek korlátozások.
Igen/Nem A -1 értéket (az Igen/nem mezőkben ez képviseli az Igen értéket) Igen értékké konvertálja. A 0 értéket (az Igen/nem mezőben ez képviseli a Nem értéket) Nem értékké konvertálja.
Hivatkozás Az Access csonkítja a 255 karakternél hosszabb hivatkozásokat
Hosszú szöveg Rövid szöveg Nincsenek korlátozások.
Szám Nincsenek korlátozások.
Dátum/Idő Nincsenek korlátozások.
Pénznem Nincsenek korlátozások.
Számláló Nincsenek korlátozások.
Igen/Nem A -1 értéket (az Igen/nem mezőkben ez képviseli az Igen értéket) Igen értékké konvertálja. A 0 értéket (az Igen/nem mezőben ez képviseli a Nem értéket) Nem értékké konvertálja.
Hivatkozás Nincsenek korlátozások.
Szám Rövid szöveg A szöveg számokból, érvényes pénznemjelzésből és tizedes elválasztóból állhat. A Szöveg mező karaktereinek számának a Szám mező beállított méretén belülre kell esnie.
Hosszú szöveg A Hosszú szöveg mező csak szöveget, érvényes pénznemjelzést és tizedes elválasztót tartalmazhat. A Hosszú szöveg mező karaktereinek számának a Szám mező beállított méretén belülre kell esnie.
Más mezőméretű vagy pontosságú Szám mező Az értékek nem lehetnek sem kisebbek, sem nagyobbak az új mezőméret által tárolhatónál. A pontosság módosítása az értékek lekerekítését okozhatja.
Dátum/idő A konvertálható dátumok tartománya a Szám típusú mező méretétől függ. Ne felejtse el, hogy az Access minden dátumot számmal azonosít, és a dátumértékeket dupla pontosságú egész értékként tárolja.
Az Access 1899. december 30-át használja a 0. dátumként. Bájt méretű mezőkben 1899. április 18. és 1900. szeptember 11. közötti dátumokat lehet tárolni. Egész méretű mezőkben 1810. április 13. és 1989. szeptember 16. közötti dátumokat lehet tárolni.
Minden lehetséges dátum tárolásához állítsa be a Szám típusú mező Mezőméret tulajdonságát Hosszú egész vagy annál nagyobb értékre.
Pénznem Az értékek nem lehetnek sem nagyobbak, sem kisebbek a mező beállított méretkorlátjainál. Csak olyan Pénznem típusú mezőt konvertálhat például Egész hosszúságú mezővé, amelyekben az értékek nagyobbak 255-nél, de nem nagyobbak 32 767-nél.
Számláló Az értékeknek a mező beállított méretén belülre kell esniük.
Igen/Nem Az "Igen" érték -1 lesz. A "Nem" értékek 0-vá alakulnak.
Dátum/idő Rövid szöveg Az eredeti szövegnek felismerhető dátumnak vagy dátum/idő kombinációnak kell lennie. Például 2020. január 18.
Hosszú szöveg Az eredeti szövegnek felismerhető dátumnak vagy dátum/idő kombinációnak kell lennie. Például 2020. január 18.
Szám Az értékeknek -657 434 és 2 958 465,99998843 közé kell esniük.
Pénznem Az értékeknek -657 434 Ft és 2 958 465,9999 Ft közé kell esniük.
Számláló Az értékeknek -657 434 és 2 958 466 közé kell esniük.
Igen/Nem Az Access a -1 (Igen) értéket 1899. december 29. értékké konvertálja. A 0 (Nem) érték éjfél (00:00) értékké alakul át.
Pénznem Rövid szöveg A szövegnek érvényes számokból és elválasztókból kell állnia.
Hosszú szöveg A szövegnek érvényes számokból és elválasztókból kell állnia.
Szám Nincsenek korlátozások.
Dátum/idő Nincsenek korlátozások, de az Access kerekítheti az értéket
Számláló Nincsenek korlátozások.
Igen/nem A -1 (Igen) érték 1 Ft formában jelenik meg, a 0 (Nem) érték pedig 0 Ft értékké alakul.
Számláló Rövid szöveg Nem engedélyezett, ha a Számláló mező az elsődleges kulcs.
Hosszú szöveg Nem engedélyezett, ha a Számláló mező az elsődleges kulcs.
Szám Nem engedélyezett, ha a Számláló mező az elsődleges kulcs.
Dátum/Idő Nem engedélyezett, ha a Számláló mező az elsődleges kulcs.
Pénznem Nem engedélyezett, ha a Számláló mező az elsődleges kulcs.
Igen/Nem Nem engedélyezett, ha a Számláló mező az elsődleges kulcs.
Igen/Nem Rövid szöveg Az eredeti szöveg a következő értékek egyike lehet: Igen, Nem, Igaz, Hamis, Be vagy Ki.
Hosszú szöveg Az eredeti szöveg a következő értékek egyike lehet: Igen, Nem, Igaz, Hamis, Be vagy Ki.
Szám A nulla és a null érték Nem, minden más érték Igen formában jelenik meg.
Dátum/Idő A null és a 00:00:00 érték Nem, minden más érték Igen formában jelenik meg.
Pénznem A nulla és a null érték Nem, minden más érték Igen formában jelenik meg.
Számláló Minden érték Igen formában jelenik meg.
Hivatkozás Rövid szöveg Ha az eredeti szöveg érvényes webcímet tartalmaz (például adatum.com, www.adatum.com vagy http://www.adatum.com, az Access hivatkozássá konvertálja a szöveget. Az Access minden más értéket megpróbál konvertálni, azaz a szöveg aláhúzva jelenik meg, és az egérmutató is megváltozik, amikor a hivatkozásra mutat, de maga a hivatkozás nem működik. A szöveg bármilyen érvényes webes protokollt tartalmazhat, például http://, gopher://, telnet://, ftp:// és wais://.
Hosszú szöveg Lásd az előző bejegyzést. Ugyanezek a korlátozások érvényesek.
Szám Ha a Szám mező kapcsolat része, nem használható. Ha az eredeti érték egy érvényes IP-címet formáz (négy háromjegyű szám, pontokkal elválasztva: nnn.nnn.nnn.nnn), és az IP-cím megegyezik egy webcímmel, a konverzió érvényes hivatkozást eredményez. Ellenkező esetben az Access http:// fűz minden érték elejéhez, és a létrejövő hivatkozások érvénytelenek.
Dátum és idő Az Access minden cím elejéhez fűz http://, de a létrejövő hivatkozások gyakorlatilag soha nem működnek.
Pénznem Az Access minden értékhez hozzáfűz http://, de a dátumokhoz hasonlóan a létrejövő hivatkozások gyakorlatilag soha nem működnek.
Számláló Nem használható, ha a Számláló mező kapcsolatban szerepel. Az Access minden érték elejéhez hozzáfűz http://, de a létrejövő hivatkozások gyakorlatilag soha nem működnek.
Igen/Nem Az Access az összes Igen értéket -1-re, minden Nem értéket 0-ra konvertál, és hozzáfűzi a http:// értéket mindegyik értékhez. A létrejövő hivatkozások nem működnek.

Vissza a lap tetejére

Annak megakadályozása, hogy a korlátozott üzemmód letiltsa a lekérdezést

Ha megpróbál futtatni egy módosító lekérdezést, és szemlátomást semmi sem történik, ellenőrizze, hogy az Access állapotsorában szerepel-e az alábbi üzenet:

Ez a művelet vagy esemény a korlátozott üzemmód miatt le van tiltva.

Az Access alapértelmezés szerint letilt minden módosító lekérdezést (törlő, frissítő és táblakészítő lekérdezést), hacsak az adatbázis nem található megbízható helyen, vagy nincs aláírva és megbízhatónak nyilvánítva. Ha nem végezte el egyik műveletet sem, még mindig engedélyezheti a lekérdezést az aktuális adatbázisviszonyra, csak a Tartalom engedélyezése elemre kell kattintania az Üzenetsávon.

Vissza a lap tetejére

SQL-verzió: UPDATE utasítás

Ha ismeri az SQL nyelvet, UPDATE utasítást is írhat az SQL-nézetben. Az SQL-nézet használatához hozzon létre új, üres lekérdezést, majd váltson az SQL-nézetre.

Ebben a részben az UPDATE utasítás szintaxisát találja, és egy példautasítást is megtekinthet.

Szintaxis

UPDATE table SET newvalue WHERE criteria;

Az UPDATE utasítás részei:

Rész Leírás:
tábla A módosítani kívánt adatokat tartalmazó tábla neve
újérték A frissített rekordok adott mezőjébe beszúrandó értéket meghatározó kifejezés
feltétel A frissítendő rekordok körét meghatározó kifejezés. Csak a kifejezésnek eleget tévő rekordok frissítődnek.

Megjegyzések

Az UPDATE utasítás különösen akkor hasznos, ha sok rekordot szeretne módosítani, illetve ha a módosítandó rekordok több táblában helyezkednek el.

Egyszerre több mezőt is módosíthat. A következő példában a Rendelt mennyiség értékeket 10%-kal, a Szállítási költség értékeket pedig 3%-kal növeli a brit fuvarozóknál:

UPDATE Orders

SET OrderAmount = OrderAmount * 1.1,

Freight = Freight * 1.03

WHERE ShipCountry = 'UK';

Vissza a lap tetejére