Avatar billede jensen363 Forsker
20. februar 2011 - 16:37 Der er 4 kommentarer og
1 løsning

Modulkode behandler ikke negative værdier

Nedenstående kode benyttes i forbindelse med nedbrydning af en periode til dagsnivea, hvor AR-Date er første dag, og Days er antallet af efterfølgende dage i perioden.

Hver record består af en ordre/booking på et givent tidspunkt af året ( AC-Date ), og denne ordre ken efterfølgende annulleres på et andet tidspunkt af året.

Dvs. Days kan både være positivt som negativt.

Af een eller anden årsag behandles negative værdier ikke i modulkoden, kan simpelthen ikke finde ud af hvad der er galt


Public Sub Update_004()
  Dim IndRst As Recordset
  Dim UdRst As Recordset
 
  Dim i As Integer
 
  Set IndRst = CurrentDb.OpenRecordset("qryBooking")
  Set UdRst = CurrentDb.OpenRecordset("DTD-Data")
   
  With IndRst
    Do Until .EOF
   
      For i = 0 To .Fields("Days")
       
        UdRst.AddNew
       
            UdRst.Fields("BookingNo") = IndRst.Fields("BookingNo")
            UdRst.Fields("Days") = IndRst.Fields("Days")
           
                UdRst.Fields("Reg") = IIf((IndRst.Fields("Days")) < 0, -1, 1)
           
                UdRst.Fields("AC-Date") = IndRst.Fields("AC-Date")
                UdRst.Fields("AR-Date") = IndRst.Fields("AR-Date")
                UdRst.Fields("OC-Date") = IndRst.Fields("AR-Date") + i
           
        UdRst.Update
     
      Next i
     
      .MoveNext
    Loop
  End With
  IndRst.Close
  UdRst.Close
  Set IndRst = Nothing
  Set UdRst = Nothing

End Sub
Avatar billede neoman Novice
20. februar 2011 - 17:41 #1
For i = 0 To .Fields("Days") !

Hvis .Fields("Days") <0 hvor mange gange kører løkken så ?:-)
Avatar billede jensen363 Forsker
20. februar 2011 - 17:55 #2
Hvis jeg i qryBooking vælger udelukkende records med negative værdier i Days, afvikles modulkoden slet ikke / intet sker
Avatar billede neoman Novice
20. februar 2011 - 18:17 #3
Hvis du skal steppe fra 0 til negative værdier så skal du enten

FOR i= 0 to LIMIT STEP myStepSize

og beregne din  stepsize til 1 eller -1 afh om den skal være pos eller neg, eller, nememere, tage den absolutte værdi af .Fields("Days") som limit

FOR i= 0 TO ABS(.Fields("Days"))
Avatar billede jensen363 Forsker
20. februar 2011 - 18:32 #4
Hold da kæft hvor er man blind for det oplagte :-)
Avatar billede jensen363 Forsker
21. februar 2011 - 08:53 #5
Det ser ud til at være korrekt ... tak for hjælpen
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