Saako vb:ssä laitettua taulukoita moduuliin?
Koodini näyttää seuraavalta:
Do While id(i)>0 taulu(i,1) = id(i) taulu(i,2) = xcord(i) taulu(i,3) = ycord(i) taulu(i,4) = aika(i) taulu(i,5) = kuitti(i) taulu(i,6) = pyynto(i) i=i+1 Loop
ja moduulissa on:
Public id(30000) Public xcord(30000) Public ycord(30000) Public aika(30000) Public kuitti(30000) Public pyynto(30000) Dim taulu(1 to 30000, 1 to 6)
ja tulee virheilmoitus:
Compile error: Sub or Function not defined
Osaisko joku neuvoo et missä kohti menin mettää?
koodi toimi vielä kun toi taulukko ei ollu moduulissa.
Muuta myös viimeisen taulukon (taulu) määrittelyksi Public. Muuten taulukko näkyy vain moduulin sisällä.
Dyer kirjoitti:
Do While id(i)>0 taulu(i,1) = id(i) taulu(i,2) = xcord(i) taulu(i,3) = ycord(i) taulu(i,4) = aika(i) taulu(i,5) = kuitti(i) taulu(i,6) = pyynto(i) i=i+1 Loop
Tuo koodi näyttää tekevän looppia niin pitkään kuin i on suurempi kuin nolla :/ -> ikuisesti
Dyer kirjoitti:
ja tulee virhe ilmoitus:
Compile error: Sub or Function not defined
Moduulissa koodin pitää olla Sub tai Function -koodien välissä. Moduulissa General Declarationissa et voi muuta kuin sananmukaisesti määritellä erilaisia juttuja. Eli siis näin:
Sub TeeJotain (Param1 As String, Param2 As String) MsgBox("Parametri 1: " & Param1) MsgBox("Parametri 2: " & Param2) End Sub 'taikka Function TeeJotain (Param1 As String, Param2 As String) As String TeeJotain = Param1 & Param2 End Function
EDIT: Et tainnut tarkoittaa tätä. :(
kayttaja-4976 kirjoitti:
Tuo koodi näyttää tekevän looppia niin pitkään kuin i on suurempi kuin nolla :/ -> ikuisesti
Ei, vaan kunnes id-taulusta tulee vastaan nolla tai pienempi.
kayttaja-4976 kirjoitti:
Dyer kirjoitti:
ja tulee virhe ilmoitus:
Compile error: Sub or Function not definedModuulissa koodin pitää olla Sub tai Function -koodien välissä. Moduulissa General Declarationissa et voi muuta kuin sananmukaisesti määritellä erilaisia juttuja.
Sinällään ihan oikein, mutta tuo virheilmoitus viittaa siihen, että haetun nimistä aliohjelmaa tai funktiota ei löydy. Tässä tapauksessa siis VB kuvittelee tuota taulua sellaiseksi, kun sitä ei muuttujaksikaan ole määritelty. Tai siis on, muttei niin, että se näkyisi sinne, missä siihen viitataan. Antin mainitsemalla muutoksella homman pitäisi alkaa toimia.
Antti Laaksonen kirjoitti:
Muuta myös viimeisen taulukon (taulu) määrittelyksi Public. Muuten taulukko näkyy vain moduulin sisällä.
Juu kiitoksia n__n
nyt toimii ;-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.