Mine lehekülje lõppu

Prinditav versioon  
Autor: Pealkiri: MS Access: Probleemid SQL-i ja macrodega.
Rauno266
Veterantoru
*****



Registreerunud: 18.7.2009
Asukoht: Tallinn
Kasutaja on eemal


[*] postitati 13.4.2012 16:31
MS Access: Probleemid SQL-i ja macrodega.
Pöördun Accessigurude poole suure murega, millele võib olla väga lihtne lahendus. Nimelt mul on andmebaasis 2 tabelit: Etendused, Ajakavad.
Tabelite veerud:
Etendused: etenduse_id, etenduse_nimi, saali_id, hind
Ajakavad: ajakava_id, toimumisaeg, etenduse_id

Mida ma teha tahan, oleks see, et ma teen kaks comboboxi. Ühes on etenduste nimed ja siis teises kuvatakse toimumisajad vastavalt valitud etendusele. Olen juba SQL-ga möllanud pool tundi ja otsinud googlest sarnaseid muresid, aga millegipärast jäävad antud lahendused mulle segaseks. Oskab keegi selges eesti keeles mulle selgitada, kuidas see query välja näeks. Või pean VBA appi võtma selle jaoks?

[Muudetud: 14.4.2012 Rauno266]
Vaata kasutaja profiili Külasta kasutaja kodulehte Vaata kasutaja MSN Messengeri aadressi
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 13.4.2012 17:34
Mis Accessi vormi loogikasse (ehk kuidas ühe kombo muutmine teist muudab) puutub, siis jään vastuse võlgu; SQL on iseenesest aga imelihtne:

select * from ajakavad
where etenduse_id=<valitud etenduse id>
order by toimumisaeg
Vaata kasutaja profiili
0
Rauno266
Veterantoru
*****



Registreerunud: 18.7.2009
Asukoht: Tallinn
Kasutaja on eemal


[*] postitati 13.4.2012 17:59
No sellest ma saan aru jah, et SQL peab selline tulema, aga küsimus ongi selles, et kuidas ma jätan meelde selle etenduse id, mis ma comboboxist valisin. Olen juba proovinud igasugu VBA lahendusi ka ja mitte ükski neist ei paista töötavat. Mõningastel juhtudel viskas ette akna, kus küsis parameetrit. Kui andsin selle parameetri ette etenduse_id näol, siis anti mulle isegi sobivad kellaajad, aga see oli vaid ühekordne ning formi jätkuval kasutamisel rohkem kellaajad ei muutunud loetelus.
Vaata kasutaja profiili Külasta kasutaja kodulehte Vaata kasutaja MSN Messengeri aadressi
0
Rauno266
Veterantoru
*****



Registreerunud: 18.7.2009
Asukoht: Tallinn
Kasutaja on eemal


[*] postitati 13.4.2012 18:02
Probleem lahendatud :D. Kirjutasin lühikese macro, mis uuendas teist comboboxi peale seda, kui olin valinud esimesest comboboxist etenduse ära. ühest reast piisas.
Private Sub Combo1_change()
Me!Combo2.Requery
End Sub

Aga suured tänud kaasa mõtlemast.
Vaata kasutaja profiili Külasta kasutaja kodulehte Vaata kasutaja MSN Messengeri aadressi
0
DonQ
Administraator
********

Avatar

Administraator

Registreerunud: 16.7.2009
Asukoht: Saturn
Kasutaja on eemal

Tuju: Kerge puhkus

[*] postitati 13.4.2012 18:06
Seda ma kahtlustasin, et probleem pole SQLis.
Minu meelest päris kena näide: http://blogannath.blogspot.com/2011/04/microsoft-access-tips-tricks...

/edit/
Nojah, see värskendamine on liiga elementaarne tegevus, et selle peale kohe tulla :)

[Muudetud: 13.4.2012 DonQ]
Vaata kasutaja profiili
0
Rauno266
Veterantoru
*****



Registreerunud: 18.7.2009
Asukoht: Tallinn
Kasutaja on eemal


[*] postitati 13.4.2012 19:29
Jaa :smilegrin:. Ma unustasin, et kui võtta mitmest erinevast tabelist infot korraga, siis form ei ole selfupdating. Suutsin ise ka selle blogikande peale sattuda, aga liiga elementaarsed lahendused jäävad tähelepanemata :D
Vaata kasutaja profiili Külasta kasutaja kodulehte Vaata kasutaja MSN Messengeri aadressi
0
Rauno266
Veterantoru
*****



Registreerunud: 18.7.2009
Asukoht: Tallinn
Kasutaja on eemal


[*] postitati 14.4.2012 11:16
Nii tekkinud on uus mure. Tahtsin määrata ühe välja sisu sql-ga ja ei leidnud sellist kohta nagu Row Source, mis comboboxidel on kenasti olemas. Sain aru, et pean selle määrama kuidagi macro sees. Aga kuidas saab macro sees queryt käivitada? Kirjeldan ehk probleemi veidi täpsemalt:
Nimelt mul on broneeringute tabel, kus on väli istekoha_id, lisaks on mul 3 comboboxi toimumisaeg, rida, koht. Ma tahaksingi, et kasutades nendest kolmest comboboxist valitud kirjeid teeksin query, mis näeks välja umbes selline:

Kood:
SELECT Istekohad.istekoht_id FROM Istekohad WHERE Istekohad.ajakava_id=[Forms]![BroneeringudF]![Ajakava] AND Istekohad.rida=[Forms]![BroneeringudF]![Rida] AND Istekohad.number=[Forms]![BroneeringudF]![Koht];

RunSQL funktsioon ei tööta, sest see ei tunnista SELECT lauseid.

[Muudetud: 14.4.2012 Rauno266]

[Muudetud: 14.4.2012 Rauno266]
Vaata kasutaja profiili Külasta kasutaja kodulehte Vaata kasutaja MSN Messengeri aadressi
0

  Mine lehekülje algusse

Ainus õige foorum!
XMB Forum Software © 2001-2009 XMB Meeskond