Var rasties situācijas, kad vaicājumu datu lapā nevar Datu lapas skats mainīt pamatā esošās tabulas datus. Šis raksts palīdz jums saprast, kad varat rediģēt vaicājuma datus, kad nevarat rediģēt vaicājuma datus un kā mainīt vaicājuma noformējumu, lai varētu rediģēt pamatā esošos datus.
Tēmas šajā rakstā
Ievads
Kad atverat vaicājumu datu lapas skatā, iespējams, vēlēsities rediģēt datus. Iespējams, esat ievērojis kļūdu, vai arī redzama nov atjaunināta informācija. Atkarībā no vaicājuma izveides varat rediģēt datus tieši vaicājuma datu lapa.
Ja mēģināt rediģēt datus vaicājuma datu lapā, bet nekas nenotiek, vai Windows atskaņo skaņu, un rediģēšana nenotiek, jūs nevarat veikt rediģēšanu. Iespējams, gadījumā pats vaicājums nav pieejams rediģēšanai, piemēram, krustvaicājums. Tā var būt arī tā, ka rediģēšanai nav pieejams tikai tas lauks, kuru mēģināt rediģēt — piemēram, ja lauka pamatā ir apkopošanas funkcija, piemēram, vidējais. Jebkurā gadījumā, iespējams, varat veikt kādu darbību, lai iespējotu rediģēšanu.
Papildus datu rediģēšanai vaicājuma datu lapas skatā varat izmantot datu atjaunināšanas vaicājums lai atjauninātu tabulas datus. Šajā rakstā nav informācijas par 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ā, jūs vēlaties, lai izmaiņas tiktu saglabātas tabulās, kuru pamatā ir vaicājums. Ja nevēlaties mainīt šo tabulu datus, bet joprojām vēlaties rediģēt datus un saglabāt rediģētos datus, kad esat pabeidzis, varat izmantot tabulas veidošanas vaicājums, lai vispirms izveidotu jaunu tabulu, kuras datus var rediģēt. Varat arī izmantot tabulas izveidošanas vaicājumu, lai saglabātu tā vaicājuma rezultātus, kurā nav atļauts rediģēt kā jaunu tabulu, un pēc tam rediģētu datus šajā jaunajā tabulā. Šajā rakstā nav aplūkots, kā izveidot un izpildīt tabulas izveides vaicājumus.
Papildinformāciju par tabulas izveides vaicājumiem skatiet rakstā Tabulas izveides vaicājuma izveide.
Kad vaicājumā var rediģēt datus?
Jebkurā laikā var rediģēt vaicājuma datus, ja vaicājuma pamatā ir tikai viena tabula vai divas tabulas, kurās ir divu attiecība viens pret vienu vienu ar otru.
Piezīme.: Pat tad, ja vaicājumā varat rediģēt datus, daži lauki var nebūt pieejami rediģēšanai. Šādi gadījumi ir norādīti nākamajā sadaļā.
Kad vaicājumā nevar rediģēt datus?
Vaicājuma datus nekad nevar rediģēt tālāk norādītos gadījumos.
-
Vaicājums ir krustvaicājums.
-
Vaicājums ir SQL specifisks vaicājums.
-
Lauks, kuru mēģināt rediģēt, ir aprēķinātās vērtības lauks. Šādā gadījumā, iespējams, varat rediģēt pārējos laukus.
-
Vaicājuma pamatā ir trīs vai vairāk tabulas un ir relācija daudzi pret vienu pret daudziem.
Piezīme.: Lai gan šādā gadījumā vaicājuma datu lapu nevar rediģēt, datus formā var rediģēt, ja formas rekvizīts RecordsetType ir iestatīts uz Dynaset (Neatbilstīga Atjauninājumi).
-
Vaicājumā ir klauzula GROUP BY.
Kā mainīt vaicājumu, lai varētu rediģēt datus?
Tabulā ir norādīti gadījumi, kad nevar rediģēt vaicājumu, kas ir savienots pārī ar metodēm, lai vaicājuma datu lapa būtu pieejama rediģēšanai.
Vaicājuma datu lapā vērtības nevar rediģēt, ja: |
Lai vaicājuma datu lapa būtu pieejama rediģēšanai: |
Vaicājuma rekvizīts Unikālas vērtības ir iestatīts uz Jā. |
Iestatiet vaicājuma rekvizītu Unikālās vērtības uz Nē. Lai uzzinātu, kā iestatīt šo rekvizītu, skatiet nākamajā sadaļā Rekvizīta Unikālās vērtības iestatīšana uz Nē. |
Vaicājumā ir iekļauta saistīta ODBC datu bāze tabula bez unikāls indekss vai Paradox tabulas bez primārā atslēga. |
Pievienojiet saistītai tabulai primāro atslēgu vai unikālu indeksu, izmantojot saistītās datu bāzes piegādātāja piedāvātās metodes. |
Jums nav datu atjaunināšanas atļauju attiecībā uz pamatā esošo tabulu. |
Piešķirt datu atjaunināšanas atļaujas. |
Vaicājumā ir ietvertas vairākas tabulas vai viens vaicājums, un noformējuma skatā tabulas vai vaicājumi nav savienoti ar savienojuma līniju. |
Izveidojiet atbilstošus savienojumus. Skatiet sadaļu Savienojumu izveide, lai uzzinātu, kā izveidot savienojumus. |
Datu bāze ir atvērta kā tikai lasāma vai atrodas tikai lasāmā diskā. |
Aizveriet datu bāzi un vēlreiz to atveriet, neatlasot Atvērt tikai lasāmu; vai, ja datu bāze atrodas tikai lasāmā diskdzinī, noņemiet tikai lasāmo atribūtu no diska vai pārvietojiet datu bāzi uz disku, kas nav tikai lasāms. |
Ieraksta lauku, kuru mēģināt atjaunināt, izdzēš vai bloķē cits lietotājs. |
Uzgaidiet, līdz ieraksts tiek atbloķēts. Bloķētu ierakstu var atjaunināt, tiklīdz ieraksts ir atbloķēts. Uzgaidiet, līdz cits lietotājs pabeidz darbību, kas bloķējusi ierakstu. |
Vaicājuma pamatā ir tabulas ar datu attiecība viens pret daudziem, un savienojuma lauks no puses "daudzi" nav izvades lauks. Šādā gadījumā nevar rediģēt datus savienojuma laukā no puses "viens". |
Pievienojiet savienojuma lauku no relācijas "daudziem" puses ar vaicājuma izvades laukiem. Skatiet sadaļu Savienojuma lauka pievienošana no "daudziem" vaicājuma izvades laukiem, lai uzzinātu, kā pievienot savienojuma lauku. |
Savienojuma lauks no puses "daudzi" (pēc datu rediģēšanas) atrodas pusē "viens". |
Nospiediet taustiņu kombināciju SHIFT+F9 , lai saglabātu izmaiņas un atsvaidzinātu vaicājumu. |
Relācijas viens pret daudziem pusē "viens" ir tukšs lauks no tabulas, un savienojums ir labā ārējā savienojuma. |
Pārliecinieties, vai šajā laukā ir vērtība pusē "viens". Savienojuma lauku pusē "daudzi" var rediģēt tikai tad, ja šajā laukā ir vērtība pusē "viens". |
Jūs izmantojat saistīto ODBC datu bāzes tabulu, bet ne visi lauki no saistītās tabulas unikālā indeksa atrodas vaicājuma izvadē. |
Pievienojiet visus ODBC tabulas unikālā indeksa laukus vaicājuma izvades laukiem. Skatiet sadaļu Unikāla indeksa lauku pievienošana no saistītas ODBC tabulas, lai uzzinātu, kā pievienot laukus. |
Iestatiet rekvizītu Unikālās 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. Vienreiz ieklikšķiniet vaicājuma noformējuma režģī, lai nodrošinātu, ka rekvizītu lapā tiek parādīti vaicājuma rekvizīti, nevis lauka rekvizīti.
-
Rekvizītu lapā atrodiet rekvizītu lodziņu Unikālas vērtības. Noklikšķiniet uz lodziņa tam blakus, šajā lodziņā noklikšķiniet uz bultiņas un pēc tam uz Nē.
Savienojumu izveide
-
Atveriet vaicājumu noformējuma skatā.
-
Katrai tabulai vai vaicājumam, kuru vēlaties savienot ar citu, velciet savienojuma lauku no šīs tabulas vai vaicājuma uz atbilstošo tabulas vai vaicājuma lauku, kuram vēlaties izveidot savienojumu.
Papildinformāciju par savienojumu izveidi skatiet rakstā Tabulu un vaicājumu apvienošana.
Savienojuma lauka pievienošana no puses "daudzi" vaicājuma izvades laukiem
-
Atveriet vaicājumu noformējuma skatā.
-
Vaicājumu noformētājā atrodiet savienojumu, kas atbilst atbilstošajai relācijai viens pret daudziem.
-
Veiciet dubultklikšķi uz savienojuma lauka relācijas viens pret daudziem pusē "daudzi". Savienojuma lauks tiek parādīts lauku režģī, norādot, ka tas tagad ir izvades lauks.
Unikāla 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āla indeksa laukiem blakus lauka nosaukumam būs atslēgas simbols. Veiciet dubultklikšķi uz katra lauka, kas vēl nav lauku režģī. Katrs lauks parādās lauku režģī, norādot, ka tas tagad ir izvades lauks.