[ JUDO_BLACK_BOY @ 08.07.2007. 14:28 ] @
Radim na programu u kome mi treba jos nekoliko funkcija.

Imam jedan Combo koji normalno kad se spusti meni treba da izlista iteme koje nudi e sada imam problem ja znam da napravim iteme tokom prgramiranja ali kako da se iz neke druge forme pravi upis i da on iz tog upisa pravi nove itemeuz pomoc kojih ce obavljati nove funkcije?

Potreban mi je brzi odgovor.
Hvala vam unapred.

[ Marko_L @ 08.07.2007. 14:46 ] @
Ako si želeo brz odgovor, onda si trebao jasnije da objasniš problem. Pravljenje upisa iz druge forme je širok pojam, i moraćeš da daš malo više detalja ako misliš da ti neko pomogne. Odakle zapravo trebaš da povučeš podatke ?
[ JUDO_BLACK_BOY @ 08.07.2007. 15:21 ] @
ovako postoji forma koja bi imala samo 2 text boxsa u kojima bi se recimu upisao ime firme i redni broj
baza je iz accessa (mdb) tako da ce se u kombo dodavati itemi iz mdb baze.

recimo baza se zove db1.mdb tabela se zove firma i u tabeli ima dva polja "ID" i "firme"
i sada kad kliknem na combo treba da mi izlista sve podatke koji se nalaze u polju 'firme'


jel sad jasnije?
[ Marko_L @ 08.07.2007. 15:38 ] @
Imaš dve varijante. Možeš da iskoristiš DBComboBox kontrolu koja je ista kao i obična, samo što podržava povezivanje na određeno polje iz baze, i izlistavanje podataka u istom. Druga varijanta je da očitaš rekordset red po red i da ručno smeštaš podatke u običan Combobox. Ne znam šta koristiš, ADO ili DAO, ali evo jednostavne procedure za popunjavanje Combobox-a koja koristi DAO
Code:
Private Sub DBFieldToCombo(dbPath As String, sTable As String, sField As String)
Dim db As Database
Dim dbrs As Recordset
Set db = OpenDataBase(dbPath)
Set dbrs = db.OpenRecordset("SELECT " & sField & " FROM " & sTable)
Do Until dbrs.EOF
DoEvents
Combo1.AddItem dbrs.Fields(0).Value
dbrs.MoveNext
Loop
dbrs.Close
db.Close
Set dbrs = Nothing
Set db = Nothing
End Sub

Predpostavljam da znaš kako trebaš da je pozoveš ;)
[ JUDO_BLACK_BOY @ 08.07.2007. 16:25 ] @
nisam se snasao nimalo

pazi ovako
baza se zove db3.mdb e sad podatke vude iz tabele firma i polje koja se takodje zove firma
izvini sto te maltretiram ali ako ti nije frka napisi mi kompletan kod molim te pa cu ja da pogledam nocas kad dodjem s posla samo da proradi
znaci imam vec upisane podatke u tom polju samo jos da ih combo izlista i to je to.
unapred hvala.
[ Marko_L @ 08.07.2007. 16:56 ] @
Pa eto, dao sam ti proceduru koja to radi, samo trebaš da je pozoveš i proslediš podatke. Recimo u Load eventu forme na kojoj ti se nalazi Combobox pozovi
Code:
Private Sub Form_Load()
Call DBFieldToCombo(App.Path & "\db3.mdb", "Firma", "Firma")
End Sub

i to bi trebalo da radi, naravno pod uslovom da ti se ComboBox zove Combo1 i da ti se baza nalazi na istom mestu gde i exe fajl. Ako to nije slučaj, samo izmeni potrebne podatke, tj. umesto App.Path stavi pravu putanju da baze, a umesto Combo1 upiši kako ti se zove ComboBox.
[ JUDO_BLACK_BOY @ 09.07.2007. 14:01 ] @
Private Sub DBFieldToCombo(dbPath As String, sTable As String, sField As String)
Dim db As Database 'Compile error: User-defined type not defined pokazuje mi tu gresku
Dim dbrs As Recordset
Set db = OpenDataBase
Set dbrs = db.OpenRecordset("SELECT " & sField & " FROM " & sTable)
Do Until dbrs.EOF
DoEvents
Combo1.AddItem dbrs.Fields(0).Value
dbrs.MoveNext
Loop
dbrs.Close
db.Close
Set dbrs = Nothing
Set db = Nothing
End Sub

database to crveno gore prijavljuje kresku kao sto sam ti gore napisao nisam pametan kako da je resim.

:(
[ Marko_L @ 09.07.2007. 16:21 ] @
Dodaj referencu na DAO. Odeš na Project > References i tamo nađeš Microsoft DAO 3.6 Object Library (ili koju već verziju DAO imaš) ili još jednostavnije, postavi Data kontrolu na formu, pa je obriši i ostaće ti referenca na DAO.
[ JUDO_BLACK_BOY @ 10.07.2007. 01:39 ] @
Hvala za ovo radi odlicno.