Avatar billede region Nybegynder
10. januar 2001 - 15:43 Der er 2 kommentarer og
1 løsning

hvad gør jeg forkert..!!

Nedenstående er beskrevet et udsnit af et script jeg kører. Der hvor jeg får fejlen er ved min første for/next kommando. når counteren har kørt én gang skal måneden skifte fra JAN til FEB. dett ville jeg gøre med kommandoen
input_data.MoveNext, men den gør det først når counteren har kørt alle 10 gange.

Dette giver derfor en fejl i næste trin
If maaned <> input_data(\"mdr\") Then....bla bla...

fordi maaned = JAN og input_data(\"mdr\")  = FEB.

Hjælp mig !!!!!!!!!!!!


Function TransferNy() As Boolean
    Dim db As Database
    Dim input_data As Recordset
    Dim output_data As Recordset
   
    Set db = CurrentDb
    Set input_data = db.OpenRecordset(\"selskab_detteår\")
   
    Dim maaned As String
    Dim omsaetning(10) As Double
    Dim loenomkostninger(10) As Double
    Dim oevrige_omkostninger(10) As Double
    Dim fragt_til_kunder(10) As Double
    Dim varelager(10) As Double
    Dim nedskrivning(10) As Double
    Dim br_av_foer_fragt(10) As Double
    Dim br_av_efter_fragt(10) As Double
    Dim kasserabat_til_kunder(10) As Double
    Dim kasserabat_fra_leverandoer(10) As Double
    Dim bonus_fra_leverandoer(10) As Double
    Dim koncernbonus(10) As Double
    Dim primaer_resultat(10) As Double
    Dim resultat_foer_skat(10) As Double
    Dim omsaetning_pr_medarbejder(10) As Double
    Dim omsaetning_pr_varelinie(10) As Double
    Dim omsaetning_pr_saelger(10) As Double
    Dim markedsandel_industri(10) As Double
    Dim markedsandel_installation(10) As Double
    Dim antal_firmabiler(10) As Double
    Dim antal_filialer_normale(10) As Double
    Dim antal_filialer_afhentning(10) As Double
    Dim national_momssats(10) As Double
    Dim national_pris_pr_kwh(10) As Double
         
    Dim FirmaNavne(10) As String
    Dim NoegleTalTekster(10) As String
    Dim counter As Integer
   
    FirmaNavne(1) = (\"solar as\")
    FirmaNavne(2) = (\"rudolf schmidt as\")
    FirmaNavne(3) = (\"solar pf\")
    FirmaNavne(4) = (\"solar ab\")
    FirmaNavne(5) = (\"solar elektroengros as\")
    FirmaNavne(6) = (\"solar suomi oy\")
    FirmaNavne(7) = (\"solar gmbh\")
    FirmaNavne(8) = (\"brinkmann germeraad bv\")
    FirmaNavne(9) = (\"solar elektro sp zoo\")
    FirmaNavne(10) = (\"bintz technics nv\")
    NoegleTalTekster(1) = \"\"
    NoegleTalTekster(2) = \"\"
    NoegleTalTekster(3) = \"\"
    NoegleTalTekster(4) = \"\"
    NoegleTalTekster(5) = \"\"
    NoegleTalTekster(6) = \"\"
    NoegleTalTekster(7) = \"\"
    NoegleTalTekster(8) = \"\"
    NoegleTalTekster(9) = \"\"
    NoegleTalTekster(10) = \"\"
   
    \' Vi sikrer at der er records i inputtabellen og at vi peger på den første
    If Not input_data.EOF Then
        input_data.MoveFirst
    End If
   
    \' Vi starter på en frisk
    db.Execute (\"Delete * from nøgletal_detteår\")
   
    Set output_data = db.OpenRecordset(\"nøgletal_detteår\")
    While Not input_data.EOF
       
       
        maaned = input_data(\"Mdr\")
       
        For counter = 1 To 2
            omsaetning(counter) = input_data(\"omsætning\")
            loenomkostninger(counter) = input_data(\"lønomkostninger\")
            oevrige_omkostninger(counter) = input_data(\"øvrige omkostninger\")
            fragt_til_kunder(counter) = input_data(\"fragt til kunder\")
            varelager(counter) = input_data(\"varelager\")
            nedskrivning(counter) = input_data(\"nedskrivning\")
            br_av_foer_fragt(counter) = input_data(\"br av før fragt\")
            br_av_efter_fragt(counter) = input_data(\"br av efter fragt\")
            kasserabat_til_kunder(counter) = input_data(\"kasserabat til kunder\")
            kasserabat_fra_leverandoer(counter) = input_data(\"kasserabat fra leverandør\")
            omsaetning_pr_medarbejder(counter) = input_data(\"omsætning pr medarbejder\")
            omsaetning_pr_varelinie(counter) = input_data(\"omsætning pr varelinie\")
            omsaetning_pr_saelger(counter) = input_data(\"omsætning pr sælger\")
            markedsandel_industri(counter) = input_data(\"markedsandel industri\")
            markedsandel_installation(counter) = input_data(\"markedsandel installation\")
            antal_firmabiler(counter) = input_data(\"antal firmabiler\")
            antal_filialer_normale(counter) = input_data(\"antal filialer normale\")
            antal_filialer_afhentning(counter) = input_data(\"antal filialer afhentning\")
            national_momssats(counter) = input_data(\"national momssats\")
            national_pris_pr_kwh(counter) = input_data(\"national pris pr kwh\")
            bonus_fra_leverandoer(counter) = input_data(\"bonus fra leverandør\")
            koncernbonus(counter) = input_data(\"koncernbonus\")
            primaer_resultat(counter) = input_data(\"primær resultat\")
            resultat_foer_skat(counter) = input_data(\"resultat før skat\")
            input_data.MoveNext
        Next
       
       
        If maaned <> input_data(\"mdr\") Then
            MsgBox \"Der er fejl i input data, kontakt Niels Toftgaard\"
        End If


Avatar billede region Nybegynder
10. januar 2001 - 15:45 #1
SATANS...her er det rigtige script da jeg lavede en test med det indsatte under counter...


Function TransferNy() As Boolean
    Dim db As Database
    Dim input_data As Recordset
    Dim output_data As Recordset
   
    Set db = CurrentDb
    Set input_data = db.OpenRecordset(\"selskab_detteår\")
   
    Dim maaned As String
    Dim omsaetning(10) As Double
    Dim loenomkostninger(10) As Double
    Dim oevrige_omkostninger(10) As Double
    Dim fragt_til_kunder(10) As Double
    Dim varelager(10) As Double
    Dim nedskrivning(10) As Double
    Dim br_av_foer_fragt(10) As Double
    Dim br_av_efter_fragt(10) As Double
    Dim kasserabat_til_kunder(10) As Double
    Dim kasserabat_fra_leverandoer(10) As Double
    Dim bonus_fra_leverandoer(10) As Double
    Dim koncernbonus(10) As Double
    Dim primaer_resultat(10) As Double
    Dim resultat_foer_skat(10) As Double
    Dim omsaetning_pr_medarbejder(10) As Double
    Dim omsaetning_pr_varelinie(10) As Double
    Dim omsaetning_pr_saelger(10) As Double
    Dim markedsandel_industri(10) As Double
    Dim markedsandel_installation(10) As Double
    Dim antal_firmabiler(10) As Double
    Dim antal_filialer_normale(10) As Double
    Dim antal_filialer_afhentning(10) As Double
    Dim national_momssats(10) As Double
    Dim national_pris_pr_kwh(10) As Double
         
    Dim FirmaNavne(10) As String
    Dim NoegleTalTekster(10) As String
    Dim counter As Integer
   
    FirmaNavne(1) = (\"solar as\")
    FirmaNavne(2) = (\"rudolf schmidt as\")
    FirmaNavne(3) = (\"solar pf\")
    FirmaNavne(4) = (\"solar ab\")
    FirmaNavne(5) = (\"solar elektroengros as\")
    FirmaNavne(6) = (\"solar suomi oy\")
    FirmaNavne(7) = (\"solar gmbh\")
    FirmaNavne(8) = (\"brinkmann germeraad bv\")
    FirmaNavne(9) = (\"solar elektro sp zoo\")
    FirmaNavne(10) = (\"bintz technics nv\")
    NoegleTalTekster(1) = \"\"
    NoegleTalTekster(2) = \"\"
    NoegleTalTekster(3) = \"\"
    NoegleTalTekster(4) = \"\"
    NoegleTalTekster(5) = \"\"
    NoegleTalTekster(6) = \"\"
    NoegleTalTekster(7) = \"\"
    NoegleTalTekster(8) = \"\"
    NoegleTalTekster(9) = \"\"
    NoegleTalTekster(10) = \"\"
   
    \' Vi sikrer at der er records i inputtabellen og at vi peger på den første
    If Not input_data.EOF Then
        input_data.MoveFirst
    End If
   
    \' Vi starter på en frisk
    db.Execute (\"Delete * from nøgletal_detteår\")
   
    Set output_data = db.OpenRecordset(\"nøgletal_detteår\")
    While Not input_data.EOF
       
       
        maaned = input_data(\"Mdr\")
       
        For counter = 1 To 10
            omsaetning(counter) = input_data(\"omsætning\")
            loenomkostninger(counter) = input_data(\"lønomkostninger\")
            oevrige_omkostninger(counter) = input_data(\"øvrige omkostninger\")
            fragt_til_kunder(counter) = input_data(\"fragt til kunder\")
            varelager(counter) = input_data(\"varelager\")
            nedskrivning(counter) = input_data(\"nedskrivning\")
            br_av_foer_fragt(counter) = input_data(\"br av før fragt\")
            br_av_efter_fragt(counter) = input_data(\"br av efter fragt\")
            kasserabat_til_kunder(counter) = input_data(\"kasserabat til kunder\")
            kasserabat_fra_leverandoer(counter) = input_data(\"kasserabat fra leverandør\")
            omsaetning_pr_medarbejder(counter) = input_data(\"omsætning pr medarbejder\")
            omsaetning_pr_varelinie(counter) = input_data(\"omsætning pr varelinie\")
            omsaetning_pr_saelger(counter) = input_data(\"omsætning pr sælger\")
            markedsandel_industri(counter) = input_data(\"markedsandel industri\")
            markedsandel_installation(counter) = input_data(\"markedsandel installation\")
            antal_firmabiler(counter) = input_data(\"antal firmabiler\")
            antal_filialer_normale(counter) = input_data(\"antal filialer normale\")
            antal_filialer_afhentning(counter) = input_data(\"antal filialer afhentning\")
            national_momssats(counter) = input_data(\"national momssats\")
            national_pris_pr_kwh(counter) = input_data(\"national pris pr kwh\")
            bonus_fra_leverandoer(counter) = input_data(\"bonus fra leverandør\")
            koncernbonus(counter) = input_data(\"koncernbonus\")
            primaer_resultat(counter) = input_data(\"primær resultat\")
            resultat_foer_skat(counter) = input_data(\"resultat før skat\")
            input_data.MoveNext
        Next
       
       
        If maaned <> input_data(\"mdr\") Then
            MsgBox \"Der er fejl i input data, kontakt Niels Toftgaard\"
        End If
Avatar billede spectual Nybegynder
10. januar 2001 - 15:55 #2
det kan da ikke passe.... der må være noget andet i vejen
Avatar billede region Nybegynder
10. januar 2001 - 17:13 #3
Har fundet fejlen, og ændret strukturen...
undskyld ulejligheden...
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