Miten teen Access 97:n lomakkeeseen tiedon kirjoittamisen niin että se hyväksyy listasta otetun (combobox) tai kirjoitetun arvon, tallentaa sen tietokantaan ja näyttää sen vielä lomakkeella? Vaatiiko se lisäksi VB-koodia? Enkä aio vaihtaa Accessia koska osaan sen alkeet.
Onko Access:ista mihinkään!
Newbie
111285
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 11
Vanhimmat
Valintalodju on tietotyypiltään variantti ja omaa sen arvon joka sille on valittuna. Eli jos olet kolmesta vaihtoehdosta valinnut "toka" niin se on toka. En kyllä löytänyt vaihtoaehtoa kuinka voisi siirtää ilman pientä softanpätkää suoraan tietokantaan tai näkyville lomakkeeseen. Ko. koodi ei ole kovinkaan monimutkainen joten onnistunee helposti pienellä yrittämällä (huom.! ohjattu toiminto pois päältä).
Olen koittanut netistä löytämieni esimerkeillä saada tekstiä siirtymään Comboboxin listoista tietokannan kenttään, mutta laihoin tuloksin. Jos sinulla on sattumalta jokin esimerkki esim. VB:llä tehtynä niin olisiko mahdollista saada nähdä tuo esimerkki?
FileMaker Pro toimii juuri haluamallasi tavalla.
Miten filemakeriin tehdään seuraava toiminta: Taulukon kenttiin "Nimi" ja "Paino2 tuodaan toisesta taulukosta valitsemalla tiedot. "Nimi" tekstinä ja "Paino" numeroina. Indeksi ei tässä tapauksessa kelpaa.
Mikä on 'Paino2' tässä tapauksessa? Onko 'Nimi' -arvolle useampia mahdollisia 'Paino2' arvoja?
Onko edes tarpeen 'tuoda', eikö voi vain käyttää arvoa toisesta taulukosta? (Paitsi jos edellinen on totta.)
Laajennapa hiukan kysymystäsi eli selitä mitä haluat saada aikaan ja millä datalla, niin katsotaan onnistuuko.
Yleensä onnistuu - en nyt äkkipäätään muista montaakaan tilannetta jossa joku ei olisi onnistunut ollenkaan.
"Nimi" on esim. auto ja "Paino2" tai "Paino" on kilogrammoja. Siis teksti- ja numerokentät. Taulukon em. kenttiin halutaan hiirellä klikkaamalla toisesta taulukosta lisätä tiedot, jotka ovat jo kirjoitettuja ettei niitä tarvitse moneen kertaan kirjoittaa. Lopullinen taulukko olisi seuraavan näköinen:
Auto 1200
jääkaappi 54
Saha 2 jne.
"Paino2" voi olla mikä tahansa kg-arvo ja "Nimi" mikätahansa teksti. Mutta taulukosta, josta niitä halutaan lukea sisältävät yleisimmät "nimi" ja "Paino"-kentät ja ne ovat sidottu toisiinsa. Painaahan jokin auto toki 1200kg. Lisäksi lopullisen taulukon em. kenttiin voi myös vapaasti kirjoittaa kummankin nimen ja painon.
mutta kenties en vieläkään ymmärrä.
Taulukko 2:ssa on siis nuo mainitsemasi arvot autoille, sahoille jne ja ne tuodaan taulukko 1:een 'lookup' -funktiolla. Valikko taulukkoon 1 generoidaan automaattisesti taulukon 2 'nimi' kentästä (index-periaatteella.)
Jos kullekin kapistukselle on tarpeen olla useita arvoja (jotka eivät siis perustu uniikkiin ID-koodiin (tyyliin 'Rolls Royce Silver Shadow', 'Lada Samara', 'Halkosaha', 'Lehtisaha'), käytä tekniikkaa joka tunnetaan nimellä 'filtered value list.' Ks esim http://www.cornetser.com/PastNewsletters/FileMaker/May 2005.htm
Niin, tietysti tuolla tavalla saa esim. valinnan 'auto' näyttämään auto- ja sahamallit.
Kokeilen tuota kun pääsen illalla kotiin. Kiitoksia!
Combobox ominaisuudet:
Ohjausobjektin lähde: Kenttä, johon tieto talletetaan.
Rivilähteen tyyppi: Arvoluettelo
Rivilähde: "Asia1";"Asia2";"Asia3"
Vain luettelon käyttö: Ei
Pistä lomakkeelle myös muokkausruutu, joka on sidottu samaan kenttään kuin Combokin.
Saan kyllä tuon Combon toimimaan normaalisti eli Mulla on taulukko, johon luen combolla eri vaihtoehdot. Harmi vaan että kyseiseen taulukkoon tallentuu Em. lähdelistan vaihtoehto numeroarvona, jota en halua. Tarvitsisin taulukkoon tallentuvan saman tekstin kuin on Combon lähdetaulukossa ja vielä siten että siihen voi kirjoittaa minkä tahansa sallitunpituisen tekstin. Siis puhutaan kopiotoiminnasta tai VB:llä pitäisi pystyä kopioimaan teksti yhdestä taulukosta toiseen taulukon kenttään ja vielä editoimaan sitä niin ettei kone valita ettei em. teksti kuulu joukkoon.
ComboBoxissasi on useampia sarakkeita? 'Sidossarake' kohdalleen. 'Vain luettelon käyttö' pois päältä.