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!
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!
Vastaukset 4
Vanhimmat
Laita koodiisi pätkä:
'laskurin esittely
Dim laskuri as long
'haluttu alkuarvo
laskuri=5
'laskurin kasvattaminen
laskuri=laskuri 1
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.
No johan onnistui!
Kiitos!
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.