Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: Tietokannan muuttaminen jälkikäteen

Amatööri50 [02.12.2012 21:42:52]

#

Tällainen tapaus:

Kun tehdään tietokanta esim. autoista ja niiden ominaisuuksista ( esim. vuosimalli, teho, kulutus jne...) Jokainen automalli on sitten tavallaan erillinen "autokortti", joka sisältää tietyt ominaisuudet. Sitten tietoja syötetään ohjelmaan ja kunkin auton "kortti" tallennetaan tietokantaan. Täältä haetaan tietyt hakuehdot täyttävät autot.

Kun uuden auton tiedot syötetään ohjelmaan ja tallennetaan tietokantaan,niin mikä on siinä logiikka ? Voiko VB yksilöidä kunkin tallennetun auton niin, että kun tietokantaohjelmaan ja käyttöliittymään (siis niihin ominaisuus- ja hakulomakkeisiin) tehdään muutoksia (parannetaan ohjelmaa, esim. muokataan kenttiä ja ominaisuusarvoja) aikaisemmin tallennetut tiedot olisivat edelleen käyttökelpoisia. Vai onko niin, että jos taulukkoihin (hakulomakkeeseen, tietojen syöttölomakkeeseen) tehdään muutoksia, pitäisi sitten kaikkien autojen tiedot syöttää yksitellen uudestaan ?

Kiitos jo etukäteen

T: Todellinen amatööri

Grez [02.12.2012 22:21:20]

#

Tietokantatauluun voi lisätä uusia sarakkeita ja vanhat tiedot säilyvät.

Amatööri50 [03.12.2012 00:45:52]

#

Ok, kiitos....vielä hiukan hämää pari asiaa:

1. Jos muuttaa ominaisuuden nimeä, esim. "teho (hv)" muutetaan "teho (kw)", niin voiko alkuperäistä tietokantaa vielä käyttää, kun siellä ei ole enää sitä alkuperäistä "sarakkeen" nimeä ?

2. Sitten kiperä kysymys:

Jos henkilö A tekee tietokantaohjelmalla omaa "kortistoaan" omalle koneelleen ja henkilö B samalla tietokantaohjelmalla puolestaan omalle koneelleen...niin niitä tietokantojahan ei voi millään yhdistää...vai voiko ?

T:Sama poropeukalo

Grez [03.12.2012 00:49:07]

#

1) Toki alkuperäistä tietokantaa voi edelleen käyttää, mutta tietenkin ohjelma tarvitsee myös päivittää huomioimaan muuttunut sarake

2) En näe mitään syytä miksi niitä tietokantoja ei voisi helpostikin yhdistää. Toki mitään idioottivarmaahan ei pysty tekemään, koska idiootit on kekseliäitä. Jos esim. kaksi käyttäjää suunnittelee tietokantarakenteen tyhjästä niin niiden yhdistäminen olisi hankalampaa kuin jos tietokantarakenne olisi molemmilla sama.

erkki [12.12.2012 22:48:56]

#

Yritän nyt vastata puolestani, olen myös kysellyt paljon näillä sivuilla.
Eli jos minä nyt oikein ymmärrän kysymyksen 2 niin, et voi yhdistää eri kantoihin syötettyjä tietoja esim. muuten kuin siirtämällä molemmat kannat samaan koneeseen (jos ei ole verkkoa) ja tekemällä pieni ohjelman pätkän missä avaat molemmat kannat yhtäaikaa auki ja koodaamalla "add" komennolla lisäämään haluttuun kantaan toisesta kannasta kaikki syötetyt tiedot. Jos lähdetiedoissa on sellaista tietoa mikä pitää yhdistää olemassa olevaan kohdetietueeseen, niin silloin pitää käyttää "edit" komentoa ja selata kohdekantaa kunnes löytyy editoitava kanta ja sitten muuttaa tietueen sisältöä ja perään "update".

Arttut02 [19.12.2012 08:50:06]

#

Amatööri50 kirjoitti:

2. Sitten kiperä kysymys:

Jos henkilö A tekee tietokantaohjelmalla omaa "kortistoaan" omalle koneelleen ja henkilö B samalla tietokantaohjelmalla puolestaan omalle koneelleen...niin niitä tietokantojahan ei voi millään yhdistää...vai voiko ?

Voi yhdistää. Ongelmia voi tietysti tulla, jos/kun avaimien täytyy säilyä samoina tietokannoissa. Tällöin kannattaa avaimena käyttää GUIDia, tai jotain muuta yksilöivää tunnistetta, juoksevan numeron sijaan. Tämä vähentää huomattavasti mahdollisuutta samoihin avaimiin ja täten huomattaviin ongelmiin.

Esim. Sinun kannassasi on taulussa Auto id:llä 1 Mersu ja Omistaja-taulussa auton 1 omistaja on Veikko. Kaverin Auto-taulussa on id:llä 1 Lada ja Omistaja-taulussa auton 1 omistaa Pera. Jos kaikki taivaankappaleet on oikeassa asennossa ja 7 päivää -lehden horoskooppi lupaa huonoa, niin yhdistymisen jälkeen mersun omistaa Pera ja Veikko.

Toivottavasti tästä sekavasta esimerkistä ymmärsit mitä ajoin takaa :).

Vastaus

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

Tietoa sivustosta