Az Access-adatbázisokban frissítő lekérdezésekkel adhat hozzá, módosíthat vagy törölhet adatokat egy meglévő rekordban. A frissítő lekérdezések a Keresés és csere párbeszédpanel hatékony formájának tekinthetők. Frissítő lekérdezéssel nem adhat hozzá új rekordokat egy adatbázishoz, és nem törölhet rekordokat 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:
-
Kiszámított mezők: A kiszámított mezők értékei nem maradnak véglegesen a táblában. 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ítettek. 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, a két vagy több adatforrásban szereplő rekordok csak egyszer szerepel 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.
A frissítő lekérdezés használata
Frissítési lekérdezés létrehozásakor ajánlott eljárásként először hozzon létre egy választó lekérdezést, amely azonosítja a frissíteni kívánt rekordokat, majd konvertálja a lekérdezést egy frissítő lekérdezéssé, amelyet futtatva frissítheti a rekordokat. Az adatok első kiválasztásával ellenőrizheti, hogy frissíti-e a kívánt rekordokat, mielőtt ténylegesen módosítja az adatokat.
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
-
Kattintson a Fájl fülre, majd a Mentés másként parancsra.
-
A jobb oldali részen, a Speciális elem alatt kattintson az Adatbázis biztonsági mentése elemre.
-
A Biztonsági mentés másként párbeszédpanelen adja meg a biztonsági másolat nevét és helyét, majd kattintson a Mentés gombra.
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
-
Nyissa meg azt az adatbázist, amely a módosítani kívánt rekordokat tartalmazza.
-
A Létrehozás lap Lekérdezések csoportjában kattintson a Lekérdezéstervező menügombra.
-
Kattintson a Táblák fülre.
-
Jelölje ki a frissíteni kívánt rekordokat tartalmazó táblát vagy táblákat, kattintson a Hozzáadás gombra, majd a Bezárás gombra.
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:
1. Tábla a lekérdezéstervezőben
2. Lekérdezéstervező rács
-
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:
-
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 kifejezést.
>= " 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 december 17. közötti dátumokat adja vissza (ANSI-89). Ha az adatbázis ANSI-92 helyettesítő karaktereket használ, használjon szimpla idézőjeleket (') a kettős kereszt (#) helyett. Példa: 2020. 02. 02. és 2020. 12. 01. között.
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, százalékjelet (%) használjon a csillag (*) helyett.
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 helyettesítő karakterkészletet használ, a kérdőjel (?) helyett használja az aláhúzásjelet (_).
#2/2/2020#
Megkeresi a 2020. február 2-i összes rekordot. Ha az adatbázis ANSI-92 helyettesítő karakterkészletet használ, a dátumot kettős kereszt (#) helyett szimpla idézőjelek (') közé kell tenni; például : ('2020.02.02').
< 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.
""
Az összes olyan rekordot visszaadja, amely nulla hosszúságú karakterláncot tartalmaz. Nulla hosszúságú sztringeket használ, ha értéket kell hozzáadnia egy kötelező mezőhöz, de még nem tudja, mi az az érték. Előfordulhat például, hogy egy mezőhöz faxszámra van szükség, de előfordulhat, hogy néhány ügyfél nem rendelkezik faxgéppel. Ebben az esetben dupla idézőjeleket ad meg, amelyek között nincs szóköz (") a szám helyett.
-
A Lekérdezéstervező lap Eredmények csoportjában kattintson a Futtatás gombra.
-
Ellenőrizze, hogy a lekérdezés az ön által módosítani kívánt rekordokat adja-e vissza.
-
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.
-
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
-
A Lekérdezéstervező lap Lekérdezés típusa csoportjában kattintson a Frissítés gombra.
Ez az eljárás bemutatja, hogyan módosíthat egy választó lekérdezést frissítő lekérdezésre. Ha ezt teszi, az Access hozzáadja a Frissítés sorhoz a lekérdezéstervező rácsban. 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 az adott feltételnek megfelelő összes rekord helyét "Warehouse 3" értékre módosítja.
-
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 a szöveges értéket a Salesperson értékre módosítja.
#8/10/20#
Egy Dátum/idő mezőben a dátumértéket 10-aug-20 értékre 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]",
"Rendelés részletei", "[Termékazonosító]=" & [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.
-
A Lekérdezéstervező lap Eredmények csoportjában kattintson a Futtatás gombra.
Megjelenik egy figyelmeztető üzenet.
-
A lekérdezés futtatásához és az adatok frissítéséhez kattintson az Igen gombra.
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.
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átaicí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:
-
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.
-
Illessze a táblákat a kapcsolódó információt tartalmazó mezők alapján.
-
A célmezők nevét adja a lekérdezéstervező rács Mező sorához.
-
A forrásmezők nevét adja a lekérdezéstervező rács Módosítás sorához, betartva a következő szintaxist: [ forrás_tábla ].[ forrás_mező ] .
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 75. 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 75. 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 |
Miközben folytatja, ne feledje, hogy bár az egyes táblamezők adattípusainak nem kell egyezniük, kompatibilisnek kell lenniük. Az Accessnek képesnek kell lennie a forrástábla adatait a céltábla által használható típussá alakítani. Bizonyos esetekben előfordulhat, hogy a konverziós folyamat töröl néhány adatot. Az adattípusok konvertálásának korlátozásairól az Adattípus-konverziók korlátozásai című szakaszban talál további információt.
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.
-
A Létrehozás lap Lekérdezések csoportjában kattintson a Lekérdezéstervező menügombra.
-
Válassza a Táblák hozzáadása lehetőséget.
-
Kattintson duplán a forrás- és céltáblákra, hogy hozzáadja őket a lekérdezéshez. Mindkét tábla egy ablakban jelenik meg a lekérdezéstervezőben.
-
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.
-
A Lekérdezéstervező lap Lekérdezés típusa csoportjában kattintson a Frissítés gombra.
-
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.
-
A lekérdezés Módosítás sorához adja hozzá a forrástábla nevét és a céltáblában lévő mezőnek megfelelő forrástáblában lévő mező 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 fogják közre. A táblaneveket és mezőneveket ponttal válassza el 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.
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.
-
A Lekérdezéstervező lap Eredmények csoportjában kattintson a Futtatás gombra.
-
Ha a program kéri a frissítés jóváhagyását, kattintson az Igen gombra.
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énznem- és tizedeselválasztókat tartalmazhat. A Hosszú szöveg mezőben szereplő karakterek számának a Szám mezőhöz beállított méreten belül kell lennie. |
|
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 0. dátumként. Az 1899. április 18. és 1900. szeptember 11. közötti dátumok meghaladják a Bájt mező méretét. Az 1810. április 13. és 1989. szeptember 16. közötti dátumok meghaladják az egész szám mező méretét. 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ékek -1 értékké alakulnak. A "Nem" értékek 0-ra alakulnak. |
|
Dátum/idő |
Rövid szöveg |
Az eredeti szövegnek felismerhető dátum- 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átum- 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 |
A -1 (Igen) érték 1899. december 29-ére alakul. A 0 (Nem) érték éjfélre (12:00) lesz konvertálva. |
|
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 a 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 protokoll előtagját tartalmazhatja, 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. Egyéb esetben az Access egy http:// előtagot fűz minden értékhez, és a létrejövő hivatkozások nem működnek. |
|
Dátum/Idő |
Az Access minden címhez a http:// előtagot fűzi, de a létrejövő hivatkozások gyakorlatilag soha nem működnek. |
|
Pénznem |
Az Access minden címhez a http:// előtagot fűzi, 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ékhez a http:// előtagot fűzi, de a létrejövő hivatkozások gyakorlatilag soha nem működnek. |
|
Igen/Nem |
Az Access minden Igen értéket -1 értékké, minden Nem értéket 0 értékké konvertál, és minden értékhez a http:// előtagot fűzi. A létrejövő hivatkozások nem működnek. |
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.
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 tábla SET újérték WHERE feltétel;
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';