Imam bazu podataka za koju zelim da napravim formu za unos. Tabele su mi Bokser(BokserID#, ImePrezime) Mec(MecID#, PrviBokserID#, DrugiBokserID#, Rezultat) i imam dvostruku vezu od bokser ka mec da bi odatle kupio ID boksera, pri tom su ID boksera deo kljuca u tabeli mec, ovo je pojednostavljenje onoga sto zaista imam u bazi ali mislim da je dovoljno za moj problem. Sad sledece me muci: kad pravim formu za unos meca hteo bih da iz kombo boksa biram posatojece ID boksera a ada mi on u polju pored ispisuje njegovo ime na osnovu tog ID koji sam izabrao, znaci u kombu izaberem 2, on u polju pored automatski ispisuje Muhamed Ali (jer broj jedan je ipak Dzo Frejzer:))). Ja sam to uspeo za prvog boksera ali mi on onda u polje za ispis imena drugog boksera ispisuje ime ovog prvog i uopste ne konta da ja u tom drugom kombu biram neki drugi ID jer ne moze Ali sam protiv sebe boksovati:) Sad ili sam ja glup ili prog? It's probably me:)
Problem sa formom u Access-u
Zaključano
Zakačeno
Treba na događaj AfterUpdate prvog combo box-a upisati:
Me![NazivTvogComboBoxa].Requery
da bi se obnovio sadržaj combo box-a
Me![NazivTvogComboBoxa].Requery
da bi se obnovio sadržaj combo box-a
Problemi se baš znaju javljat kad na on change , after update želiš ispisat polja iz kombo boksa
najbolje po meni, je da na on klik staviš , pod pretpostavkom da ti je
prva kolona ID 2 kolona ime i prezime,
ispisimenatxt=kombobbox.column(1)
to govorim iz iskustva, nisam kasnije provjeravo zašto , ali zezalo me u nekim slučajevima
Getsbi , jel se i tebi kad to znalo desiti,
.requery ne pomaže... samo na ON CLICK dobro ispiše
Pozdrav
najbolje po meni, je da na on klik staviš , pod pretpostavkom da ti je
prva kolona ID 2 kolona ime i prezime,
ispisimenatxt=kombobbox.column(1)
to govorim iz iskustva, nisam kasnije provjeravo zašto , ali zezalo me u nekim slučajevima
Getsbi , jel se i tebi kad to znalo desiti,
.requery ne pomaže... samo na ON CLICK dobro ispiše
Pozdrav
Citat:
Trtko: Problemi se baš znaju javljat kad na on change , after update želiš ispisat polja iz kombo boksa........to govorim iz iskustva, nisam kasnije provjeravo zašto , ali zezalo me u nekim slučajevima.....
Moguće je da se to dešava, odnosno da do događaja AfterUpdate uopšte ne dođe prilikom korišćenja combo-box-a. Onda je verovatno najbolje napisati na On Click, pošto se taj događaj sigurno izvršava. Nemem prečesto problem da mi je potreban requery oko dva combo box-a sa istim izvorom podataka. Razlog je verovatno sledeći:
Radi totalne automatizacije izbegavam korišćenje “čas miš-čas tastatura”, te na nivou forme postavljam osobinu Key Preview = Yes, a na događaj On Key Down combo box-a koristim metodu Dropdown. Nešto ovako otprilike:
Private Sub PartnerID_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyDown: Me![PartnerID].Dropdown
End Select
End Sub
Potom koristim donju kursorsku strelicu za otvaranje combo box-a. Tako je korišćenje miša svedeno na minimum. Tamo gde to ima smisla, postavkom ograničenja ne dozvoljavam ulazak u sledeće polje (On Enter) ako prethodno polje nije popunjeno.
Sve u svemu, mislim da se u većini slučajeva može izbeći situaciju da requery uopšte bude potreban. Možda u ovom i ne leži pravi odgovor ali mi je iskustvo takvo.
Citat:
Getsbi:Private Sub PartnerID_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyDown: Me![PartnerID].Dropdown
End Select
End Sub
Select Case KeyCode
Case vbKeyDown: Me![PartnerID].Dropdown
End Select
End Sub
Evo biću iskren, meni je nekad trebalo da explodiram combo box, ali nisam znao kako
Code:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then ' vbKeyDown -> Svako slovo je bitno :)
If Me.ActiveControl.ControlType <> acComboBox Then Exit Sub
Me.ActiveControl.Dropdown
End If
End Sub
Na ovaj način nećeš morati da programiraš svaki combo box
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 40 Then ' vbKeyDown -> Svako slovo je bitno :)
If Me.ActiveControl.ControlType <> acComboBox Then Exit Sub
Me.ActiveControl.Dropdown
End If
End Sub
Potpis
Ozbiljan i odgovoran mladić
Hvala.
Isprobaću ovo čim stignem.
Zar nije jednostavnije koristiti proceduru za slučaj On Got Focus uz eventualnu proveru željenog uslova:
Code:
Private Sub PartnerID_GotFocus()
If Me.DataEntry = True Then
Me.PartnerID.Dropdown
Else
End If
End Sub
Private Sub PartnerID_GotFocus()
If Me.DataEntry = True Then
Me.PartnerID.Dropdown
Else
End If
End Sub
Ljudi mene ovo i dalje muci. Sad sam postavio da mi polje IDBokser1 ne bude combobox (samo sam ga prevukao iz tabele Mec) a polje u koje treba da ispise ime sam preko expression buildera upisao sledece "=IDBokser1.ImePrezime.OnClick" i to polje mi je Text, i ovo ne radi. Dajte objasnjenje za ovo kao za pocetnika. Znaci imam polje u koje upisujem ID koji vec postoji u tabeli Bokser(BokserID#, ImePrezime) i sada hocu da mi on posle unetog ID broja u polju pored koje je Text ispise njegovo ime na osnovu tabele Bokser, a ja popunjavam preko forme tabelu Mec.
@ Catch 22
Što se tiče događaja, slažem se da je On GotFocus udobniji ali iskusni operateri traže da oni upravljaju eksplodiranjem Combo box-a te je vbKeyDown logično rešenje. (Često se dešava da je na stolu desetak i više dokumenata vezanog za istog partnera, pa treba samo pretrčati preko polja combo box-a i potvrditi raniji izbor bez otvaranja liste, jer u tom slučaju ona zna da smeta.)
@ laden
Bilo bi efikasnije da si zakačio svoj primer. Našao bi se neko da ga pogleda i reši. Ovako već dva dana tapkaš u mestu.
Što se tiče događaja, slažem se da je On GotFocus udobniji ali iskusni operateri traže da oni upravljaju eksplodiranjem Combo box-a te je vbKeyDown logično rešenje. (Često se dešava da je na stolu desetak i više dokumenata vezanog za istog partnera, pa treba samo pretrčati preko polja combo box-a i potvrditi raniji izbor bez otvaranja liste, jer u tom slučaju ona zna da smeta.)
@ laden
Bilo bi efikasnije da si zakačio svoj primer. Našao bi se neko da ga pogleda i reši. Ovako već dva dana tapkaš u mestu.
Evo kačim i primjer kad kod izbora imena u kombo boksu dobro ne ispisuje.
dva ista imena (Trtko) a različiti ključevi i uvijek ispiše isti ključ.
dok kod izbora drugih radi dobro.
dva ista imena (Trtko) a različiti ključevi i uvijek ispiše isti ključ.
dok kod izbora drugih radi dobro.
izmenjeno 1 put, poslednji put Catch 22 03.11.2008. u 08:48
Izmene poruke
- Catch 2203.11.2008. u 08:48zapis iz teksta poruke
@Trtko Zato što nije pravilno odabran "Bound to column"

@Getsbi:
Problem padjuće liste kontroliše zadavanje uslova
Dao sam primer If Me.DataEntry=True, ali to može da bude i bilo šta drugo...
If Me.PartnerID>0 Then
Else
Me.PartnerID.Dropdown
...
Obično postavim F4 za otvaranje liste, F5 za unos novih podataka u tabelu koja je povezana sa Combo boxom itd...

@Getsbi:
Problem padjuće liste kontroliše zadavanje uslova
Dao sam primer If Me.DataEntry=True, ali to može da bude i bilo šta drugo...
If Me.PartnerID>0 Then
Else
Me.PartnerID.Dropdown
...
Obično postavim F4 za otvaranje liste, F5 za unos novih podataka u tabelu koja je povezana sa Combo boxom itd...
huuuuuuh , hvala Catch
to se desi kad ne razmišljam, ono znam da je prikaz jedno a odabir drugo
al da bi ga to zezalo ????
zapravo desi se samo kad su dva ista podatka u komboboksu , sve druge dobro prikaže
čovjek se uči dok je živ
to se desi kad ne razmišljam, ono znam da je prikaz jedno a odabir drugo
al da bi ga to zezalo ????
zapravo desi se samo kad su dva ista podatka u komboboksu , sve druge dobro prikaže
čovjek se uči dok je živ
... pa Combo Box se vezuje uvek za numeric polje (ID... najpoželjnije za polje koje je PK, indexirano, unique...)
Evo primera sa vezama i jednom formom. Sada mi radi za polje ImePrezime i ispisuje mi ime od BokserID1 ali kako da ubacim jos jedno polje ImePrezime u koje bi mi ispisivao ime od BokserID2?
Ja bih prvo u tabeli Mec dodao ValidationRule, na nivou tabele koje kaze [Bokser1ID]<>[Bokser2ID]
To ce da spreci svaku mogucnost greske, na nivou tabele.
Sto se tice combo boxova, ti bi hteo da izaberes BoksrID i da ti se pored pokaze ime i prezime, za obojicu boksera.
Moze, bez i jedne linije koda. Vidi zakaceni primer. Mozes da biras ime =. dobices ID akko treba, mozes da biras ID =. dobices ime kako treba. Mozes da pokusas da stavis da Ali boksuje protiv Alija ali neces uspeti.

To ce da spreci svaku mogucnost greske, na nivou tabele.
Sto se tice combo boxova, ti bi hteo da izaberes BoksrID i da ti se pored pokaze ime i prezime, za obojicu boksera.
Moze, bez i jedne linije koda. Vidi zakaceni primer. Mozes da biras ime =. dobices ID akko treba, mozes da biras ID =. dobices ime kako treba. Mozes da pokusas da stavis da Ali boksuje protiv Alija ali neces uspeti.
Hvala puno svima na pomoci!
Ali problemi se nastavljaju:) Sad ako imam dva kombobox-a hteo bih da izbor u prvom suzi moje opcije u drugom. Npr. Kombo1-Kategorija boksera i kada tu izaberem kategoriju onda da mi u Kombo2-Daje izbor samo onih boksera koji pripadaju toj kategoriji a ne sve boksere. Evo ga primer dole.
Ali problemi se nastavljaju:) Sad ako imam dva kombobox-a hteo bih da izbor u prvom suzi moje opcije u drugom. Npr. Kombo1-Kategorija boksera i kada tu izaberem kategoriju onda da mi u Kombo2-Daje izbor samo onih boksera koji pripadaju toj kategoriji a ne sve boksere. Evo ga primer dole.
Citat:
laden: Hvala puno svima na pomoci!
Ali problemi se nastavljaju:) Sad ako imam dva kombobox-a hteo bih da izbor u prvom suzi moje opcije u drugom. Npr. Kombo1-Kategorija boksera i kada tu izaberem kategoriju onda da mi u Kombo2-Daje izbor samo onih boksera koji pripadaju toj kategoriji a ne sve boksere. Evo ga primer dole.
Ali problemi se nastavljaju:) Sad ako imam dva kombobox-a hteo bih da izbor u prvom suzi moje opcije u drugom. Npr. Kombo1-Kategorija boksera i kada tu izaberem kategoriju onda da mi u Kombo2-Daje izbor samo onih boksera koji pripadaju toj kategoriji a ne sve boksere. Evo ga primer dole.
Nisam neki strucnjak, ali malopre sam gledao i cini mi se da na www.praktikum.rs imas bas takvo jedno resenje.
Pozdrav
Potpis
Druže Tito skrenuli smo s puta, sad nas jebe i Kurta i Murta