Avatar billede want2learn Nybegynder
13. april 2004 - 02:50 Der er 5 kommentarer og
1 løsning

EOF og BOF

jeg skulle til at sætte et script sammen da jeg lige pludseligt kom ind i dette og da jeg et lidt af en newbie i dette (altså ikek tager kursuser eller uddandelse i dette) så ved jeg ikek hvad forskellen er.

jeg havde nemlig det at jeg skulle lave noget der bliver skrevet hvis der ikke er noget i min dabadase og det plejer jeg at bruge:
Do While Not rs.EOF
ET ELLER ANDET
Else
der findes ingen recorder

og hvis jeg vil have noget skrevet før jeg hiver nogle recorder ud så:
If Not (rs.BOF Or rs.EOF) Then
min tekst

men så kigge jeg lige på et gammelt script jeg har fået lavet og på det jeg har nu og kunen se en masse forskelle og jeg ved ikke lige hvad de betyder og om nogle af dem gør der samme og kunen faktisk godt tænke mig at lære hvad de gør og bruges til:

If Not (rs.BOF Or rs.EOF) Then
  Do While Not rs.EOF
  Loop
  else
End If

nogle der vil forklare !?

og

with rs
  do until rs.EOF
  loop
end with

hvad er forskellen !? samt forskellen på while not og until og findes der andre !?  og with hvad bruges den evt til !?
Avatar billede squashguy Nybegynder
13. april 2004 - 03:29 #1
Do While <udtryk> 'kører *så længe* udtrykket er sandt

Do Until <udtryk> 'kører *indtil* udtrykket er sandt

så de to løkker du beskriver, laver faktisk det samme.. de er bare skrevet på to forskellige måder.

With bruges til, på en nem måde, at tilgå members i et object; f.eks.:

With object
.member1 = 1
.member2 = 2
End With

Er det samme som

object.member1 = 1
object.member1 = 2

Så i dit eksempel burde det faktisk være:

With rs
  Do Until .EOF
  Loop
End With
Avatar billede squashguy Nybegynder
13. april 2004 - 03:32 #2
At du så har

If Not (rs.BOF Or rs.EOF) Then

gør så bare, at løkken aldrig bliver forsøgt afviklet, hvis der ingen records er.
Avatar billede squashguy Nybegynder
13. april 2004 - 03:35 #3
.. og hvis du ikke har en Else bagved

If Not (rs.BOF Or rs.EOF) Then
Else
End If

Så er det i dit eksempel helt unødvendigt at have if-sætningen..
Avatar billede montago Praktikant
13. april 2004 - 14:37 #4
når man læser fra database er det med følgende metode:

Do
læse læse læse
loop while not rs.EOF
Avatar billede squashguy Nybegynder
13. april 2004 - 15:16 #5
montago, det kommer jo an på hvem man er. Dit eksempel vil f.eks. starte ud med at fejle, hvis forespørgslen ikke returnerer nogle poster..
Avatar billede want2learn Nybegynder
13. april 2004 - 20:34 #6
okay squashguy

bruger nok mest denne opsætning

If Not (rs.BOF Or rs.EOF) Then
  Do While Not rs.EOF
  Loop
  else
End If

er den dårlig at bruge og hvad gør hver del. altså If Not (rs.BOF Or rs.EOF) Then hvad gør den læser den eller hvad !? osv.
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