Avatar billede jrl0469 Nybegynder
26. marts 2008 - 08:34 Der er 12 kommentarer og
2 løsninger

Kopiere relaterede poster (3063 Duplicate output destination)

Hej
Ved forsøg på at rette del af nøgle (via kopiering af poster) får jeg fejl 3063.

Kode:
1:sqlstr = "INSERT INTO IO_ChannelDef SELECT '" & pNewIOTag & "' as IOTag, SigCode as SigCode, qryIOToCopy.* FROM qryIOToCopy"
DoCmd.RunSQL (sqlstr)

Jeg har 1 post i hovedtabel og 5 relaterede poster i IO-tabel.

Er der nogen der veed hvordan jeg kan gennemføre dette?

mvh Jan
Avatar billede jrl0469 Nybegynder
26. marts 2008 - 08:36 #1
Se venligst bort fra "1:" i teksten
Avatar billede Slettet bruger
26. marts 2008 - 09:18 #2
prøv at sætte de enkelte felter ind istedet for at bruge qryIOToCopy.*
Avatar billede Slettet bruger
26. marts 2008 - 09:19 #3
og der behøves heller ikke at stå SigCode as SigCode, der skal bare stå SigCode
Avatar billede Slettet bruger
26. marts 2008 - 09:21 #4
og så vidste jeg ikke at der kunne stå () omkring runsql kommandoen, det plejer ikke selv at gøre!~)
Avatar billede terry Ekspert
26. marts 2008 - 09:25 #5
Do any of the fields (IOTag and SigCode) exist in the query qryIOToCopy? If so then you should select the individual fields. Also the fields must be selected in the correct column order so that they match those in th edestination table.
Avatar billede Slettet bruger
26. marts 2008 - 09:28 #6
Du skal lave en SELECT DISTINCT det er et nøglefelt, der kommer en duplicate af!~)
Avatar billede Slettet bruger
26. marts 2008 - 09:29 #7
dvs. at det kan også være fordi at du forsøger at inserte et nøglefelt, som allerede eksisterer...
Avatar billede jrl0469 Nybegynder
26. marts 2008 - 10:10 #8
spg - der er alt for mange felter, desuden virker det når jeg kun har een post i IO-tabel. () er uden betydning!
terry - begge er med i forspørgelsen. For alle poster gælder det at IOTag er ens og SigCode er forskellig?!
spg - Jeg afprøver hvorvidt SELECT DISTINCT kan anvendes
Avatar billede jrl0469 Nybegynder
26. marts 2008 - 11:40 #9
SELECT DISTINCT kan ikke anvendes her

jeg for to meddelelser
1) appending 4 rows, medføre->
2) key violation

de poster jeg prøvet at kopiere er dog forskellige;

Sammensat nøgle: prefix & ItemNo & SigCode

For alle poster gælder det at prefix & ItemNo er ens SigCode er unik hvorfor jeg ikke burde få denne key violation?
Avatar billede terry Ekspert
26. marts 2008 - 12:24 #10
I suggest that you copy the contents of sqlstr to a query. You can do this by placing a breakpoint just before you run DoCmd...

Then in the debug window (CTRL+G) write

?sqlstr

This will give you the SQL which will be execute. Try copying the SELECT part into a query to see which values you receive and which you can compare against the values already in the destination table.
Avatar billede jrl0469 Nybegynder
26. marts 2008 - 14:23 #11
Jeg har fundet ud af hvad årsagen til 3063 er. Det felt som jeg ønsker at ændre værdi for anvendes i querien som kriterie og skal ikke være vinget af!

Jeg føler afligevel at I har hjulpet mig hvorfor I kan dele. terry du må svare så jeg kan dele mellem jer!
Avatar billede terry Ekspert
26. marts 2008 - 15:12 #12
:o)
Avatar billede terry Ekspert
27. marts 2008 - 12:17 #13
tak
Avatar billede Slettet bruger
27. marts 2008 - 12:53 #14
Godt du fik det løst!~)
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

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