Avatar billede Michael_Rosing Nybegynder
23. september 2013 - 20:16 Der er 2 kommentarer

VBA ADODB recordset opdaterer ikke Access 2007

Forsøger at lave en formular der tager oplysninger og skriver ned i en ny linje i en tabel. Hvorfor virker det her ikke ?

Ved at steppe igennem med F8 tasten kan jeg se at den nye række bliver oprettet og der bliver skrevet data i den. Jeg kan finde nøgleværdien til senere brug. Men når det hele lukker er der ikke nye data i tabellen ?

Tabellen er linket fra en hovded database.


Private Sub cmdNewOwner_Click()
    Dim NewOwnerKey As Long
    Dim Cn As adodb.Connection
    Dim rs As adodb.Recordset
    Set Cn = CurrentProject.Connection
    Set rs = New adodb.Recordset

    rs.Open "tblOwner", Cn, adOpenDynamic, adLockPessimistic
   
    rs.AddNew

    rs!txtNameFirst = Me!txtNameFirst
    rs!txtNameLast = Me!txtNameLast
    rs!txtAdress1 = Me!txtAdress1
    rs!txtAdress2 = Me!txtAdress2
    rs!txtPOBox = Me!txtPOBox
    rs!txtZip = Me!cmbZip
    rs!txtPhoneHome = Me!txtPhoneHome
    rs!txtPhoneCell = Me!txtPhoneCell
    rs!txtPhoneForeign = Me!txtPhoneForeign
    rs!txtEMail = Me!txtEMail
    rs!txtCPR = Me!txtCPR
    rs.Update
       
NewOwnerKey = rs!KeyOwner
       
rs.Close
Cn.Close

Set rs = Nothing
Set Cn = Nothing

DoCmd.Close

On Error Resume Next
DoCmd.OpenForm "frmOwner"
Forms![frmowner].SetFocus
Forms![frmowner].Requery
DoCmd.SearchForRecord , "", acFirst, "[KeyOwner] =" & NewOwnerKey
End Sub
Avatar billede MSchlamovitz Mester
23. september 2013 - 22:00 #1
Der er ikke umiddelbart noget galt med koden. Kan du skrive i tabellen manuelt? (:har du de nødvendige rettigheder ?)
Når du debugger med F8 bør du remme 'On Error . . .' linjen ud, så du ser evt. fejlmeldinger.
Tjek evt. om du har rigtig fat i tabellen ved at du lige efter 'rs.open . . .' linjen tilføjer
rs.movelast
rs.movefirst
msgbox rs.recordcount
og ser, at du får det aktuelle antal records i tabellen returneret.
Avatar billede Michael_Rosing Nybegynder
23. september 2013 - 22:17 #2
Mystikken breder sig.

Jeg får svaret -1 når jeg gør det.
Til gengæld bliver rækken oprettet, hvad den ikke gjorde før.

Jeg har haft nogle problemer med at Access ikke reagerer på knapper. Hvis jeg så trykker F11, hvorsomhelst i VBA koden (uden at gøre noget) og lukker igen så virker knappen.

Det der undrer mig er at det sker på min hjemme computer, men også på de computere der har installeret den (lille og simple) databas jeg har bygget og som kode stumpen kommer fra.
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