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

DISTINCT zackoljica

[es] :: Visual Basic 6 :: DISTINCT zackoljica

Strane: 1 2

[ Pregleda: 4469 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon DISTINCT zackoljica25.01.2012. u 16:54 - pre 148 meseci
Imam tablicu ulaz_repromaterijala. Ta tablica ima negde oko 25polja, razlicitih tipova (text,number itd). Medjutim iz jednog polja iz tablice zelim izvuci sadrzaj (tekst) i prikazati ga u vise combo-a ali tako da prikaze samo jedan rezultat u slucaju da se u bazi ponavlja vise puta taj isti tekst i za to sam koristio


Code:

SQL = "SELECT DISTINCT artikal FROM ulaz_repromaterijala;"
...
Combo1.AddItem rs("artikal")
Combo1.ItemData(BrojacArtikala) = Round(CDbl(rs.Fields.Item(0).Value), 2)


moze li pomoc oko toga, gde gresim,
u ovom slucaju on bi trebao izbaciti sav sadrzaj polja "artikal" ali po jedan kom.
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica31.01.2012. u 08:54 - pre 148 meseci
Probaj ovako:

Code:

SQL = "SELECT DISTINCT artikal FROM ulaz_repromaterijala;"

Combo1.Clear
For BrojacArtikala=0 to rs.RecordCount-1

    if BrojacArtikala=0 then
        rs.MoveFirst
    else
        rs.MoveNext
    endif
    
    Combo1.AddItem rs.Fields.Item(0).Value 
    'Combo1.ItemData(BrojacArtikala) = BrojacArtikala

next BrojacArtikala



Sa DISTINCT si povukao samo nazive artikala, tako da je rs u stvari tabela sa samo jednom kolonom, što ti dođe da je rs.Fields.Item(0).Value u stvari artikal.
Combo.ItemData(ListIndex) predstavlja neku LongInteger vrednost, i obicno služi da u nju turiš primary key iz baze, ili neki redni broj(bolje primary key u multiuser okruženjima od rednog broja)

Ono što si ti verovatno želeo je:
Code:

SQL = "SELECT DISTINCT ID,artikal FROM ulaz_repromaterijala;


i tada bi imao kao rezultat tabelu=rs koji ima dve kolone ID,Artikal, pa bi išlo:
Code:

    Combo1.AddItem rs.Fields.Item(1).Value
    Combo1.ItemData(BrojacArtikala) =rs.Fields.Item(0).Value



Vodi računa da kada ovo radiš, Property SORTED treba da bude FALSE! da bi ID ili Šifra ili šta već nalegla na zapis koji si zadnji stavio u combobox, jer sorted zna da izmeša :)
I naravno ograničenje ComboBox-a na 32K artikala (ako je u opšte i bitno)...
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica01.02.2012. u 17:00 - pre 147 meseci
sve sto sam zeleo je da u combo prikazem podatke iz odredjene tabele i odredjenog polja

ovako sam resio

Code:
SQL = "SELECT DISTINCT artikal FROM ulaz_repromaterijala WHERE artikal;"
Set rs = conn.Execute(SQL)
If rs.EOF Then
    closeconn
    Exit Sub
End If
Do Until rs.EOF
BrojacArtikala = BrojacArtikala + 1

'////////////////////////////////////////////////
Combo1.AddItem rs.Fields("artikal").Value
'///////////////////////////////////////////////


:D hvala ovo za velicinu nisam ni imao pojma, sta znaci 32k, koliko je to kolicine?

da ne otvaram novu temu, treba mi pomoc oko sledeceg

Code:
SQL = "SELECT * FROM baza WHERE datum >='" & Format(DTPicker1.Value, "d.M.yyyy") & "' And datum <='" & Format(DTPicker2.Value, "d.M.yyyy") & "' ORDER BY datum;"


kako da u listview izlistam (izfiltriram) po datumu podatke po principu ''prikazi podatke od datuma do datuma"'
gde gresim, ovako radi ali lista samo po datumu, mesece i godine uopste ne uzima kao kriterijume?
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica01.02.2012. u 17:58 - pre 147 meseci
K=1024
M=1024*1024(1024K)

32K=32*1024

Ne radim sa ListView-om, ali ti imas jednu jako veliku gresku u dizajnu baze: Ti koliko vidim koristis stringove za date, ali jaaako loseg formata.
Ne znam koja je baza u pitanju, ali velika vecina popularnih baza ima promenjivu Date, ili DateTime (Ili obe) i one se koriste za skladistenje podataka o datumu.

Ne kazem da su stringovi lose resenje (naprotiv nekada je to sjajno resenje), ali onda format upisa datuma moras da menjas:

Recimo kada poredis brojeve: 1110>122
Kada poredis stringove: "1110"<"122"

Jer se porede slovne vrednosti. Zato treba koristiti dan i mesec kao dvocifrenu vrednost, i to permutovano:

Prvi februar (Now()):

"2012 02 01"
ili
"20120201"
ili
"2012/02/01"
ili
"2012-02-01"
ili
"2012.02.01"

ali kada krenes po jednom onda se i drzis toga pri svakom upisu, i svi redom engini ti to sortiraju kako treba.

Ti kada uporedjujes dva dana, prvo uporedis godinu, pa mesec pa onda na kraju dan. To u stvari radi obrnuti string, i zato se stavljaju dvocifrene oznake za dan i mesec jer:

3<21 ali "3">"21"

3<21 i "03"<"21"


;)






 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica01.02.2012. u 18:37 - pre 147 meseci
da ali ja sam vec odradio program sa ovim formatom, nije mi problem da promenim ali iziskuje dosta posla...
koristim access, e sad mozda greska, meni je polje 'datum' u acceess-u Text, a kroz vb6 koristim string

Code:
Dim inptSearch, inptSearch2 As String, rs As ADODB.Recordset
inptSearch1 = DTPicker1.Value
inptSearch2 = DTPicker2.Value

"SELECT * FROM baza WHERE datum >='" & inptSearch1 "' And datum <='" & inptSearch2 & "' ORDER BY datum;"


a DTPicker1 i DTPicker2 DateFormat odradim kroz Properties

e sada, nisam razumeo, sta je tvoj predlog? kako da ovo proradi sa ovim, a ako nece sta onda - konkretno ? ja znam kako sve to da prikazem u listview, ne znam kako da filter proradi, kazem ti cita mi samo dane, mesec i godinu uopste ne uzima/
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica01.02.2012. u 20:48 - pre 147 meseci
Au Miki,Miki...
Videcu ujutro na poslu nesto da ti smislim.

Jedno pitanje: Za datum (u bazi) vrsta polja(promenjiva) je text ili date?
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica01.02.2012. u 21:04 - pre 147 meseci
polje je Text?

i jos jedno pitanjce, dal' je moguce da ovol'ka muka treba za filter u combo-u (prilog)
Prikačeni fajlovi
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica01.02.2012. u 21:50 - pre 147 meseci
Citat:
miki987: polje je Text?

i jos jedno pitanjce, dal' je moguce da ovol'ka muka treba za filter u combo-u (prilog)



Da.
Iskompaliraj ovaj primer i probaj ga na Win7, mnoge AutoComplete solucije na ovu foru jednostavno pucaju.
Neke imaju on error resume next pa i nema mnogo stete,
a nekada te doceka RuntimeError
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica01.02.2012. u 22:21 - pre 147 meseci
:D nista ajde drugi put te cimam za filter combo a sutra vidi za ovo pa mi javi kako cu :D
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
178.217.12.*



+5 Profil

icon Re: DISTINCT zackoljica12.02.2012. u 16:48 - pre 147 meseci
ima li pomoci :D?
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica13.02.2012. u 07:49 - pre 147 meseci
Nema pomoći Miki...
Probao sam sa Date promenjivom, ali isto ti se hvata.

Jdnostavno, kada upoređuješ-sortiraš stringove to tako mora.
Ukoliko bi koristio date promenjivu u bazi, onda bi umesto apostrofa koristio tarabljike, ( # vs ' ) ali opet bi morao da menjaš sve zapise u bazi, odnosno da prebacuješ u #mm/dd/yyyy# format.

Šta god da odlučoš ne gine ti menjanje celog programa i svih zapisa u bazi...
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica26.02.2012. u 23:26 - pre 147 meseci
nista nisam shvatio, koje je resenje na kraju najbolje:

da promenljivu u bazi podesim na DATE
a da pretragu vrsim

Citat:
SQL="SELECT * FROM baza WHERE datum_od=' " & DTPICKER1 & " '" and datum_do=' " & DTPICKER2 & " '"


nije mi tesko da prebacim sve sada sam bas gledao nema bas puno posla, samo mi nije najjasnije kako da odradim pretragu
 
Odgovor na temu

steve585
Stevan Stanić
Project Manager
Zagreb

Član broj: 131815
Poruke: 281
*.adsl.net.t-com.hr.



+1 Profil

icon Re: DISTINCT zackoljica17.03.2012. u 20:12 - pre 146 meseci
šta ti nije jasno?
steve585
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica18.03.2012. u 03:13 - pre 146 meseci
postavio sam u access-u format datuma date ddmmyyy, u vb-u postavio kod

Code:
SQL="SELECT * FROM baza WHERE datum_od=' " & Format(DTPICKER1,"ddmmyyy") &  ' " and datum_do=' " & Format(DTPICKER2,"ddmmyyy") & " '"


u cemu je problem? prikaz za datum u ListView je

Code:

Format(DTPICKER1,"dd.mm.yyyy")
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica20.03.2012. u 16:38 - pre 146 meseci
nema odgovora... ajde da ne otvaram temu da ovo probam da resim na jedan drugi nacin.
kako da izvedem da mi pretragu "...SELECT * FROM table" table citam iz text1.text polja?
probao sam ovako

Code:
"...SELECT * FROM " '  & Text1.Text & ' "...;"
ali nece
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica20.03.2012. u 16:48 - pre 146 meseci
Jako ti je konfuzno pitanje...
Da li zelis da iscitas vreddnost iz "table" tabele, koja odgovara vrednosti Text1.Text,

ili ti se tabela bas zove Text1.Text?


Ako nesto pokusavas da uporedis sa necim, onda ti pored naziva tabele treba i naziv polja u toj tabeli po kojem nesto trazis.
Evo Banalan primer:


Code:
"SELECT * FROM EliteSecurity WHERE User='" & Text1.Text & "'"


ili

Code:
"SELECT * FROM EliteSecurity WHERE User='Miki987'"

 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica20.03.2012. u 21:22 - pre 146 meseci
ovo prvo

dakle



Code:

"SELECT * FROM '" & Text1.Text & "'"  WHERE User";"


gde je Text1.Text

Code:

Text1.Text = "EliteSecurity"
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica21.03.2012. u 08:53 - pre 146 meseci
Reci mi molim te kako se ta tvoja tabela u bazi zove?
 
Odgovor na temu

miki987

Član broj: 208123
Poruke: 511
*.bitinfo.rs.



+5 Profil

icon Re: DISTINCT zackoljica21.03.2012. u 14:50 - pre 146 meseci
tablica, tablica1, tablica2, tablica3, tablica4...

Code:
"SELECT * FROM '" & Text1.Text & "'"  WHERE User";"


u zavisnosti sta je u Text1.Text (da li tablica, tablica1, tablica2, tablica3, tablica4...) treba da izvrsim punjenje u ListView
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: DISTINCT zackoljica22.03.2012. u 09:21 - pre 146 meseci
Gledaj ovako Miki, ajmo po redu....
jedno po jedno, da se vratimo lepo osnovama i malo engleskog jezika:


Code:
<SELEKTUJ> sve <IZ> tablica <GDE JE> NazivPolja=<VREDNOST>


je ekvivalentno sa


Code:
Upit="SELECT * FROM tablica WHERE NazivPolja='Miki'"


Kada SQL-u (bilo kojem) prosledjujesh neku textualnuu vrednost, ona mora biti naznacena da je to string uz pomoc znaka ' kojim oznacavas pocetak i kraj stringa.

Znaci ako bi hteo recimo iz neke tabele koja se zove ljudi iscitas sve vrednosti, gde se neko zove Recimo MIKI, to bi izgledalo ovako:

Code:
Upit="SELECT * FROM Ljudi WHERE Ime='Miki'"



Ali ako bi recimo zeleo da u vreme izvrsetka progranma (RunTime) odredish tu vrednost koju trazis, onda ti moze posluziti TextBox polje iz kojeg ucitas vrednost koju trazis, i ti u stvari tu pravish string/upit koji ces prosledjivati SQL-u.

Recimo:

Code:
Upit="SELECT * FROM Ljudi WHERE Ime='" & Text1.Text & "'"

 
Odgovor na temu

[es] :: Visual Basic 6 :: DISTINCT zackoljica

Strane: 1 2

[ Pregleda: 4469 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

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