Avatar billede len Nybegynder
15. juli 2003 - 20:54 Der er 4 kommentarer og
2 løsninger

Opdateringer en tabel i access fra Excel

Hej,

Jeg er stødt ind i et lille problem, håber i kan hjælpe mig.

Jeg har et regneark, hvor du ved at klikke på en knap kan overføre data over i en Access tabel. Mit problemer er ikke at overfører - MEN at opdatere en tabel fra excel.

Har Prøvet med ".edit" (se nedenfor) med den siger at den ikke kan opdater pga. at der vil være dubletter.
feltet "ident" er primærnøgle

Er der nogle som ved hvordan jeg kan løse det?

Private Sub CommandButton1_Click()
On Error GoTo Err_commandbutton1_Click

    Dim stAppName As String
Dim db As Database
Dim rs As Recordset
Dim rs1 As Recordset
'Åbn et link til accessdatabasen
Set db = OpenDatabase("C:\base\Testbase.mdb")
'åbn kanal til tabellen testtabellen
Set rs = db.OpenRecordset(Name:="A", Type:=dbOpenDynaset)
Set rs1 = db.OpenRecordset(Name:="B", Type:=dbOpenDynaset)
Set rs2 = db.OpenRecordset(Name:="C", Type:=dbOpenDynaset)

'indsæt

With rs
If Range("H5").Value = "x" Then
.AddNew
.Fields("Fornavn").Value = Range("K9").Value
.Fields("Stilling").Value = Range("K10").Value
.Fields("Sted").Value = Range("K11").Value
.Fields("Stedtlf").Value = Range("AS11").Value
.Fields("Ident").Value = Range("AW19").Value
.Fields("ID").Value = Range("AW19").Value
.Update

End If
If Range("Z5").Value = "x" Then
.Edit
.Fields("Stilling").Value = Range("K10").Value
.Fields("Sted").Value = Range("K11").Value
.Fields("Stedtlf").Value = Range("AS11").Value
.Fields("Ident").Value = Range("AW19").Value
.Update
End If

End With
Avatar billede Slettet bruger
15. juli 2003 - 20:56 #1
Såvidt jeg kan huske så kan du ikke opdatere en nøgleværdi, da det du opdaterer med kan være i databasen i forvejen og så får du netop meddelelsen om dubletter. Prøv at lade være med at opdatere ident.
Avatar billede mugs Novice
15. juli 2003 - 21:15 #2
Korrekt hvad bertie skriver. en primær nøgle kan ikke indeholde dubletter.
Du kan evt. fjerne nøglen "ident", men lad det være indekseret og tillad dubletter.

Opret derefter en ny nøgle af typen autonummer, som Access selv styrer.
Avatar billede mugs Novice
15. juli 2003 - 21:19 #3
Her overfører du værdien i celle AW19 2 gange, og så vil Access kløjs i den, fordi du overfører den samme værdi mere end een gang til et nøglefelt:

.Fields("Ident").Value = Range("AW19").Value
.Fields("ID").Value = Range("AW19").Value
Avatar billede len Nybegynder
16. juli 2003 - 00:33 #4
Okay det vil jeg prøve
Avatar billede len Nybegynder
16. juli 2003 - 19:05 #5
Hej Mugs og Bertie. Det virker...
Avatar billede Slettet bruger
17. juli 2003 - 19:36 #6
Tak for point..
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