Avatar billede joeblack Nybegynder
05. marts 2002 - 15:58 Der er 16 kommentarer og
1 løsning

Recordset kan ikke opdateres...

Sikkert et meget simpelt spørgsmål:

Jeg har 2 tabeller.
I tabel 1 (Ordrer) er flg. felter:
Ordrenr (primær nøgle)
Sælger
Status (ja/nej-felt)

I tabel 2 (Ordreoplysninger) er flg. felter:
OrdreoplysningID (Primær nøgle)
Ordrenr
Varenummer
Antal
Pris

Jeg har så lavet en forespørgsel som summerer Pris pr ordre.

Denne forespørgsel putter jeg ind i en ny forespørgsel sammen med tabellen ordre (En-til-mange relation mellem ordrenr og ordrenr). Hvis jeg så i forespørgslen vil ændre f.eks. på ja/nej feltet, får jeg meddelesen: Recordset kan ikke opdateres.

Hva f.. skal jeg gøre ??
Avatar billede bennytordrup Nybegynder
05. marts 2002 - 16:00 #1
Har du nøgle, som omfatter [tabel 2].Ordrenr?
05. marts 2002 - 16:01 #2
Du kan ikke redigere i et grupperet forespørgsel.
Avatar billede joeblack Nybegynder
05. marts 2002 - 16:04 #3
-> Benny: hvad mener du ?

-> thomasjepsen: Jeg har prøvet og prøvet, men uden held. Jeg vil gerne kunne præsentere et oversigtsbillede af en sælger ordrer, med f.eks disse oplysninger:

ordrenr - status - SumPris

Det er så meningen, at status skal kunne ændres i oversigtsbilledet. Hvad gør jeg ?
Avatar billede bennytordrup Nybegynder
05. marts 2002 - 16:06 #4
Har du et indeks på feltet Ordrenr i tabellen med ordreoplysninger?
Avatar billede joeblack Nybegynder
05. marts 2002 - 16:08 #5
Nej
05. marts 2002 - 16:08 #6
Den oplagte metode er at lave et beregnet felt, som laver en DSum på Pris*Antal

DSum er dog lidt langsom, hvilket det kan rådes bod på ved at lave det i VBA
Avatar billede mugs Novice
05. marts 2002 - 16:09 #7
Det er galt med dine relationer. Sørg for, at der er ydre relationer mellem tabellen "ordre" til de 2 andre tabeller. type 3 tror jeg (alle oplysninger fra "ordre"...)

For mig at se, er det galt med table 1 "Ordrer". Feltet "ordrer" hører ikke hjemme her, men i tabel1. Tabel1 skal indeholde oplysninger om sælger og ikke andet. Tabel2 alle oplysninger om det enkelte varenummer. I tabellen "ordrer" skal du så ved kombinationsbokse "plukke" oplysninger fra de 2 tabeller. 

derefter er jeg sikker på, at du kan kalde alle 3 tabeller ind i en forespørgsel, der kan opdateres.
Avatar billede joeblack Nybegynder
05. marts 2002 - 16:10 #8
tj-> Så får jeg vel stadig [ordrenr] vist så mange gange, som der er [ordrenr] i tabel 2 ??
Avatar billede bennytordrup Nybegynder
05. marts 2002 - 16:11 #9
Hvordan ser din forespørgsel ud?
05. marts 2002 - 16:11 #10
I tekstboksen kan du også skrive:
=DLookup("SumPris";"DinForespørgsel";"Ordrenr = " & Ordrenr)

Derved behøver din formular kun at være bundet til Ordre-tabellen.
Avatar billede joeblack Nybegynder
05. marts 2002 - 16:12 #11
tj-> det lyder som noget jeg lige vil prøve....
05. marts 2002 - 16:21 #12
Visse programmøre hævder stædigt at man aldrig bør basere formulare på forespørgsler, da man alt for nemt kommer ud i denne slags låsningsproblemer. Jeg er ikke enig, men mener alligevel at det er en god rettesnor, hvis man ikke føler sig helt tryg ved SQL.

Mugs og Benny-> Hverken relationer eller indekser har nogen betydning i denne sammenhæng. Prøv at lave tabellerne selv (eller tag en hvilken som helst anden én-mange-relation) og lav samme nummer. I får ikke lov at redigere, sålænge der hænger en grupperet query på.

/Thomas
Avatar billede joeblack Nybegynder
05. marts 2002 - 16:25 #13
tj -> Det fungerer perfekt ! Point til dig.
Avatar billede mugs Novice
05. marts 2002 - 16:27 #14
Thomas > Korrekt, og det kunne jeg jo have sagt mig selv. Det er ikke mere end et par dage siden, jeg bøvlede med det samme. Det må have været et mildt tilfælde af præsenil demens :o)
05. marts 2002 - 16:29 #15
Tak :o)

Som du nok bemærker, så er der en vis forsinkelse på dette felt. Det kan du afhjælpe ved at lade feltet være ubundet og så styre det via kode på formens VedAktuelt-hændelse:

Private Sub Form_Current()
  Me!Sumfelt = DLookup("SumPris", "DinForespørgsel", "Ordrenr = " & ME!Ordrenr)

End sub
05. marts 2002 - 16:30 #16
Mugs-> jeg kender problemet - jeg kan heller aldrig huske min alder. Det er nogenlunde det samme ;o)
Avatar billede joeblack Nybegynder
05. marts 2002 - 16:33 #17
Det er allerede gjort.

Jeg har efterhånden lavet så mange forms med milloner af DlookUp funktioner, men denne gang tænkte jeg, at jeg prøve at gøre det rigtigt (basere den på en forespørgsel), men ak - sådan skulle det ikke være...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester