Avatar billede swil Nybegynder
17. december 2001 - 19:52 Der er 12 kommentarer og
1 løsning

Recordset kan ikke opdateres

Hej Eksperter

Når jeg vil opdater i min formular med nedenstående sætning, får jeg beskeden at Recordsættet ikke kan opdateres. Er der nogen der har et godt bud enten på den aktuelle sætning er årsagen til fejlen opstår - så kan jeg måske selv finde fejlen?

SELECT TB_SubjectDb.*, TB_PhonerDb.*, TB_Franchiser.*, TB_Order.*
FROM TB_Update INNER JOIN ((TB_Franchiser RIGHT JOIN (TB_SubjectDb INNER JOIN TB_PhonerDb ON TB_SubjectDb.SKeynumber = TB_PhonerDb.PKeynumber) ON TB_Franchiser.FranNumber = TB_PhonerDb.FranNumber) LEFT JOIN TB_Order ON TB_PhonerDb.PKeynumber = TB_Order.Keynumber) ON TB_Update.SKeynumber = TB_PhonerDb.PKeynumber;
Avatar billede terry Ekspert
17. december 2001 - 19:55 #1
Hi swil>Try copying this SELECT to a query and see if yoou can update. There are limitations to queries containing JOINS.
Avatar billede swil Nybegynder
17. december 2001 - 19:58 #2
>Terry
Nej jeg kan heller ikke opdatere den som query.
Avatar billede terry Ekspert
17. december 2001 - 20:01 #3
Thought so! Your query is far too complex. Are the fields you are joing on Primary keys. Also, if you hav a many to many relationship (what record is to be updated in the many side?
Avatar billede jesperthomsen Nybegynder
17. december 2001 - 20:04 #4
Så vidt jeg ved kan man ikke opdatere via joins. Jeg har i hvert fald aldrig fået det til at virke.
Avatar billede swil Nybegynder
17. december 2001 - 20:10 #5
Fejlen ligger nedenstående, hvis jeg fjerner tabellen order virker opdateringen perfekt - prøver selv lidt mere.

LEFT JOIN TB_Order ON TB_PhonerDb.PKeynumber = TB_Order.Keynumber

Avatar billede terry Ekspert
17. december 2001 - 20:12 #6
Is it a one to many relationship? If so then you are looking at many records, which one is to be updated?
Avatar billede terry Ekspert
17. december 2001 - 20:14 #7
A one to many is like an order, you have one order header an hopefully one or more detail lines.
Avatar billede swil Nybegynder
17. december 2001 - 20:14 #8
Tabellen Phoner indeholder ALLE records, Order indeholder kun et begrænset antal records.

Begge tabeller skal kunne opdateres
Avatar billede terry Ekspert
17. december 2001 - 20:18 #9
Does that mean that a single order can have many \"Phoners\"?

Why dont you use the form wizard to create a form.
Make a query from the select statement you have and then use this query in the form wizard. Hopefully Access can see how its joined and then make a sub form for you too.

I could also take a look if you send the dB to dktebrsa@europe.lego.com

Avatar billede swil Nybegynder
17. december 2001 - 20:21 #10
Db fylder 20 Mb, Formularen består af mange kodede felter, underformularer osv. Derfor kan jeg ikke sende den. Jeg tror jeg finder ud af det ellers vender jeg tilbage.
Avatar billede swil Nybegynder
17. december 2001 - 20:34 #11
>Terry
Jeg løser problemet i denne omgang ved at fjerne tabellen Order, der volder problemet. Derefter fungerer formularen.
Du får 25 point fra spørgsmål http://www.eksperten.dk/spm/147683, hvor jeg ikke skulle have point.
OK?
Avatar billede terry Ekspert
17. december 2001 - 20:44 #12
Swil> You need not worry at all about those 25 points, if you must then give me them some other time when I give you a solution to your problem :o)
Avatar billede swil Nybegynder
17. december 2001 - 20:49 #13
OK, thanks.
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