Heips
Olen uusi tämän Visual Basicin kanssa jten arvatenkin het ongelmia. Olen tehnyt varastonhallinta- ohjelmaa Access2000:lla. Kaikki muu on tähän mennessä onnistunut ok mutta viimeisin lomake ei suostu pelittämään halutulla tavalla.
Form siis sisältää pudotusvalikon Koulutusala, johon tiedot haetaan SQL-kyselyllä Access-taulukosta. Seuraava pudotusvalikko Nimi hakee myös SQL:llä opettajien nimet Koulutusala valikosta valitun Koulutusalan mukaan. Lisäksi Formissa ovat pudotusvalikot Tuote, Kpl sekä muokkausruutu Pvm (=Now).
Ongelmana on näiden em. sisältämien tietojen siirto saman tietokannan taulukkoon. Olen yrittänyt samaiseen formiin aikaansaada painonappia, jolla tiedot siirtyisivät olemassa olevaan taulukkoon. Mitään järkevää en ole kuitenkaan saanut aikaan ja nyt ei ole mitään hajua misten asiassa jatkaisi. Tiedän että pitäisi VB:llä onnistua, käyttämällä jotain Item.Value juttua tms. vaan vaikea löytää kun ei tiedä mitä tai mistä etsiä.
Hei JOUGA!
Pistä moduuliin aliohjelma jota sä kutsut siitä painonapin tapahtumasta. Pistä sit muuttujat jotka tarvitset globaaleiks ja määrittele aliohjelmassa kunkin case'n mukaan
mistä ja mitkä tiedot sä haluat pumpata siihen taulukkoon...
Toivottavasti sait ees jotan selvää...
Juu, itse asiassa asiassa ymmärsin aikas hyvin. Osaan kyllä muutamaa kieltä ihan kohtalaisesti ja oon opiskellutkin ohjelmointia, mutten just tätä VB:tä. Eli siis mun pitäis tämän ko. lomakkeen pudotusvalikot ja muokkausruutu laittaa omissa aliohjelmissaan Global:illa (tai Public) ja sitten viitata niihin tossa moduulin aliohjelmassa ? Ja pitäiskös sen aliohjelman olla myös Globaali ?
Pulmana on sitten vaan se et pitäis saada tietää siinä käytettäviä käskyjä. Onhan mulla toi VB 6.0 ohjelmoijan käsikirja mutta ei siitä oikeen saa selvää sisällysluettelosta tai edes funktioita ja eri käskyjä tarkastelemalla et mitkä tähän tilanteeseen kävis.
Ei olis antaa vinkkiä jostain hyvästä sivustosta ?
Se aliohjelma on sitä automaattisesti kun se on moduulissa jos et sitä vartavasten erikseen määritä privaatiksi.
Eli sä voit kutsua sitä aliohjelmaa minkä tahansa formin mistä tahansa kontrollista, jolla on tarvittavat eventit
HUOMAA, että jos sulla on niitä formeja enemmänkin käytössä niin jos sä keräät sitä tietoa johonkin väliaikaseen taulukkoon, ennen kun sä syötät sen datan edelleen esim. sun tietokantaan, niin myös taulukko pitää olla määriteltynä moduulin declarations osassa globaaliks elikä:
Global taulukko()
Sit sun täytyy antaa sille taulukolle ulottuvuudet jossain eventissä tai aliohjelmassa esim:
Private Sub Form_Load ReDim taulukko (1 to 100, 1 to 100) As Variant End Sub
Ajatellaan, että sulla on tää taulukko jossain formissa, jonka ei tarvitse välttämättä olla edes ikinä näkyvillä niin sä voi tyhjentää sen taulukon nopeiten esim. jossain eventissä seuraavalla tavalla:
Unload TblFormi: Load TblFormi
Sit sä voit taas pumpata siihen puhtaaseen väliaikaistaulukkoon niin paljon kamaa, kuin siihen mahtuu ja kaivaaa ne tiedot missä tahaansa formissa mihin tahansa kontrolliin johon voi yleensä kulloinkin kyseessä olevaa dataa pukata. Sit voidaan ajatella tää taulukko ihan perinteisesti juttuna jossa on sarakkeita ja rivejä ja jos sä haluat määritellä esim. taulukon kunkin sarakkeen datatyypin erikseen niin sä teet sen esim. seuraavasti:
'moduulin declarations osaan...
Type TblType ekaCol As String tokaCol As Long kolaCol As Double 'jne... End Type
ja sit sun täytyy tehdä tästä jutusta taas globaali, elikä:
Global taulukko() As TblType
Nyt sä voit pumpata dataa siihen taulukkoon ihan mistä formista tai kontrollista haluat. Ja kun taulukossa on dataa niin sit sä vaan kaivat niitä taulukon tietoja missä tahansa esim. seuraavasti
Text1.Text = taulukko(1, 1).ekaCol 'jne..
Jos alkaa selvitä niin OK juttu, muussa tapauksessa mä sekoan...
Hehheh. Älä nyt sekoa. Kyllä tuosta oli aikas lailla apua, selvitti mistä lähteä jatkamaan kun ei ollut hajuakaan.
Juu eli siis tarkotushan mulla on se, että tästä Formista, missä nää pudotusvalikot ja muokkausruutu ovat, nii viedään/tallennetaan niihin valitut arvot olemassa olevaan taulukkoon, joka on tehty Access2000:lla. Ja siis niin että käyttäjä valitsee ensin haluamansa arvot, painaa sitten komentonäppäintä ja viuh, arvot sujahtavat taulukkoon. Että nyt alan sitten purkamaan juttua ja katson, jotta saanko mitään aikaiseksi.
Kiittää ja kumartaa kauniisti.
Aihe on jo aika vanha, joten et voi enää vastata siihen.