Avatar billede nra37 Nybegynder
23. august 2003 - 19:35 Der er 10 kommentarer og
1 løsning

Opdatere en data i en tabel i access fra et excel regneark

Hej,

Har lige et lille problem, som jeg håber I har en løsning på.

Jeg har en tabel som indeholde persondata (Idnr, navn adresse, køn fødseldato, bemærkning).

I excel har jeg lavet en formular, som automatiskt via en knap opretter en ny person i access. Det virker ! (se koden)

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:\person.mdb")
'åbn kanal til tabellen testtabellen
Set rs = db.OpenRecordset(Name:="personopl",Type:=dbOpenDynaset)
'indsæt

With rs
If Range("H5").Value = "x" Then
.AddNew
.Fields("idnr").Value = Range("aw19").Value
.Fields("navn").Value = Range("K9").Value
.Fields("adresse").Value = Range("K11").Value
.Fields("fødselsdato").Value = Range("K12").Value
.Fields("bemærkning").Value = Range("K13").Value
.Update

Men hvis jeg nu ønsker at opdatere feltet bemærkning via excel......... hvordan gør jeg det???

Jeg har prøvet at bruge:
If Range("Z5").Value = "x" Then
.Edit
.Fields("idnr").Value = Range("aw19").Value
.Fields("bæmærkning").Value = Range("K13").Value
.Update
End If

Men så går den bare ind og overskriver den første recordet i tabellen ..???

Hjælp...


Hilsen

Kenneth
Avatar billede kabbak Professor
23. august 2003 - 19:47 #1
vil du rette eller indsætte en ny post ??.
Avatar billede nra37 Nybegynder
23. august 2003 - 20:40 #2
Hej Kabbak,

Jeg vil rette i en post.
Avatar billede terry Ekspert
23. august 2003 - 21:10 #3
You obvioulsy need to place the record pointer at the record you want to update.
Avatar billede terry Ekspert
23. august 2003 - 21:15 #4
Not sure how things are done in Excel but you

.Findfirst "idnr = " Range("aw19").Value

.FindFirst strCountry

If .NoMatch Then
'Not sur eif you can use msgbox
  MsgBox "No records found"
Else
'Not sure what the first line does here
If Range("Z5").Value = "x" Then
.Edit
.Fields("idnr").Value = Range("aw19").Value
.Fields("bæmærkning").Value = Range("K13").Value
.Update
End If

End If
Avatar billede terry Ekspert
23. august 2003 - 21:16 #5
Not sure how things are done in Excel but you ... can try this :o)

With rs
.Findfirst "idnr = " Range("aw19").Value

If .NoMatch Then
'Not sure if you can use msgbox
  MsgBox "No records found"
Else
'Not sure what the first line does here
If Range("Z5").Value = "x" Then
.Edit
.Fields("idnr").Value = Range("aw19").Value
.Fields("bæmærkning").Value = Range("K13").Value
.Update
End If

End If
Avatar billede terry Ekspert
26. august 2003 - 11:00 #6
Hows it going here, do you still need help?
Avatar billede terry Ekspert
26. august 2003 - 11:01 #7
Most probalby gor what he wanted and done a runner :o)
Avatar billede len Nybegynder
26. august 2003 - 19:46 #8
Hej Terry, det virker...
Avatar billede nra37 Nybegynder
26. august 2003 - 19:53 #9
Hej igen Terry, skal lige finde ud af, hvordan jeg giver dig de 150 point
Avatar billede terry Ekspert
26. august 2003 - 19:54 #10
thanks nra37, or is it len?
(only allowed one user!)
Avatar billede nra37 Nybegynder
26. august 2003 - 21:28 #11
Hej Terry, Kan ikke give dig point ..ved ikke hvad der er sket.

Har oprettet et nyt spørgsmål : Opdatere tabel i access fra Excel. Læg en kommentar, så kan jeg give dig point der..

Nra37
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