Lomake ongelma

Teen tietokantaa Accessilla.
Olen katsonut ohjeesta F1 sekä etsinyt kirjoista ja googlettanut ja lisäksi kokeillut SQL, VB, makroja, linkitystä jne… mutta alla olevaan ongelmaan en ole löytänyt ratkaisua.
Lomakkeella on tiedot osassa taulukkomuotoinen lomake, jossa on sotu, asiakkaan suku- ja etunimi.
Lomakkeella on alatunnisteessa muokkaa painike, joka avaa uuden lomakkeen (muokkaa asiakas), jossa voi muokata kaikkia asiakkaan tietoja.
Nyt pitäisi saada taulukkomuotoisessa lomakkeessa valitun asiakaan tiedot näkymään muokkaa asiakas lomakkeella, kun painetaan muokkaa painiketta.
Tällä hetkellä näkyy aina ensimmäisen asiakkaan tiedot ei siis taulukkomuotoisella lomakkeella valitun asiakkaan. Voidaan tietysti tietue valitsimella mennä halutun asiakkaan kohdalle tai etsi kohtaan kirjoittaa asiakkaan nimi, jolloin halutun asiakkaan tiedot avautuvat lomakkeelle mutta nyt haluaisin niin, että avautuisi heti painiketta painettaessa ja lomakkeen avautuessa valitun asiakkaan tiedot esille.
Onkohan tämä yleensä mahdollista lomakkeiden välillä ja jos on, niin miten se tulisi tehdä?
5700
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Tuossa esimerkki omasta laskutussovelluksestani, jossa päävalikosta voi avata tilauslomakkeen, samalla päävalikko sulkeutuu. Laita painikkeeseen tapahtumatoimintosarja soveltaen seuraavaa tekstiä:

Private Sub Komento2_Click()
DoCmd.Close
DoCmd.OpenForm "Tilauslomake"
End Sub

Ja tässä esimerkki jossa tilauslomakkeella olevalla painikkeella voi avata ko. tilausta koskevan laskun:

Private Sub ShowInv_Click()
Dim strDocName As String
Dim strwhere As String
strDocName = "Lasku"
strwhere = "TilausNo=" & Me!TilausNo
If Laskutettu = False Then
msgbox "Tilausta ei ole laskutettu, toiminto keskeytetty."
Exit Sub
End If
DoCmd.OpenReport strDocName, acViewReport, , strwhere
End Sub

Äänestä
  • Kiitos vastauksestasi.
    Yritin soveltaa ehdottamastasi koodista mutten saanut mitään uutta aikaiseksi.
    Laitan tähän vielä hieman tietoa ongelmastani, jos viitsit vielä hieman pohtia.
    Rakenne:
    ”Päälomakkeeseen” on liitetty alilomake, josta valitaan asiakas.
    ”Päälomakkeella” on muokkaa painike, josta avautuu asiakaslomake,
    jossa pystyy muokkaamaan asiakkaan tietoja.

    Muokkaa painiketta painettaessa asiakaslomakkeelle avautuu aina
    alilomakkeella ensimmäisenä olevan asiakkaan tiedot ei siis sen asiakkaan
    tiedot, jonka olin valinnut (aktivoinut) alilomakkeella.
    Kaikkien asiakkaiden tiedot kyllä löytyvät asiakaslomakkeelta haku tai eteen/taakse toiminnolla.

    Luulisitko, että ongelma liittyisi siihen, kun päälomakkeella on muokkaa painike ja kuitenkin päälomakkeella olevalta alilomakkeelta halutaan tietoa vielä uuteen lomakkeeseen eli lomakkeelta lomakkeelle hyppimistä?

    Äänestä

  • Lomake ongelma kirjoitti:

    Kiitos vastauksestasi.
    Yritin soveltaa ehdottamastasi koodista mutten saanut mitään uutta aikaiseksi.
    Laitan tähän vielä hieman tietoa ongelmastani, jos viitsit vielä hieman pohtia.
    Rakenne:
    ”Päälomakkeeseen” on liitetty alilomake, josta valitaan asiakas.
    ”Päälomakkeella” on muokkaa painike, josta avautuu asiakaslomake,
    jossa pystyy muokkaamaan asiakkaan tietoja.

    Muokkaa painiketta painettaessa asiakaslomakkeelle avautuu aina
    alilomakkeella ensimmäisenä olevan asiakkaan tiedot ei siis sen asiakkaan
    tiedot, jonka olin valinnut (aktivoinut) alilomakkeella.
    Kaikkien asiakkaiden tiedot kyllä löytyvät asiakaslomakkeelta haku tai eteen/taakse toiminnolla.

    Luulisitko, että ongelma liittyisi siihen, kun päälomakkeella on muokkaa painike ja kuitenkin päälomakkeella olevalta alilomakkeelta halutaan tietoa vielä uuteen lomakkeeseen eli lomakkeelta lomakkeelle hyppimistä?

    "Muokkaa painiketta painettaessa asiakaslomakkeelle avautuu aina
    alilomakkeella ensimmäisenä olevan asiakkaan tiedot ei siis sen asiakkaan
    tiedot, jonka olin valinnut (aktivoinut) alilomakkeella."

    Tuo esimerkkikoodi toimii vain siinä tapauksessa että ohjausobjektien nimet ovat samat. Siitä soveltaen voit saada jotakin tapahtumaan kun:

    * Nimeät omat ohjausobjektisi ja käytät samoja nimiä sitten koodissasi.
    * Ratkaiseva on tuo StrWhere-lauseke, siinä määritellään mikä tietue tulee näyttöön kun alilomake avataan. Ja kun on lomake kysymyksessä niin tietenkin muotoa "OpenForm"
    * Tuossa esimerkissä ei tarvitse välittää tuosta If-lausekkeesta sitä ei tässä tarvita

    Itse ostin aikanaan tuollaisen kirjan, se on Acces 2003:lle tehty mutta Acces 2007 ymmärtää ihan samaa tekstiä. Suosittelen. Samasta kaupasta löytyy nyt näköjään Acces 2007:lle kirjoitettuja kirjoja:

    http://www.amazon.co.uk/Access-Programmers-Reference-Press-Programmer/dp/0764559036/ref=sr_1_8?ie=UTF8&s=books&qid=1269958047&sr...

    BTW. Ettet joutuisi lomakkeiden sekamelskaan, laita uuden lomakkeen avauskoodiin lauseke joka sulkee lomakkeen jolta olet poistumassa.

    Äänestä

  • UPDATE_7735331 kirjoitti:

    "Muokkaa painiketta painettaessa asiakaslomakkeelle avautuu aina
    alilomakkeella ensimmäisenä olevan asiakkaan tiedot ei siis sen asiakkaan
    tiedot, jonka olin valinnut (aktivoinut) alilomakkeella."

    Tuo esimerkkikoodi toimii vain siinä tapauksessa että ohjausobjektien nimet ovat samat. Siitä soveltaen voit saada jotakin tapahtumaan kun:

    * Nimeät omat ohjausobjektisi ja käytät samoja nimiä sitten koodissasi.
    * Ratkaiseva on tuo StrWhere-lauseke, siinä määritellään mikä tietue tulee näyttöön kun alilomake avataan. Ja kun on lomake kysymyksessä niin tietenkin muotoa "OpenForm"
    * Tuossa esimerkissä ei tarvitse välittää tuosta If-lausekkeesta sitä ei tässä tarvita

    Itse ostin aikanaan tuollaisen kirjan, se on Acces 2003:lle tehty mutta Acces 2007 ymmärtää ihan samaa tekstiä. Suosittelen. Samasta kaupasta löytyy nyt näköjään Acces 2007:lle kirjoitettuja kirjoja:

    http://www.amazon.co.uk/Access-Programmers-Reference-Press-Programmer/dp/0764559036/ref=sr_1_8?ie=UTF8&s=books&qid=1269958047&sr...

    BTW. Ettet joutuisi lomakkeiden sekamelskaan, laita uuden lomakkeen avauskoodiin lauseke joka sulkee lomakkeen jolta olet poistumassa.

    Kävin toiselta koneelta kopsaamassa oman vastaavan koodini, toimii ainakin minulla:

    Private Sub ShowCustomer_Click()
    Dim strDocName As String
    Dim strwhere As String
    strDocName = "Asiakas"
    strwhere = "AsiakasNo=" & Me!AsNo
    DoCmd.OpenForm strDocName, acViewNormal, , strwhere
    End Sub

    Äänestä

  • UPDATE_7735331 kirjoitti:

    Kävin toiselta koneelta kopsaamassa oman vastaavan koodini, toimii ainakin minulla:

    Private Sub ShowCustomer_Click()
    Dim strDocName As String
    Dim strwhere As String
    strDocName = "Asiakas"
    strwhere = "AsiakasNo=" & Me!AsNo
    DoCmd.OpenForm strDocName, acViewNormal, , strwhere
    End Sub

    Suuret kiitokset!
    Sain koodin toimimaan haluamallani tavalla.

    Äänestä

Kommentoi aloitusta


Lomake ongelma kirjoitti:

Teen tietokantaa Accessilla.
Olen katsonut ohjeesta F1 sekä etsinyt kirjoista ja googlettanut ja lisäksi kokeillut SQL, VB, makroja, linkitystä jne… mutta alla olevaan ongelmaan en ole löytänyt ratkaisua.
Lomakkeella on tiedot osassa taulukkomuotoinen lomake, jossa on sotu, asiakkaan suku- ja etunimi.
Lomakkeella on alatunnisteessa muokkaa painike, joka avaa uuden lomakkeen (muokkaa asiakas), jossa voi muokata kaikkia asiakkaan tietoja.
Nyt pitäisi saada taulukkomuotoisessa lomakkeessa valitun asiakaan tiedot näkymään muokkaa asiakas lomakkeella, kun painetaan muokkaa painiketta.
Tällä hetkellä näkyy aina ensimmäisen asiakkaan tiedot ei siis taulukkomuotoisella lomakkeella valitun asiakkaan. Voidaan tietysti tietue valitsimella mennä halutun asiakkaan kohdalle tai etsi kohtaan kirjoittaa asiakkaan nimi, jolloin halutun asiakkaan tiedot avautuvat lomakkeelle mutta nyt haluaisin niin, että avautuisi heti painiketta painettaessa ja lomakkeen avautuessa valitun asiakkaan tiedot esille.
Onkohan tämä yleensä mahdollista lomakkeiden välillä ja jos on, niin miten se tulisi tehdä?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu