Tietokonemaailman tyhmien kysymysten kerho

  • Keskustelun aloittaja Keskustelun aloittaja Timba79
  • Aloitettu Aloitettu
Voisin veikata, että ei ymmärrä päivämääriä tuossa muodossa, en ole varma kuitenkaan. Insertti näyttää oikealta muuten.
 
Onko tuon ainenro:n tietotyyppi varmasti sellainen, että se syö myös merkkijonoja(='a481') eikä vain pelkkiä numeroita? Entä voiko nuo päivämäärät varmasti syöttää noin, vai pitäisikö tuolle jotenkin kertoa, että kyseessä on ko. merkkijonosta luotava päivämäärä eikä vain ko. merkkijono, jota yritetään kantaan laittaa päivämäärän tilalle?

Helpottaisi, jos laittaisit noiden kaikkien taulujesi create table:t näkyviin tänne, niin niiden rakenne, tietotyypit ja riippuvuudet selviäisivät kaikkein parhaiten. Itse en ole kyllä Access:a ikinä käyttänyt, vaan lähinnä Oraclen kantojen kanssa puljannut, joten jos joku Access-spesifi juttu kyseessä, niin voi hyvin mennäkin ohi.

EDIT: Hidas :D.
 
CREATE TABLE KURSSI
( AINENRO CHAR(4) NOT NULL,
KURSSIKERTA SMALLINT NOT NULL,
OPETTAJANRO CHAR(4),
OSALLISTUJALKM SMALLINT ,
ALKUPVM DATE,
LOPPUPVM DATE,
CHECK (LOPPUPVM >= ALKUPVM),
PRIMARY KEY (AINENRO, KURSSIKERTA),
FOREIGN KEY (AINENRO)
REFERENCES AINE,
FOREIGN KEY (OPETTAJANRO)
REFERENCES OPETTAJA ) ;
tässä on tuo kurssi taulu.
Tuli muuten mieleeni että joskus nuissa päivämäärissä on toiminu myös tällanen tapa #1970/01/01#
 
Ainakin kurssikerta puuttuu insertistäsi ja se on mainittu not null:ksi ja on osa pääavaintakin, eli sille pitää antaa arvo. Onhan nuo annetut ainenro ja opettaja(ok, tämä on väkisin, kun haetaan select:llä) olemassa, koska niihin on molempiin vierasavainviittaus, joka kusee, jos ei niitä löydy omista tauluistaan. Eikö Access muuten anna mitään virheilmoitusta tuota insertiä yrittäessäsi?
 
tokihan siinä tulee semmoinen varoitus, joka sanoo jotain tyyliin olet lisäämässä uusia rivejä.... haluatko varmasti tehdä nämä muutokset
läpi se meni mutta kuten sanoin niin muutokset ei näkynyt tuolla taulussa. Tulikin mieleeni että pitäiskö joten päivittää se kyseinen taulu, painikkeissa löytyy nimittäin refreshiä sun muuta.
pitää vielä kokeilla...
 
Palauttaahan tuo sinun selectisi jotain? Eli kommentoi tuo insert-osuus pois ja aja pelkkä select-osa ja varmistu, että sieltä myös tulee tuloksena rivi. Koska jos tuo select ei palauta mitään, niin eipä sinne sitten insertoidakaan mitään. Eli esim. joku typo tuossa nimessä ja homma epäonnistuu jo siinä.

Eli tuleeko tälle tulosriviä:
select opettajanro, '2010-03-03', '2010-04-18', 'a481' FROM Opettaja
WHERE sukunimi='Testaaja' and etunimi='testi';
 
joo kyllä sieltä nuo tiedot pukkasi ku ajoin, tarkoittaako se sitten että tuo on lisätty tietokantaan vaikkei se jostain syystä näy?

edit. ihan esimerkin vuoksi


INSERT INTO Aine(vastuuopettaja, ainenro, nimi, suorituspisteet)
SELECT opettajanro, 'a481', 'Lumikenkien hoito', 3 FROM Opettaja
WHERE sukunimi='Testaaja and etunimi='Testi';

tein tuommosen aineen, ajoin, ei näkynyt mitää taulussa.
Klikkasin ylävalikosta olevasta painikkeesta refresh, ja blim sinnehän se tuli, mutta tämä toinen nyt kiukuttelee
 
joo kyllä sieltä nuo tiedot pukkasi ku ajoin, tarkoittaako se sitten että tuo on lisätty tietokantaan vaikkei se jostain syystä näy?
Ei sitä ole tietokantaan lisätty, kun se tarkoittaa, että tuo select toimii odotetusti.

Ehkä vika on sitten noissa päivämäärissä tuossa insertissäsi.
 
MENIHÄN SE SINNE.

se ei näköjään tykänny kun olin jättänyt insertistä kenttiä pois.
Ja jos jossakin kentässö ei ole tietoa niin pitää merkata NULL arvo siihen kohtaan.

anyway, kiitos paljo avusta :thumbs:
 

3 kpl M-Nutrition Anabolic Overdrive 6 kg

Orange - Sweet berry - Rasberry kiwi

-25%
Taas kysymys, anteeksi vain...
Kun tämän ajaa tulee error: operation must use an updateable query, eli mikäli ymmärsin oikein niin kyselyn on oltava päivitettävissä? Missähän vika lienee?

UPDATE Kurssi
set osallistujalkm=(select count(*) FROM Oppilas
where oppilas.postitmp='Helsinki') where ainenro='a481'
 
oppilas.postitmp muotoon postitmp, koska et ole antanut Oppilas taululle aliasta.
 
Toinen vaihtoehto on, että sillä käyttäjällä mikä ajaa tuota SQL:ää ei ole kirjoitusoikeuksia siihen access tiedostoon, jos esimerkiksi käytät tiedostoa ODBC-ajurin läpi?
 
Toinen vaihtoehto on, että sillä käyttäjällä mikä ajaa tuota SQL:ää ei ole kirjoitusoikeuksia siihen access tiedostoon, jos esimerkiksi käytät tiedostoa ODBC-ajurin läpi?

sori nyt tipuin kärryiltä, viitsisitkö valottaa hieman :)

tietokanta, mitä käytän ei ole omatekemä, vaan ns. harjoituksia varten tehty.
 
Eli käytätkö tietokantaa suoraan access ohjelmalla, vai jonkin toisen ohjelman läpi?
 
Varmista tietokoneen hakemistorakenteesta, että sinulla on muokkausoikeus access tiedostoon. Mutta sait insertin menemään läpi? Tällöin pitäisi oikeuksien olla kunnossa.
 
mulla on kyllä onnistunut muut yksinkertaisemmat update komennot mutta tässä tulee onkelmia.
kiitoksia kuitenki kovasti avusta, susta ja jyllistä oli paljo apua. Tärkein opetus ei tänään varmaankaan ollut komentojen toimimaan saaminen vaan se että TAJUAA mitä tekee :)
kyllä pakkikselta löytyy järkeviä tyyppejä
 
Voiko tän Windows Vistan itsestäänsammuttamisen kytkeä jotenkin pois? Eli kun meen AFK niin jonkun aikaa yksin oltuaan kone menee lepotilaan, jolloin ware ei kulje :(
Ihan sieltä virranhallinta-asetuksista laitat lepotilaan, horrokseen ja kiintolevyjen sammutukseen kaikkiin "Ei koskaan".
 

Latest posts

Suositut

Back
Ylös Bottom