Avatar billede janni_jensen Nybegynder
22. januar 2004 - 17:56 Der er 8 kommentarer og
2 løsninger

Opdatere med recordsæt

Hej

Hvordan laver man en update med et recordsæt, jeg ved at det gøres følgende ved nyoprettelse:

Sub GemChauf(ChaufførNavn, IkkeAnsat, AfdelingsID)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Dim Ssql As String
Ssql = "Tbl_Chauffør"
Set rs = db.OpenRecordset(Ssql)

    rs.AddNew
    rs!ChaufførNavn = ChaufførNavn
    rs!AnsatAfdeling = AfdelingsID
    rs!IkkeAnsat = IkkeAnsat
    rs!OprettelsesBruger = GetCurrentUserName
    rs!Datooprettelse = Now()
    rs.Update
rs.Close
End Sub

På forhånd tak
Avatar billede mugs Novice
22. januar 2004 - 18:01 #1
DoCmd.RunSQL "UPDATE Tabel1 Set felt1 = 10"
Avatar billede mugs Novice
22. januar 2004 - 18:03 #2
Hvis et felt skal tildeles værdien af et felt i en formular, kan du bruge flg.:

DoCmd.RunSQL "UPDATE Tabel1 Set felt1 =" & Me.felt1
Avatar billede janni_jensen Nybegynder
22. januar 2004 - 18:15 #3
Kan man ikke gøre det på samme måde som med oprettelse, for jeg gør det på den måde du beskriver og det bliver let rodet når der er mange ting med
Avatar billede terry Ekspert
22. januar 2004 - 19:14 #4
You need to find the record whicg you want to update and then remove

rs.addnew 'This ADDS a record!
22. januar 2004 - 20:42 #5
Hvis du blot skal redigere en record, ser koden således ud:

Sub GemChauf(ChaufførNavn, IkkeAnsat, AfdelingsID)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Dim Ssql As String
Ssql = "Tbl_Chauffør"
Set rs = db.OpenRecordset(Ssql)

    rs.Edit
    rs!ChaufførNavn = ChaufførNavn
    rs!AnsatAfdeling = AfdelingsID
    rs!IkkeAnsat = IkkeAnsat
    rs!OprettelsesBruger = GetCurrentUserName
    rs!Datooprettelse = Now()
    rs.Update
rs.Close
End Sub

/Thomas
Avatar billede janni_jensen Nybegynder
22. januar 2004 - 21:02 #6
Thomas -> Hvordan ved den hvad record den skal opdatere?
Kan det ikke passe at i ssql sætningen skal se således ud: Select * from Tbl_Chauffør Where ID = ID?
22. januar 2004 - 21:14 #7
nå, sorry....jo, du skal selvfølgelig netop sørge for at finde frem til den rigtige record.
Derfor kan du f.eks. medtage ChaufførID som paramter:

Sub GemChauf(ChaufførID as long, ChaufførNavn as string, IkkeAnsat, AfdelingsID as long)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Dim Ssql As String
Ssql = "Select * from Tbl_Chauffør Where ID = " & ChaufførID
Set rs = db.OpenRecordset(Ssql)

    rs.Edit
    rs!ChaufførNavn = ChaufførNavn
    rs!AnsatAfdeling = AfdelingsID
    rs!IkkeAnsat = IkkeAnsat
    rs!OprettelsesBruger = GetCurrentUserName
    rs!Datooprettelse = Now()
    rs.Update
rs.Close
End Sub
Avatar billede terry Ekspert
22. januar 2004 - 21:15 #8
rs.findfirst "ID = " & ID
Avatar billede janni_jensen Nybegynder
22. januar 2004 - 21:18 #9
Perfekt Thomas, det virker som det skal, og jeg undgik syntakt problemer med den anden metode. Points til dig
22. januar 2004 - 21:27 #10
Selv tak :o)
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