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

Kako da mi se pokazivac u flexGridu prikaze

[es] :: Visual Basic 6 :: Kako da mi se pokazivac u flexGridu prikaze

[ Pregleda: 1808 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Kako da mi se pokazivac u flexGridu prikaze21.12.2007. u 18:46 - pre 199 meseci
Unesem neke informacije, i na njihovom osnovu treba da mi se pronadju ostali podaci vezani za taj. Sada posto na formi imam i msflexgrid koji prikazuje sve podatke, kako da kada se neki podatak pronadje da mi se selektuje taj red u tabeli (da poplavi :) ) ?
hvala
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze21.12.2007. u 22:37 - pre 199 meseci
Stavi da je FocusRect = flexFocusNone i SelectionMode = flexSelectionByRow
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze21.12.2007. u 22:45 - pre 199 meseci
Snaso sam se :). Nego imam jedan drugi problemcic...
Code:

.FindFirst "MOB = '" & prMob & "'" And .FindFirst "FIX = '" & prFix & "'"

Stalno mi prijavljuje typeMissMatch gresku, kada dodam And???
2.
Code:

Private Sub Image2_Click()
Call StartUp
    With rsImenik
        .Edit
            !ime = Text2.Text
            !prezime = Text3.Text
            !Fix = Text4.Text
            !mob = Text5.Text
        .Update
        Image2.Visible = False
        lstInfo.Clear
        MsgBox ("Podaci su uspesno promenjeni")
    End With
End Sub

Ovako ja sam nasao neki red u tabeli koji mi je trebao, i njega sam stavio u listBox, zatim taj red razbijem na 5 delova kako bih svaki mogao pojedninacno da editujem u pojedniacnom textBox-u, to je OK, ali kada kliknem na izmenu (kod odozgo) ono mi preko prvog reda u tabeli postavi potpuno nove podatke. Pa sam dosao na ideju da idem kao gore .findfirst ...and..and..end da mi nadjebas taj red i da samo njega edituje, jer kako je to novo dugme on ne znam gde se pokazivac ranije nalazio pa ga je stavio na prvu poziciju.
Ima li mozda nacin da kada nadjem neki red da zapamtim njegovu poziciju u tabeli (loc% = taPozicija) pa da kasnije to iskoristim da bih nasao pravi red?
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze21.12.2007. u 23:15 - pre 199 meseci
1. FindFirst je procedura, što znači da nema povratnu vrednost, tako da ne možeš imati logičlu operaciju AND nad 2 procedure, tako da je trebalo:
Code:

.FindFirst "MOB = '" & prMob & "' AND FIX = '" & prFix & "'"


2. Jako si nejasno opisao ovaj deo problema, ali sam shvatio tvoj problem. Rešenje je u par stvari koje trebaš drugačije da uradiš:

a) Nemoj FlexGrid puniti vezivanjem na rekordset, već ručno - red po red
b) U proceduri punjenja za svaki red iskoristi RowData() da bi upisao ID od tvog reda iz baze
c) Nakon izvršenja procedure FIND treba samo da protrčiš kroz grid i nađeš onaj RowData(index) koji ima vrednost = ID trenutnog reda rekordseta koji si našao

To ti je prepričano, ako se ne snađeš uploaduj projekt i bazu - nemam nameru da ti sve uradim od samog početka, daj samo da ga dovršim

Dosta mi je jedan čika Zormar (neka se ne ljuti, to ja za njegovo dobro).
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze21.12.2007. u 23:22 - pre 199 meseci
Resio sam deo problema na neki svoj cudan nacin :). Evo ga code dole
PS
to je verovatno najgore napisan kod ikad, ali nesto takvo mi traze u skoli sta da radim :), a na svako "why" dobijem "what" :)
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 13:27 - pre 199 meseci
Prijatelju, pogledao sam pazljivo tvoj projekat, mogu ti reci da ti lepo ide zasad.

Nije tako malo posla, imao bih dosta toga da dodam, izmenim ili uklonim - trebalo bi mi ceo dan za tako nesto, a nemam toliko vremena. Ovo nemoj da shvatis kao kritiku, kao sto rekoh jako ti lepo ide i vidi se da brzo napredujes.

Ono sto bih ti odmah preporucio je da sklonis one datakontrole jer ti uopste ne trebaju - sve ionako radis iz koda, sto je ispravan pristup.

Sve najbolje!
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 16:08 - pre 199 meseci
Code:

With rsImenik
        .MoveFirst
        .FindFirst "ID='" & Int(Text24.Text) & "'"
        .Delete
        .Update
            Text18.Text = ""
            Text19.Text = ""
            Text20.Text = ""
            Text21.Text = ""
            Text22.Text = ""
            Text23.Text = ""
            Text24.Text = ""
                MsgBox ("podaci su izbrisani")
                    lstImenik.Clear
                    FillTable

Nisam hteo da nacinjem novu temu i ovako se sirim ko virus :)
ID iz baze mi je tipa integer u Text24 mi se nalazi broj "3" recimo ali nece da ga upakuje u ID opet type mismatch?
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 16:21 - pre 199 meseci
Kad upisujes kriterijum kod brojeva ti ne treba apostrof (')
Code:

.FindFirst "ID=" & Int(Text24.Text)
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 19:14 - pre 199 meseci
tnx ostala mi je samo jos jedna stvar. Sta ovde treba da promenim da bih koristio SQL iskaz, recimo ako hocu da nadjem ime:
SELECT * FROM IMENIK WHERE IME LIKE "IVAN*"
Code:

If srcCombo.Text = "ime" Then
        prIme = UCase(srcTxt.Text)
            With rsImenik
                .MoveFirst
                .FindFirst "IME = '" & prIme & "'"
                    If .NoMatch Then
                        MsgBox ("nema podataka za ove vrednosti")
                    End If
                        Do While Not .EOF
                            If !IME = prIme Then
                                glavniBroj = !ID
                                    red = rsImenik!ID & "%" & rsImenik!IME & "%" & rsImenik!PREZIME & "%" & rsImenik!TELFAX & "%" & rsImenik!MOB & "%" & rsImenik!ADRESA & "%" & rsImenik!GRAD
                                    lstImenik.AddItem (red)
                                .MoveNext
                            Else
                                .MoveNext
                            End If
                        Loop
            End With
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 19:52 - pre 199 meseci
Code:

.FindFirst "IME LIKE '%" & prIme & "%'"
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 21:54 - pre 199 meseci
Nece tako recimo ako u imenu pise "pera " onda nece da ga nadje, a ako pise "pera" oce.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 22:00 - pre 199 meseci
A da probas
Code:

.FindFirst "IME LIKE '*" & prIme & "*'"
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 22:04 - pre 199 meseci
To sam probao, nece
...cekaj samo da mi proradi nesto da okacim ceo rad da ako mozes vidis sam
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 22:17 - pre 199 meseci
Mislio sam da koristis ADO, pa sam ti zato stavio opciju sa %, ali sad sam se setio da u ADO nema FindFirst() sto znaci da koristis DAO, a kod DAO je * dzoker karakter, ali kod FindFirst metode je onda verovatno moguca samo prefiks pretraga, znaci:
Code:

.FindFirst "IME LIKE '*" & prIme & "*'"

mada se nesto ne secam da sam imao takvih problema kada sam radio sa DAO - da li si proverio?
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 22:23 - pre 199 meseci
Ma nema leba kapiram da bi po ovome ako samo ukusam "ER" nasao "PERA" ali nece, cak sta vise kad idem kroz debug odvrti ceo kod ali ne uradi sta treba ??? :)
Da li mozes da pogledas fajl odozgo?
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 22:33 - pre 199 meseci
Pogledao sam, naravno - radi ;)

FindFirst ti je lepo vracala NoMatch = False, ali si kod ispitivanja vrednosti polja trazio ne po LIKE kriterijumu nego = pa on nikada nije bio zadovoljen. Evo ti ispravka za Find po imenu, a ti primeni na ostala polja:
Code:

If srcCombo.Text = "ime" Then
   
      prIme = UCase(srcTxt.Text)
            
      With rsImenik
         .MoveFirst
         .FindFirst "IME LIKE '*" & prIme & "*'"
         If .NoMatch Then
            MsgBox ("nema podataka za ove vrednosti")
         End If
            Do While Not .EOF
                If !IME Like "*" & prIme & "*" Then
                    glavniBroj = !ID
                        red = rsImenik!ID & "%" & rsImenik!IME & "%" & rsImenik!PREZIME & "%" & rsImenik!TELFAX & "%" & rsImenik!MOB & "%" & rsImenik!ADRESA & "%" & rsImenik!GRAD
                        lstImenik.AddItem (red)
                    .MoveNext
                Else
                    .MoveNext
                End If
            Loop
         End With
         
    ElseIf srcCombo.Text = "prezime" Then
...



OVO JE BIO PROBLEM:
Code:

If !IME = prIme Then

A TREBA:
Code:

If !IME Like "*" & prIme & "*" Then


 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 22:38 - pre 199 meseci
He..he daaaa... meni kad debuger ne prijavi gresku ja ne mogu ni da je nadjem lol. Tnx
btw kako ti se sad cini jel bolje nego pre :)?
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Kako da mi se pokazivac u flexGridu prikaze22.12.2007. u 22:44 - pre 199 meseci
Mislim da si ti lep primer drugima u tom smislu da se vidi koliko covek puno nauci za kratko vreme kada samostalno resava probleme, a samo kad udari glavom o zid potrazi pomoc na net-u.

Sto se tice same aplikacije, obrati paznju pri testiranju na kriticne situacije (slucaj kad nema podataka u tabeli, tzv nulti slucaj) i za svako stanje ispitaj sve moguce akcije koje si omogucio korisniku. Inace, ja nisam ljubitelj skrivanja i prikazivanja kontrola na formi, tako da ne volim da vidim puno kodnih linija gde je uglavnom visible = true ili visible = false, vec gledam da drugacije organizujem elemente ekrana.

Samo napred, imas podrsku od mene.

P.S.

Skloni onu data kontrolu, ne treba ti
 
Odgovor na temu

[es] :: Visual Basic 6 :: Kako da mi se pokazivac u flexGridu prikaze

[ Pregleda: 1808 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

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