[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ohjelmistot] Uusi mallisovellus ja ID-ongelma



Laitoin harjoitustyön ohjeiden alle data-analysaattorisovelluksen
malliksi. Sovellus on viime vuoden kurssilla mallina ollut, joten siinä
voi olla pieniä puutteita, mutta korjailen tuota tarpeen vaatiessa.
Seuraavassa sovelluksen lyhyt esittely:
-------------------------------------------------------------------
Seuraavan malliharjoitustyösovelluksen pitäisi olla harjoitustyön
vaatimukset kattava. Datan analysointi -sovelluksen on tarkoitus toimia
mallina tehtävään harjoitustyöhön. Sovelluksen ominaisuuksia on toteutettu
useammalla eri tavalla, joten ominaisuuksien toteuttamisessa voi käyttää
omaa harkintaa. Sovellusta ei ole toteutettu mahdollisimman helpolla
tavalla, vaan sovelluksessa on käytetty hieman opiskelijasovellusta
vaikeampia ratkaisuja. 

P.S. Palautus ja ohjauspaikka on varsinaisilla opiskelijoilla Ag C433.1
eli avotila. Minulle palauttavilla opiskelijoilla palautuspaikka on
AgC431.2. 

ID-numerointi ongelma
---------------------
Miten ID-numeroinnin saa toimimaan automaattisesti?

Numeroinnin käyttötarkoituksesta ja kohteesta riippuen seuraavassa
muutamia ideoita:

- Kaavaa (edellinen solu+1) kopioimalla saadaan listaan edellistä suurempi
numero.  Tavassa on kuitenkin hyvin suuria rajoitteita, koska
esimerkiksi järjestäminen heittää koko taulukon sekaisin.
 
- Jos ollaan tekemässä yksikäsitteistä ID-numeroa, niin tällöin pitää
tutkia jossakin solussa kuinka monta epätyhjää riviä on jossakin
sarakkkeessa COUNTA-funktiolla. Tuon perusteella voitaisiin päätellä
uusi ID-numero. Ongelmaksi muodostuvat kuitenkin poistamiset, jotka
pienentävät aluetta. 

- Yksi (ehkä paras) tapa on kirjoittaa jonnekin soluun
tuleva ID ja sen perusteella laskea aina seuraava ID. Tuo kaikki
joudutaan tekemään makrossa, joten tuo on pikkaisen monimutkaisempi. 
Makrossa pitää olla muun muassa seuraavat rivit: 

' Lisätään vasemman puoleiseen sarakkeeseen opiskelijalle indeksinro
' Numero löytyy lomakkeen M1-solusta
    ActiveCell.FormulaR1C1 = Range("Opiskelijat!M1").Value
' Lisätään M1-solussa olevaa indeksointia yhdellä
    Range("Opiskelijat!M1").Value = Range("Opiskelijat!M1").Value + 1

Indeksointi riippuu tietenkin solussa M1 olevan luvun alkuarvosta.
Edellisessä esimerkissä M1-solussa oleva luku oli suoraan uusi indeksinumero.

Sellaista taasen.. ;)
--
Petri Heinonen                 <URL: http://www.mit.jyu.fi/peheinon/>        
Jyväskylän yliopisto/Tietotekniikan laitos        peheinon@mit.jyu.fi
PL 35   (Agora C431.2)                         	Puh. +358 14 260 2746
40351 Jyväskylä                                 Fax. +358 14 260 2731






-- send "unsubscribe ohjelmistot" to majordomo@cc.jyu.fi to unsubscribe ---