Access laskuri

kertokaa nyt hyvät ihmiset miten MS Accessissa saa muutettua laskurin alkamisarvoa. Kun se ei saisi alkaa ykkösestä...

Ohjelmassa on kyllä selkeät ohjeet, mutta en osaa tehdä siinä tavittavaa kyselyä..

Että jos joku osaisi niin saisinkos siihen semmoiset _todella_ selkeät ohjeet? Kiitos!
4543
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Laita koodiisi pätkä:

'laskurin esittely
Dim laskuri as long

'haluttu alkuarvo
laskuri=5

'laskurin kasvattaminen
laskuri=laskuri 1

Äänestä

Olettaen, että sinulla on jo ne kaksi taulua, joita tässä tarvitaan... Molemmissa tauluissa samanniminen kenttä - toisessa taulussa tietotyyppi on laskuri, toisessa pitkä kokonaisluku.

Mene kyselyihin, napsauta 'Uusi'-painiketta. Avaa kyselyn luominen rakennenäkymässä. Valitse lisättäväksi taulu, joka sisältää lukeman, joka laskurikenttään laitetaan. Napsauta 'Lisää'-painiketta. Napsauta 'Sulje'-painiketta.

Valitse ylävalikosta 'Kysely' - 'Liittämiskysely'. Valitse liitettävän taulun nimi (Se, jossa on se asetettava laskurikenttä). Vedä tai tuplaklikkaa ruudukkoon uuden laskurilukeman sisältävä kenttä. Napsauta 'Suorita'-painiketta (Huutomerkin kuva)

Seuraava tietue, joka lisätään Laskurikentän sisältämään tauluun kasvattaa jälleen laskurin arvoa kyselyllä asetetusta lukemasta.

Äänestä
  • No johan onnistui!

    Kiitos!

    Äänestä

Oletko nyt kyselemässä neuvoa siihen miten Access-tietokantaan ohjelmoidaan primäärinen indeksi ja kunka se liitetään johonkin automaattisesti inkrementoituvaan kenttään, vai sitä miten jollain MS Access-ohjelmalla käsitellään tietokantaa?

Tuo ensimmäinen on ohjelmointia ja kuulu tämän topicin alle, mutta tuosta toisesta en ole niinkään varma.

Ohessa kuienkin esimerkki siitä kuinka ohjelmallisesti luodaan tietokanta jonkin sovelluksen käynnistyksen yhteydessä ja siihen lisätään em. kentät.

...

Dim tb As TableDef, rs As Recordset
Dim fld As field, idx As index

If Dir(dataBaseName) = "" Then
'make new database
Set db = CreateDatabase(dataBaseName, dbLangGeneral)
Set tb = db.CreateTableDef("MyTable")
Set fld = tb.CreateField("recordIDNumber", dbLong)
tb.Fields.Append fld
fld.Attributes = dbAutoIncrField

Set idx = tb.CreateIndex("recordIDNumberIndex")
idx.Fields.Append idx.CreateField("recordIDNumber")
idx.Primary = True
tb.Indexes.Append idx
...
lisätään muita kentiä
...
db.TableDefs.Append tb
db.Close
End If

Edellisen lisäksi sun pitää vielä muistaa ennen ensimmäisen lisäyksen tekoa tutkia tietokannan tietueiden määrää, jotta tiedät esiasettaa "recordIDNumber":lle oikean alkamisarvon(, josta se sitten lähtee automaattisesti inkrementoitumaan):
...
If db.OpenRecordset("MyTable").RecordCount < 1 Then
...

Jonttu

PS. indeksin ja primäärisen kentän tekeminen ei ole the must-juttu, mutta kannattaa, koska silloin tietokantamoottori estää kahden samalla arvolla olevan ID:n syntymisen.

Äänestä

Kommentoi aloitusta


mie kirjoitti:

kertokaa nyt hyvät ihmiset miten MS Accessissa saa muutettua laskurin alkamisarvoa. Kun se ei saisi alkaa ykkösestä...

Ohjelmassa on kyllä selkeät ohjeet, mutta en osaa tehdä siinä tavittavaa kyselyä..

Että jos joku osaisi niin saisinkos siihen semmoiset _todella_ selkeät ohjeet? Kiitos!

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