Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

List box izrađen uz pomoć Visual Basica u Accessu

[es] :: Access :: List box izrađen uz pomoć Visual Basica u Accessu

[ Pregleda: 3193 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fanta
Fanta Genije

Član broj: 119794
Poruke: 118
*.cmu.carnet.hr.



Profil

icon List box izrađen uz pomoć Visual Basica u Accessu07.03.2007. u 22:42 - pre 209 meseci
Ili se bar meni tako čini, ali budući da je moj problem vezan uz jedno i uz drugo postaviću ovo pitanje pod oba dvije teme, pa gdje dobijem odgovor, nadam se da se moderatori nece ljutiti-.

O čemu se radi? Nedavno sam počeo izradio bazu podataka i za nju forme i moram priznati, radeći je naučio sam puno toga iz Accessa što nisam bio znao. Jedino čime nisam bio zadovoljan su određene forme koje mi služe za ispunjavanje podataka, te čitavo vrijeme trudim se da ih poboljšam.

Nedavno sam naleto na jedan primjer accessove baze koja je u sebi imala izrađen Listbox koji je omogučavao da se podaci premještaju iz jednog listboxa bilo povlačenjem, bilo dvostrukim klikom u drugi listbox. Ono što me je iznenadilo je da listbox nije bio izrađen uz pomoć klasičnih accessovih alata nego čisto uz pomoć koda. Mic, po mic, nakon određenog vremena proucavanja shvatio sam kako ću zamijeniti njegov izvor podataka koji je bio čisto par riječi uz pomoć AddItem sa izvorom podataka iz moje baze iz tablice T_Proizvodi, te da mi se prebacuju oni koje odaberem u drugi pokrajni listbox, a nedugo nakon toga sam uspio i da upišem podatke iz tog drugog listboxa u drugu tablicu koja je bila odredište, tj. u T_tvrtke_proizvodi.

Ali moj problem je u tome što kad sam vukao podatke iz tablice T_prroizvodi uspio sam samo izvući podatak T_Proizvodi.imeproizvoda, a meni uz njega treba i T_Proizvodi.idproizvoda. Kad sam pokusao da ga izvucem kao i T_Proizvodi.imeproizvoda, u listboxu su mi bili prvo ispisani svi T_Proizvodi.idproizvoda, a nakon toga T_Proizvodi.imeproizvoda

Ono što sam zaboravio napomenuti je da sam podatke prebacivao uz pomoć Recordseta, a ono što mi treba je da na bilo koji način, da u tablicu T_tvrtke_proizvodi kad unesem podatak T_tvrtke proizvodi.imeproizvoda da mi se doda i T_tvrtke_proizvodi.idproizvoda. Pokušao sam to napraviti i uz pomočć querija i uz pomoć recordseta cijeli dan, ali nikako nisam uspio.

U attachmentu saljem primjer onoga što sam dosada napravio i gdje sam stao, pa ako mi itko može pomoći biti ću mu zahvalan.
Prikačeni fajlovi
 
Odgovor na temu

Branko_S

Član broj: 130918
Poruke: 24
161.51.11.*



Profil

icon Re: List box izrađen uz pomoć Visual Basica u Accessu08.03.2007. u 08:29 - pre 209 meseci
U ovom primeru je korišćen "ActiveX Control" i kako sam autor kaže ovaj "FieldListControl" je deo "AccWiz.dll"
"Peter Walker
' http://www.users.bigpond.com/papwalker/
' I sent an Imex Grid from the AccWiz.dll to Peter Walker months ago.
' The project was forgotten until Peter contacted me in Feb.
' He had made headway in understanding the object model
' and how to insert the Control(s) directly from the DLL.
' The FieldListControl, also part of the AccWiz.dll
' is what interested me
Tebi treba malo više dokumentacije o ovoj klasi, potrebno je da pronađeš metodu, zapravo je to "property" u access-u kojim ćeš odrediti da tvoja kontrola ima dve ili više kolona. Posle toga ćeš metodom AddItem (ili kako će se već ta metoda zvati) imeproizvoda,(index kolone)ubaciti željene podatke. Naravno ovo će biti moguće jedino ako ovaj ""FieldListControl" poseduje pomenuti "property". Nadam se da sam bar malo pomogao!
 
Odgovor na temu

Fanta
Fanta Genije

Član broj: 119794
Poruke: 118
*.adsl.net.t-com.hr.



Profil

icon Re: List box izrađen uz pomoć Visual Basica u Accessu08.03.2007. u 10:29 - pre 209 meseci
Pa baš najbolje ne shvaćam, ali pokušaću naći na internetu ima li koji način da provjerim taj dll ili ti znaš kojim alatom bih ga mogao pogledati te po potrebi popraviti?
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
*.PPPoE-1451.sa.bih.net.ba.

Sajt: www.icentar.ba


+2 Profil

icon Re: List box izrađen uz pomoć Visual Basica u Accessu08.03.2007. u 10:57 - pre 209 meseci
Listo kontrola kao i Combo kontrola u Vb nemaju vise kolona nego samo jednu.
Postoje doduse neki OCX kontrole za list i cobo za vise kolona koji je napravljen kombinacijom data grida i comba.
Neznam dali ovaj tvoj ima tu opciju. To mozes provjeriti u browseru naredba bi trebala da bude col. Ako je nema onda i ne moze vjerovatno.

Ima jedna druga stvar a to je da si ovo mogao napraviti faleko lakse sigurno sa accessovim standardnim list boxom.
Accessov list box je daleko bolji cak i od datalist boxa koji se koristi u VB a i brzi je.
Dovoljno je da postavis 2 list boxa u lijevom rowsourcr neka bude ta tabela a u desnom prazno.
Odaberes columnCount 2 i ostalo vjerujem da znas te na vuci spusti napises kod koji ce ti generisati SQL upit na osnovu selektovanih podataka te taj SQL upises pod roesource drugog lista gdje hoces da se vidi.
zxz
 
Odgovor na temu

Fanta
Fanta Genije

Član broj: 119794
Poruke: 118
*.adsl.net.t-com.hr.



Profil

icon Re: List box izrađen uz pomoć Visual Basica u Accessu08.03.2007. u 12:24 - pre 209 meseci
Uspio sam riješiti problem uz pomoć update querija, hvala svima koji su mi se potrudili pomoći.
 
Odgovor na temu

Fanta
Fanta Genije

Član broj: 119794
Poruke: 118
*.adsl.net.t-com.hr.



Profil

icon Re: List box izrađen uz pomoć Visual Basica u Accessu12.03.2007. u 16:33 - pre 209 meseci
Evo nažalost prisiljen sam nastaviti ovaj topic, jer naišao sam opet na jedan dtugi problemčić, a ovaj put ima veze sa sadržajem lisbox-a. Poželio sam napraviti da korisnik može unošenjem slova preko textboxa, (koji se nalazi iznad listboxa) pronalazi taj sadržaj u listboxu.

Koliko sam skuzio najlakši način za to je preko API-a i čak sam pronašao dva primjera za to:
Code:
   1.
      Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
   2.
      Const LB_FINDSTRING = &H18F
   3.
      Private Sub Text1_Change()
   4.
          'Retrieve the item's listindex
   5.
          List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Text1.Text))
   6.
      End Sub 

A drugi primjer je sa funkcijom:

Code:

Code:
Option Explicit
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long

'Searchs a listbox for a matching string. Returns the listindex of the matching item.

Function ListboxFindString(strSearchString As String, lHwndListbox As Long) As Long
    Const LB_FINDSTRING = &H18F
    ListboxFindString = SendMessage(lHwndListbox , LB_FINDSTRING, -1, ByVal strSearchString)
End Function

Code:
Private Sub Text1_Change()
    Me.List1.ListIndex = ListboxFindString(Me.Text1, Me.List1.hWnd)
End Sub

Private Sub Form_Load()
    With List1
        .AddItem "Haresoftware"
        .AddItem "LocateSoft"
        .AddItem "EncodeSoft"
        .AddItem "IconSoft"

    End With
End Sub


Sad api funkcija kod mene postoji samo se zove apiSendMessage, a isto tako na samom početku je navedena i tražena konstanta.

Ono što nikako ne mogu postići (a vjerujte mi, pokušavam već 2 dana sve i svašta i sa listindexom,Itemdata, i nema sa cime nisam pokusao), ma kako god prilagođivao se ovom Api-u, bilo na prvi ili drugi način je da mi promjena(OnChange) u texbox-u utječe na taj listbox.

Može li mi tko pomoći, opet?

Prikačeni fajlovi
 
Odgovor na temu

[es] :: Access :: List box izrađen uz pomoć Visual Basica u Accessu

[ Pregleda: 3193 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.