Var rasties situācijas, kad nevar rediģēt datus vaicājuma datu lapas skatā, lai mainītu datus pamatā esošajā tabulā. Šis raksts palīdz jums saprast, kad var rediģēt vaicājuma datus, kad nevar rediģēt vaicājuma datus un kā mainīt vaicājuma noformējumu, lai varētu rediģēt tā pamatā esošos datus.
Tēmas šajā rakstā
- Ievads
- Kad var rediģēt vaicājuma datus?
- Kad nevar rediģēt vaicājuma datus?
- Kā mainīt vaicājumu, lai varētu rediģēt tā datus?
Ievads
Atverot vaicājumu datu lapas skatā, iespējams, vēlēsities rediģēt datus. Varbūt pamanāt kļūdu vai redzat novecojušu informāciju. Atkarībā no tā, kā vaicājums ir izveidots, datus var rediģēt tieši vaicājuma datu lapā.
Ja mēģināt rediģēt datus vaicājuma datu lapā, bet nekas nenotiek vai sistēma Windows atskaņo skaņu, bet rediģēšana nenotiek, jūs nevarat veikt rediģēšanu. Iespējams, pats vaicājums nav pieejams rediģēšanai, piemēram, krustvaicājums. Var arī gadīties, ka tikai lauks, kuru mēģināt rediģēt, nav pieejams rediģēšanai — piemēram, ja lauka pamatā ir apkopošanas funkcija, piemēram, vidējais vērtība. Jebkurā gadījumā varat veikt darbības, lai iespējotu rediģēšanu.
Papildus datu rediģēšanai vaicājuma datu lapas skatā varat izmantot arī atjaunināšanas vaicājumu, lai atjauninātu datus tabulā. Šis raksts neattiecas uz atjaunināšanas vaicājumiem.
Papildinformāciju par atjaunināšanas vaicājumiem skatiet rakstā Atjaunināšanas vaicājuma izveide un palaišana.
Parasti, ja vēlaties rediģēt datus vaicājuma datu lapas skatā, izmaiņas parasti vēlaties saglabāt tabulās, kas ir vaicājuma pamatā. Ja nevēlaties mainīt datus šajās tabulās, bet tik un tā vēlaties rediģēt datus un paturēt rediģētos datus pēc tam, kad esat beidzis darbu, varat izmantot tabulas veidošanas vaicājumu, lai vispirms izveidotu jaunu tabulu, kuras datus var rediģēt. Varat arī izmantot tabulas veidošanas vaicājumu, lai saglabātu tāda vaicājuma rezultātus, kas neļauj rediģēt, kā jaunu tabulu, un pēc tam rediģētu datus jaunajā tabulā. Šajā rakstā nav aplūkots, kā izveidot un palaist tabulu veidošanas vaicājumus.
Papildinformāciju par tabulas veidošanas vaicājumiem skatiet rakstā Tabulas veidošanas vaicājuma izveide.
Kad var rediģēt vaicājuma datus?
Vienmēr varat rediģēt datus vaicājumā, ja vaicājuma pamatā ir tikai viena tabula vai divas tabulas, kurām ir savstarpēja relācija viens pret vienu.
Piezīme
Pat tad, ja varat rediģēt vaicājuma datus, daži tā lauki var nebūt pieejami rediģēšanai. Šādi gadījumi ir uzskaitīti nākamajā sadaļā.
Kad nevar rediģēt vaicājuma datus?
Nekad nevar rediģēt datus vaicājumā, ja:
Vaicājums ir krustvaicājums.
Vaicājums ir SQL specifisks vaicājums.
Lauks, kuru mēģināt rediģēt, ir aprēķinātais lauks. Šādā gadījumā, iespējams, varat rediģēt pārējos laukus.
Vaicājuma pamatā ir vismaz trīs tabulas, un pastāv relācija daudzi pret vienu.
Piezīme
Lai gan šajā gadījumā nevar rediģēt vaicājuma datu lapu, datus formā var rediģēt, ja veidlapas rekvizīts RecordsetType ir iestatīts uz Dynaset (neatbilstīgi Atjauninājumi).
Vaicājumā ir klauzula GROUP BY.
Kā mainīt vaicājumu, lai varētu rediģēt tā datus?
Tālāk sniegtajā tabulā ir uzskaitīti gadījumi, kad nevar rediģēt vaicājumu, kā arī metodes, kā vaicājuma datu lapu padarīt pieejamu rediģēšanai.
| Nevar rediģēt vērtības vaicājuma datu lapā, ja: | Lai vaicājuma datu lapu padarītu pieejamu rediģēšanai: |
|---|---|
| Vaicājuma rekvizīts Unikālas vērtības ir iestatīts uz Yes. | Iestatiet vaicājuma rekvizītu Unikālās vērtības uz Nē. Lai uzzinātu, kā iestatīt šo rekvizītu, skatiet nākamo sadaļu Rekvizīta Unikālās vērtības iestatīšana uz Nē. |
| Vaicājumā ietilpst saistīta ODBC datu bāzes tabula bez unikāla indeksa vai Paradox tabula bez primārās atslēgas. | Pievienojiet primāro atslēgu vai unikālo indeksu saistītajai tabulai, izmantojot metodes, ko piedāvā saistītās datu bāzes piegādātājs. |
| Jums nav datu atjaunināšanas atļauju pamatā esošajai tabulai. | Piešķirt atjaunināšanas datu atļaujas. |
| Vaicājumā ir ietvertas vairākas tabulas vai viens vaicājums, un noformējuma skatā tabulas vai vaicājumus nesavieno savienotājlīnija. | Atbilstošu savienojumu izveide. Lai uzzinātu, kā izveidot savienojumus, skatiet sadaļu Savienojumu izveide. |
| Datu bāze ir atvērta kā tikai lasāma vai atrodas tikai lasāmā diskdzinī. | Aizveriet datu bāzi un atveriet to vēlreiz, neatlasot Atvērt tikai lasāmu; Vai, ja datu bāze atrodas tikai lasāmā diskā, noņemiet tikai lasāmā diska atribūtu vai pārvietojiet datu bāzi uz disku, kas nav tikai lasāms. |
| Lauks ierakstā, kuru mēģināt atjaunināt, ir izdzēsts vai to bloķējis cits lietotājs. | Uzgaidiet, līdz ieraksts tiek atbloķēts. Bloķētu ierakstu var atjaunināt, tiklīdz tas ir atbloķēts. Uzgaidiet, līdz otrs lietotājs pabeidz darbību, kas bloķē ierakstu. |
| Vaicājuma pamatā ir tabulas ar relāciju viens pret daudziem, un savienojuma lauks no puses "daudzi" nav izvades lauks. Šajā gadījumā datus savienojuma laukā no "viena" puses nevar rediģēt. | Pievienojiet savienojuma lauku no relācijas puses "daudzi" vaicājuma izvades laukiem. Lai uzzinātu, kā pievienot savienojuma lauku, skatiet sadaļu Savienojuma lauka pievienošana no "daudziem" puses vaicājuma izvades laukiem. |
| Savienojuma lauks no puses "daudzi" (pēc datu rediģēšanas) ir pusē "viens". | Nospiediet taustiņu kombināciju SHIFT+F9 , lai izpildītu savas izmaiņas un atsvaidzinātu vaicājumu. |
| Relācijas viens pret daudziem pusē "viens" ir tukšs tabulas lauks, un savienojums ir labais ārējais savienojums. | Pārliecinieties, vai šajā laukā ir vērtība pusē "viens". Puses "daudzi" savienojuma lauku var rediģēt tikai tad, ja šajā laukā ir vērtība pusē "viens". |
| Jūs izmantojat saistītu ODBC datu bāzes tabulu un ne visi lauki no saistītās tabulas unikālā indeksa ir vaicājuma izvadē. | Pievienojiet visus laukus no ODBC tabulas unikālā indeksa vaicājuma izvades laukiem. Lai uzzinātu, kā pievienot laukus, skatiet sadaļu Unikālu indeksa lauku pievienošana no saistītas ODBC tabulas. |
Iestatiet rekvizītu Unikālas vērtības uz Nē
- Atveriet vaicājumu noformējuma skatā.
- Ja rekvizītu lapa nav atvērta, atveriet to, nospiežot taustiņu F4. Ieklikšķiniet vaicājuma noformējuma režģī, lai rekvizītu lapā tiktu rādīti vaicājuma rekvizīti, nevis lauka rekvizīti.
- Rekvizītu lapā atrodiet rekvizīta lodziņu Unikālas vērtības . Noklikšķiniet uz blakus esošā lodziņa, noklikšķiniet uz bultiņas šajā lodziņā un pēc tam uz Nē.
Savienojumu izveide
- Atveriet vaicājumu noformējuma skatā.
- Katrai tabulai vai vaicājumam, ko vēlaties savienot ar citu, velciet savienojuma lauku no šīs tabulas vai vaicājuma uz atbilstošo lauku tabulā vai vaicājumā, kuram vēlaties izveidot savienojumu.
Papildinformāciju par savienojumu izveidi skatiet rakstā Tabulu un vaicājumu savienošana.
Pievienojiet vaicājuma izvades laukiem savienojuma lauku no puses "daudzi"
- Atveriet vaicājumu noformējuma skatā.
- Vaicājumu noformētājā atrodiet savienojumu, kas atbilst attiecīgajai relācijai viens pret daudziem.
- Veiciet dubultklikšķi uz savienojuma lauka no relācijas viens pret daudziem puses "daudzi". Savienojuma lauks tiek parādīts lauku režģī, norādot, ka tagad tas ir izvades lauks.
Unikālu indeksa lauku pievienošana no saistītas ODBC tabulas
- Atveriet vaicājumu noformējuma skatā.
- Vaicājumu noformētājā atrodiet saistīto ODBC tabulu.
- Unikālā indeksa laukiem blakus lauka nosaukumam ir atslēgas simbols. Veiciet dubultklikšķi uz katra lauka, kas vēl nav lauku režģī. Katrs lauks tiek parādīts lauku režģī, norādot, ka tagad tas ir izvades lauks.