[ laden @ 01.11.2008. 01:25 ] @
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:)
[ Getsbi @ 01.11.2008. 06:31 ] @
Treba na događaj AfterUpdate prvog combo box-a upisati:

Me![NazivTvogComboBoxa].Requery

da bi se obnovio sadržaj combo box-a
[ Trtko @ 01.11.2008. 18:04 ] @
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
[ Getsbi @ 02.11.2008. 06:37 ] @
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.
[ domaci_a_nas @ 02.11.2008. 12:14 ] @
Citat:
Getsbi:Private Sub PartnerID_KeyDown(KeyCode As Integer, Shift As Integer)
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 Tražio sam explode proceduru Ali evo malo kraćeg koda ako već imaš KeyPreview:
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
[ Getsbi @ 02.11.2008. 17:26 ] @
Hvala. Isprobaću ovo čim stignem.
[ Catch 22 @ 02.11.2008. 21:14 ] @
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


[ laden @ 02.11.2008. 22:35 ] @
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.
[ Getsbi @ 03.11.2008. 05:24 ] @
@ 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.
[ Trtko @ 03.11.2008. 07:12 ] @
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.


[ Catch 22 @ 03.11.2008. 07:30 ] @
@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...

[Ovu poruku je menjao Catch 22 dana 03.11.2008. u 08:48 GMT+1]
[ Trtko @ 03.11.2008. 09:29 ] @
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
[ Catch 22 @ 03.11.2008. 10:10 ] @
... pa Combo Box se vezuje uvek za numeric polje (ID... najpoželjnije za polje koje je PK, indexirano, unique...)
[ laden @ 03.11.2008. 12:10 ] @
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?
[ Zidar @ 03.11.2008. 18:43 ] @
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.



[ laden @ 10.11.2008. 12:19 ] @
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.
[ blaki @ 22.11.2008. 16:25 ] @


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.


Nisam neki strucnjak, ali malopre sam gledao i cini mi se da na www.praktikum.rs imas bas takvo jedno resenje.

Pozdrav