Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: addnew -metodi (ADO) ei toimi

Pallomasi [01.04.2005 09:45:23]

#

Ongelmana on että kun yritän tietokantaan (access 2000) lisätä uuden tietueen niin se heittää sen aina ekaksi vaikka se pitäisi mennä numerojärjestyksessä. Ongelma esiintyy 13. tietueen kohdalla. Eli ensin siirryn movelast-komennolla tietueen loppuun ja "uusi_numero = rsArkisto("numero") + 1" lauseella otan talteen seuraavan tietueen numeron. Sitten tallennan tietokantaan:
rsArkisto.AddNew
rsArkisto!numero = uusi_numero
rsArkisto!omistaja = ""
etc...
Mutta tulos tietokannassa on että n. 12. tietueen jälkeen tietue tallentuu ekaksi (eli 1,2,3,4,5,6,7,8,9,10,11,12...) Sitten (13,1,2,3,4,5,6,7,8,9,10,11,12). Ja aina kun lisään uuden tietueen, se jatkaa tallentumista 13. perään samalla numerolla. (13,13,13,1,2,3,4,5, etc...)
Voisiko joku muuttuja häiritä addnew-hommelia vai mistä tämä johtuu? Jos joku osaisi neuvoa olisin tosi kiitollinen avusta!!

mike patto [01.04.2005 10:14:38]

#

Tyypillisesti tämmöistä tapahtuu "uusi_numero = rsArkisto("numero") + 1" :ssä kun "numero":n arvoa ei muuteta päivityksen jälkeen. Eli sinulla olisi aina tuo 12 numeron arvona. Kannattanee ainakin tarkistaa...

BadSource [01.04.2005 10:18:21]

#

Voitko käyttää tuon numeron tyyppinä laskuria? Tällöin tietokanta itse hoitaa arvoksi yhdellä kasvavan arvon, eikä sinun tarvitse miettiä/asettaa sitä arvoa. Jos numero on aina yhdellä kasvava arvo (1,2,3...), eikä kuulu johonkin ylempään sarjaan (1.1,1.2,1.3...,2.1,2.2,2.3...,3.1,3.2,3.3...), niin käytä laskuria.

Kristallipalloni on pesussa, joten hankala sanoa tuosta "häiritseekö jokin muuttuja AddNew-hommeliani". Copy/Paste se koodisi suoraan tänne, jos haluat tietää "mikä tässä on vikana".

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta