Avatar billede Slettet bruger
17. februar 2002 - 17:29 Der er 11 kommentarer og
1 løsning

poster i database (burde være let)

Jeg har det problem, at den første post (og kun den første) ikke gider at få værdien 1. Jeg har indtil videre lavet det sådan.

sqlrec1 = "SELECT MAX(Profil_Id) AS NR FROM Profil"   
    Set rs3 = forbindelse.Execute(sqlrec1)   
    If  (rs.BOF and rs.EOF) Then                        NR = 1
        Else
                        NR = rs3("nr") +1       
        End If

Det jeg vil have den til, er at hvis der ikke er nogle poster i den tabel, skal NR have værdien 1 (int)
Avatar billede sekhmet_ds Nybegynder
17. februar 2002 - 17:33 #1
ved ikke om det er et tilfælde,men umiddelbart burde det være:

if (rs3.bof and rs3.eof) then
    NR = 1
else
    NR = rs3.fields("nr") + 1
end if

hvor det vigtige altså er at der i betingelsen er brugt rs3 istedet for rs.
Avatar billede Slettet bruger
17. februar 2002 - 17:47 #2
fuck, det var det der var fejlen. Det med rs. Tak :))
Avatar billede Slettet bruger
17. februar 2002 - 17:47 #3
skriv et svar, så gir jeg dig points
Avatar billede Slettet bruger
17. februar 2002 - 17:52 #4
det var ikke det alligevel :(
Avatar billede sekhmet_ds Nybegynder
17. februar 2002 - 18:22 #5
doh....opdagde lige jeg selv lavede en fejl:

rs3.fields("nr") skal være rs3("nr")

Men det har du nok opdaget :)

Hvad fejl får du så nu, hvis det stadig ikke virker???
Avatar billede coltau Juniormester
17. februar 2002 - 19:14 #6
Den snyder - men denne virker:

sqlrec1 = "SELECT MAX(Profil_Id) AS NR FROM Profil"   
Set rs3 = forbindelse.Execute(sqlrec1)   
NR = rs3("nr") + 1       

Det er så underligt indrettet at man ikke behøver at checke. -Så virker det.
Avatar billede sekhmet_ds Nybegynder
17. februar 2002 - 20:50 #7
Det er jo faktisk rigtigt.....glemte lige max altid returnere en værdi :)
Avatar billede Slettet bruger
17. februar 2002 - 21:17 #8
Det er ikke fordi at jeg får en fejl. Men bagefter skal en post i databasen sættes lig med = Nr. Og som sagt får alle andre end post nr 1 en værdi. Den første post får bare ingen værdi. Det er lidt skørt
Avatar billede coltau Juniormester
17. februar 2002 - 22:37 #9
Hvis du anvender mit eksempel så får første post værdien 1. Jeg ved det - fordi jeg selv har haft samme problem.
Avatar billede Slettet bruger
17. februar 2002 - 23:12 #10
Nope det funger ikke.
Sådan ser koden ud, og den gider ikke, kan det være fordi jeg benytter access?
Set forbindelse = Server.CreateObject("ADODB.Connection")     
    forbindelse.Open("ocdb")   
   
    Set rs = Server.CreateObject("ADODB.RecordSet")
    sqlrec = "Select * From profil"   
    rs.Open sqlrec, forbindelse, 1, 3       
   
    sqlrec1 = "SELECT MAX(Profil_Id) AS NR FROM Profil"   
    Set rs3 = forbindelse.Execute(sqlrec1)               
            NR = rs3("nr") +1   
   
    rs.AddNew
    rs("profil_id") = NR
    rs("profilnavn") = profilnavn
    rs("kodeord") = kodeord   
    rs("dato") = Date 'dags dato xx-xx-xx
    rs("email") = Email       
    rs("alder") = alder
    rs("koen") = koen
    rs.Update   
    rs.Close
Avatar billede coltau Juniormester
17. februar 2002 - 23:34 #11
Nu var jeg lige så sikker i min sag. Jeg har koden på mit arbejde og kan ikke komme til det nu - men det skal checkes.
Ellers har jeg lavet denne og testet den i Access:

if not IsNull(RS3("nr")) then
  nr = RS3("nr") + 1
else
  nr = 1
end if
Avatar billede Slettet bruger
18. februar 2002 - 09:00 #12
Den virker :)) Takker. Jeg havde selv prøvet med IsEmpty, vidste ikke at der findes en IsNull :).
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
Kurser inden for grundlæggende programmering

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