Access tiedonkäsittely

Ihme ja kumma

Terve! Mulla on taulu johon in importattu tietoa. Rakenne tuossa taulussa on tyyliin: Columnit tuote, nimi1, nimi2, nimi3...jne.. Tuo taulu pitäisi modata sellaiseksi että siinä olisi columnit: Tuote, Nimi, Määrä..
Olen koittanut monia vaihtoehtoje mutta en saa onnistumaan millään.. En keksi VB:llä mitään toimivaa pätkää kehittettyä..
Nyt ois apu tarpeen..

8

867

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • määritellään taulun rakennenäkymässä, ei siinä vielä mitään VBA:ta tarvita. Avaa taulu rakennenäkymään, kenttien nimiä voit silloin muuttaa, samoin tietotyyppejä (teksti, luku jne). VBA astuu kuvaan vasta kun alat väsätä lomakkeita, raportteja ym.

      Microsoftilla on hyvät ohjeet verkossa, aloita vaikka tuolta:

      http://office.microsoft.com/fi-fi/access/FX100646911035.aspx

      Jos Lontoon murre on hallussa, asiallinen keskustelupalsta (täytyy rekisteröityä) löytyy tuolta:

      http://www.microsoft.com/office/community/fi-fi/FlyoutOverview.mspx

      • ihem ja kumma

        ..hyvä kmmentti..huomasin etä selitin asian tosi epäselvästi...
        Jos tulurakenne on tällainen:
        Tuote Nimi1 Nimi2 Nimi3...
        pyörä 2 3 4
        pultti 1 2 9
        Ja tuo nimien määrää ei tiedetä.. Joka kerta kun importtaus tehdään niin noita nimi columnien määrä muuttuu...
        Jos tuon taulun saisi muutettua importtauksen jälkeen muotoon...
        Tuote Nimi Määrä
        Pyörä Nimi1 2
        Pyörä Nimi2 3
        ..jne... Näin saisi tehtyä sellaisen taulukon jota voisi jatkossa käyttää eteenpäin..
        SQL kyselyllä sitä ei saa ellei jotain mahdotonta union kyselyä tee.. mut ipä taida olla järkevää..


      • Jooti

        Ilmeisesti siis koitat muuntaa jostain toisesta ohjelmasta muutettua dataa access-muotoon? Itse teen samaa, mutta jos data on excel-muodossa, voi esim juuri nuo sarakkeet nimetä itse uusiksi, jättää vain sen tapin laittamatta "first row contains headings" -kohtaan.

        Mut MR Massara,

        Mulla on usean taulukon tietokanta. Tietokannat on linkitetty toisiinsa avaimella ihan normaalisti. En halua samaan tauluun kaikkien taulukoiden tietoja, vaan kolmeen erilliseen. Päätaulussa on nyt nappulat kahden muun taulun avaamiseen. Miten saisin vielä juuri saman tietueen avautuviin tauluihin, kuin mitä päätaulussa on käsittelyssä? Huom olen siis jo päättänyt toteuttaa tämän ilman välilehtiä erillisillä tauluilla.

        Kokeilin laittaa vain pelkän lausekkeen avainkenttiin, mutta tallennettaessa tietoja aputaulujen taulukoihin, herjaa access nolla arvoja indeksissä tai avaimessa. Ilmeisesti ei tajua että haluaisin tallentaa juurikin ne tiedot myös siihen taulukkoon.


      • VariMägi
        Jooti kirjoitti:

        Ilmeisesti siis koitat muuntaa jostain toisesta ohjelmasta muutettua dataa access-muotoon? Itse teen samaa, mutta jos data on excel-muodossa, voi esim juuri nuo sarakkeet nimetä itse uusiksi, jättää vain sen tapin laittamatta "first row contains headings" -kohtaan.

        Mut MR Massara,

        Mulla on usean taulukon tietokanta. Tietokannat on linkitetty toisiinsa avaimella ihan normaalisti. En halua samaan tauluun kaikkien taulukoiden tietoja, vaan kolmeen erilliseen. Päätaulussa on nyt nappulat kahden muun taulun avaamiseen. Miten saisin vielä juuri saman tietueen avautuviin tauluihin, kuin mitä päätaulussa on käsittelyssä? Huom olen siis jo päättänyt toteuttaa tämän ilman välilehtiä erillisillä tauluilla.

        Kokeilin laittaa vain pelkän lausekkeen avainkenttiin, mutta tallennettaessa tietoja aputaulujen taulukoihin, herjaa access nolla arvoja indeksissä tai avaimessa. Ilmeisesti ei tajua että haluaisin tallentaa juurikin ne tiedot myös siihen taulukkoon.

        Eli käsittelet tauluja joko queryn kautta tai haluat nähdä perustauluja samanaikaisesti?
        Queryissä on helpoin sijoittaa afterchange kohtaan refresh tai paremminkin requery komento osoittaen tiettyihin tauluihin.Tekniikoita on vaikka kuinka monta.


      • Nimetön
        VariMägi kirjoitti:

        Eli käsittelet tauluja joko queryn kautta tai haluat nähdä perustauluja samanaikaisesti?
        Queryissä on helpoin sijoittaa afterchange kohtaan refresh tai paremminkin requery komento osoittaen tiettyihin tauluihin.Tekniikoita on vaikka kuinka monta.

        Ei sotketa nyt kyselyjä tähän yhtään, vaan haluan lisätä tai muokata samaan aikaan kahdesta eri taulusta kahden eri taulukon tietoja, mutta käsitellä samaan aikaan linkitettyjä tietueita, eli tässä tapauksessa yhden ja saman henkilön tietoja jotka on ryhmitelty eri taulukoihin.

        Eli jos päätaulusta avaan aputaulun, haluaisin päätaulussa olleen tietueen linkitetyn tietueen eri taulukosta esiin aputauluun.

        Voiko tätä enää hankalammin selostaa? Hahah, joka tapauksesta pienestä jutusta kyse, mutta joku virhe mun lausekkeessa on kun herjaa nollista koittaessa tallentaa aputaulun tietuetta.


      • VariMägi
        Nimetön kirjoitti:

        Ei sotketa nyt kyselyjä tähän yhtään, vaan haluan lisätä tai muokata samaan aikaan kahdesta eri taulusta kahden eri taulukon tietoja, mutta käsitellä samaan aikaan linkitettyjä tietueita, eli tässä tapauksessa yhden ja saman henkilön tietoja jotka on ryhmitelty eri taulukoihin.

        Eli jos päätaulusta avaan aputaulun, haluaisin päätaulussa olleen tietueen linkitetyn tietueen eri taulukosta esiin aputauluun.

        Voiko tätä enää hankalammin selostaa? Hahah, joka tapauksesta pienestä jutusta kyse, mutta joku virhe mun lausekkeessa on kun herjaa nollista koittaessa tallentaa aputaulun tietuetta.

        Nyt täytyy pitää mielessä että on hyvän käytännön ja käytännöllisyyden takia järkevää pitää kantataulut rauhassa muuten kuin kyselyjen kautta. Jos liikut kantatauluissa yhden näppiksen vahinko tuhoaa kaiken. Saat vastaavat taulut kyllä käyttöön suoraan kyselyillä tai paremmin taulukon näköisillä formeilla (yhtä tuhoisasti) mutta työkalut ovat huomattavasti yksinkertaisempia ja monipuolisempia. Formit kätyttäytyvät kaikkein tehokkaimmin ja pystyt päivittämään kaikkia ihan reaaliajassa. Voin heittää esimerkki koodin jos haluat.


      • Jooti
        VariMägi kirjoitti:

        Nyt täytyy pitää mielessä että on hyvän käytännön ja käytännöllisyyden takia järkevää pitää kantataulut rauhassa muuten kuin kyselyjen kautta. Jos liikut kantatauluissa yhden näppiksen vahinko tuhoaa kaiken. Saat vastaavat taulut kyllä käyttöön suoraan kyselyillä tai paremmin taulukon näköisillä formeilla (yhtä tuhoisasti) mutta työkalut ovat huomattavasti yksinkertaisempia ja monipuolisempia. Formit kätyttäytyvät kaikkein tehokkaimmin ja pystyt päivittämään kaikkia ihan reaaliajassa. Voin heittää esimerkki koodin jos haluat.

        Hmmm luulen että tajusin mitä tarkotit, ja kuulosti sen verran järkevältä että äsken nopeasti sitä testasin.
        Sain kyllä kyselyn tehtyä halutusta kentästä suurin piirtein niin kuin toivoisin sen toimivan, mutta näin heikoilla taidoilla en saanut kyselyn tulosta palautettua takaisin lomakkeelle. Siihen kaipaisin kyllä ensinnäkin jonkin ajatuksen, ja ehkä ihan kädestä pitäen neuvoja, luulenpa että siihen loppuu osaaminen. Eli jos suostuisit heittämään esimerkkiä niin olisin kyllä erittäin kiinnostunut tätä kokeilemaan jos vaan saan onnistumaan!


      • VariMägi
        Jooti kirjoitti:

        Hmmm luulen että tajusin mitä tarkotit, ja kuulosti sen verran järkevältä että äsken nopeasti sitä testasin.
        Sain kyllä kyselyn tehtyä halutusta kentästä suurin piirtein niin kuin toivoisin sen toimivan, mutta näin heikoilla taidoilla en saanut kyselyn tulosta palautettua takaisin lomakkeelle. Siihen kaipaisin kyllä ensinnäkin jonkin ajatuksen, ja ehkä ihan kädestä pitäen neuvoja, luulenpa että siihen loppuu osaaminen. Eli jos suostuisit heittämään esimerkkiä niin olisin kyllä erittäin kiinnostunut tätä kokeilemaan jos vaan saan onnistumaan!

        Ohessa mahdollisimman yksinkertainen mutta toimiva (testattu) esimerkki:

        Lähtönä yksi taulu ja kaksi formia joilla sama kantataulu. Formiin yksi tehdään muutos esim. vaikka sarakkeessa 3:

        Private Sub Sarake3_Change()

        ’Vihetilanteen välttämiseksi kannattaa ensin varmistaa ettei päivitettävä lomake kiinni tai editointitilassa

        Const conObjStateClosed = 0

        Const conDesignView = 0

        If SysCmd(acSysCmdGetObjectState, acForm, "Form2") conObjStateClosed Then

        If Forms("Form2").CurrentView conDesignView Then

        Forms("Form2").Requery

        End If

        End If

        End sub

        Toivottavasti ylläoleva oli se mitä tarkoitit. Vaihtoehtoja ja tapoja on tietysti useita toteuttaa lomakkeen/kannan päivityksiä.


    Ketjusta on poistettu 22 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Taasko se show alkaa

      Koo osottaa taas mieltään
      Ikävä
      24
      1729
    2. Miksi ihmeessä nainen seurustelit kanssani joskus

      Olin ruma silloin ja nykyisin vielä rumempi En voi kuin miettiä että miksi Olitko vain rikki edellisestä suhteesta ja ha
      Ikävä
      20
      1644
    3. Persut nimittivät kummeli-hahmon valtiosihteeriksi!

      Persujen riveistä löytyi taas uusi törkyturpa valtiosihteeriksi! Jutun perusteella järjenjuoksu on kuin sketsihahmolla.
      Perussuomalaiset
      59
      1482
    4. Minun oma kaivattuni

      Ei ole mikään ilkeä kiusaajatyyppi, vaan sivistynyt ja fiksu sekä ystävällinen ihminen, ja arvostan häntä suuresti. Raka
      Ikävä
      70
      1478
    5. Onko ministeri Juuso epäkelpo ministerin tehtäviensä hoitamiseen?

      Eikö hänellä ole kompetenttia hoitaa sosiaali- ja terveysministetin toimialalle kuuluvia ministerin tehtäviä?
      Perussuomalaiset
      56
      1370
    6. Heikki Silvennoinen petti vaimoaan vuosien ajan

      Viiden lapsen isä Heikki kehuu kirjassaan kuinka paljon on pettänyt vaimoaan vuosien varrella.
      Kotimaiset julkkisjuorut
      89
      1344
    7. Pelastakaa Lapset: Netti ei ole turvallinen paikka lapsille - Erätauko-tilaisuus to 25.4.2024

      Netti ei ole turvallinen paikka lapsille, mutta mitä asialle voi vanhempana tehdä? Torstaina 25.4.2024 keskustellaan ne
      Suomi24 Blogi ★
      17
      1332
    8. Sakarjan kirjan 6. luku

      Jolla korva on, se kuulkoon. Sain profetian 22.4.2023. Sen sisältö oli seuraava: Suomeen tulee nälänhätä niin, että se
      Profetiat
      18
      1186
    9. Tervehdys!

      Sä voit poistaa nää kaikki, mut mä kysyn silti A:lta sen kokemuksia sun käytöksestä eron jälkeen. Btw, miks haluut sabot
      Turku
      65
      1140
    10. Elia tulee vielä

      Johannes Kastaja oli Elia, mutta Jeesus sanoi, että Elia tulee vielä. Malakian kirjan profetia Eliasta toteutuu kokonaan
      Helluntailaisuus
      35
      1124
    Aihe