Avatar billede cole Nybegynder
18. april 2001 - 06:19 Der er 5 kommentarer og
1 løsning

Brug af Edit & MovePrevious i recordset object

Dim adoHovedNavn As Object
Dim adoHovednavnRST As Object
Dim adoHovedGruppeRST As Object
Dim ADOforbindelse As String
 
     
  Set adoHovedNavn = CreateObject(\"ADODB.Connection\")

ADOforbindelse = \"Driver={Microsoft Access Driver (*.mdb)};\"
ADOforbindelse = ADOforbindelse & \"dbq=\" &  \"C:\\databasen;\"
ADOforbindelse = ADOforbindelse & \"uid=Admin;\"
ADOforbindelse = ADOforbindelse & \"pwd=\"

adoHovedNavn.Open ADOforbindelse
 
Set adoHovedGruppeRST = adoHovedNavn.Execute(\"Select * \" & _
  \"From Hovedgruppe\")

Hvorfor kan jeg ikke skrive adoadoHovedGruppeRST.Edit  eller
adoHovedGruppeRST.MovePrevious ?

adoHovedGruppeRST.MoveFirst og
adoHovedGruppeRST.MoveNext virker

Jeg kan hellerikke lave en betingelse på et felt som er NULL hvad gør jeg forkert?
18. april 2001 - 06:34 #1
hej Cole,

Du skal heller ikke erklære dine variable som objecter.
Så vidt jeg lige kan gennemskue, så skal det hedder

Dim adoHovedNavn As ADODB.Connection
Dim adoHovednavnRST As ADODB.Recordset
Dim adoHovedGruppeRST As ADODB.Recordset
Dim ADOforbindelse As String

Jeg har ikke helt tjek på den måde at gøre det på. Jeg plejer at gøre noget lignende det her:

Dim cn as New ADODB.Connection
Dim RST as New ADODB.Recordset
cn.ConnectionString = \"driver={SQL Server};\" & _
        \"server=srv;uid=sa;pwd=pwd;database=Pubs\"
cn.Open
RST.Open \"Select * From Hovedgruppe\", cn, adOpenDynamic

Herefter skulle du kunne bruge dine .Edit, .Moveprevious osv.

Det der sker, er nok, at dit recordset bliver åbne som et Forward-only-recordset. Derved duer Edit og moveprevious selvfølgelig ikke.

/Thomas
Avatar billede nih Novice
19. april 2001 - 10:02 #2
Hej

Er der ikke noget med at .edit ikke virker i ADO.
Jeg plejer at skive:
   
  With ADO_rec
        \'.AddNew
        .Fields(\"tidsp\").Value = Now()
        .Update
    End With

Addnew benyttes ku´n hvis du vil tilføje en post,
Hvi du vil editere en post bruges .Fields.value = \"Ny værdi\",
til sidst opdateres recordsettet.
.Moveprevious iver fejl hvis du står på post nr 1, altså når der ikke findes en previous post.

Håber det hjalp lidt Niels
19. april 2001 - 10:06 #3
Hej Niels og Cole,

Niels har lidt ret!
.edit virker skam fint i ADO, men er ikke nødvendig, da et recordset altid er i \'editmode\' (hvis det ellers er opdaterbart)
I ADO er .update ligeledes heller ikke nødvendig. Så snart du skifter post eller lukker recordsettet, vil posten blive gemt. Fuldstændig ligesom hvis du arbejder i en tabel eller en formular.

/Thomas
Avatar billede nih Novice
19. april 2001 - 10:25 #4
-> Thomas

I Access 2000 kan jeg ikke få .edit til at virke. Der kommer jo denne hjælpemenu frem med tilgængelige metoder og properties og edit er ikke iblandt.
Jeg var ikke klar over at .update var unødvendig i ADO. Der er jo en egenskab der heder noget med cancelupdate - er det ikke det modsatte af update, hvor bufferen tømmes uden at gemme ændringerne i recordsettet.

Det var noget nemmere med DAO, jeg havde lige forstået det meste - og så laver de det hele om.

Niels
19. april 2001 - 10:31 #5
Haha, jeg har det på samme måde :o) Det er skruen ude ende...

Læs i øvrigt LKP\'s og min diskussion om ADO vs DAO her: http://www.eksperten.dk/spm/61830

Nu bliver jeg lidt i tvivl med .Edit (.Update er jeg sikker på)
Prøv at skrive .edit, selvom det ikke står på listen.

Men det kan godt være, at den slet ikke duer. Jeg er selv holdt op med at bruge den, så jeg har derfor ikkelagt mærke til om den rent faktisk duer eller ej.
Avatar billede cole Nybegynder
24. april 2001 - 06:06 #6
Jeg kan ikke forstå at i kan få noget til at virke ved at skrive \"driver={SQL Server};\" for jeg får kun fejlmeddelser som ODbc SQl server driver DBINET LIB server findes ikke.
Jeg bruger \"Driver={Microsoft Access Driver (*.mdb)};\" og kan nu flytte frem og tilbage i record, men jeg kan stadig ikke Editer og tilføje i record uden fejlmeddel. Nogle gode ideer?
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