Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 3.400 pregleda

Najnovija ↓

Kako od tabele dobiti listu?? 27.10.2004. u 13:29 · pre 267 meseci #1
LM, imam običnu tabelu, npr. sa dve kolone: ID, i Item.

Kada odradim:

SELECT Item FROM Table;

Dobijem:

Item1
Item2
Item3
Item4

E sad, meni treba da dobijem ispis u ovakvoj formi (Access):
Item1, Item2, Item3, Item4.

Kako ovo da uradim? Da li moram da idem ručno (u VBA), preko recordset-a, pa kroz WHILE loop, metodom MoveNext da se krećem kroz recordset i pravim string spajanjem?
(Verovatno postoji fora u SQL-u za ovo, ali pitanje je vezano za Access, zato sam i postovao u ovaj forum)


Pozdrav i hvala unapred!
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Re: Kako od tabele dobiti listu?? 27.10.2004. u 15:18 · pre 267 meseci #2
Koliko ja znam, samo While loop i recordset pomaze. Bio bih srecan da me neko ispravi u ovom slucaju.

:-)
Re: Kako od tabele dobiti listu?? 27.10.2004. u 20:15 · pre 267 meseci #3
Pa ajde da te neko ispravi :)

Mislim da se funkcija zove GetString i sastavni deo je klase Recordset.

Ako se ne zove tako sigurno postoji potrazi.


Pozdrav Goran.

Potpis
JokeJunky :)

Mrzim sublimirane marketinske poruke.
Re: Kako od tabele dobiti listu?? 28.10.2004. u 09:04 · pre 267 meseci #4
Što je najbolje ova funkcija RADI!!!

Evo primera: za tabelu koja ima sledeće elemente:
Code:

Tabela
------
Item1
Item2
Item3
Item4


... i za sledeći kod:
Code:

   Dim rst As New ADODB.Recordset
   Dim Ispis As String
    
   rst.Open "SELECT * FROM Table", CurrentProject.Connection, adOpenStatic, adLockReadOnly
    If rst.RecordCount > 0 Then    Ispis = rst.GetString(adClipString, , , ",")
    End If

    MsgBox (Ispis)
    rst.close


...daje sledeći ispis:

Item1,Item2,Item3,Item4,

Primetite zarez na kraju, dakle ova komande ne "seče" ovaj field-delimiter na kraju, to izgleda mora ručno, preko left/mid/right funkcija. Ako ima neko neki drugi predlog, molim neka postuje.

Jedino što ne kontam čemu služi ovaj StringFormatEnum parametar (prvi u nizu, adClipString)? Nisam uspeo iz Helpa da provalim.

U svakom slučaju, odličan info! Po meni treba da ide u Access bazu znanja. Pozdrav i hvala!
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Re: Kako od tabele dobiti listu?? 28.10.2004. u 10:50 · pre 267 meseci #5
I hajde da postujem ovde rešenje za "trimovanje" tog zareza na kraju, iako je trivijalno, radi kompletnosti:

Code:

Ispis = Mid(Ispis, 1, Len(Ispis) - 1)


Znači, ako je Ispis imao sledeći sadržaj:

Item1, Item2, Item3, Item4,

Posle izvršene linije koda koja je navedena iznad, Ispis će biti:

Item1, Item2, Item3, Item4

Dakle, bez zareza na kraju. Pozdrav!
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Re: Kako od tabele dobiti listu?? 28.10.2004. u 11:46 · pre 267 meseci #7
Da, mada sam ja mislio da moze i preko trim funkcije, ali ne. Whatever, vazno je da radi.
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Re: Kako od tabele dobiti listu?? 28.10.2004. u 11:47 · pre 267 meseci #8
Ajde kad smo vec kod trimovanja:

Code:


Public Function StrLTrim(ByVal vVrednost As String, Optional vSta As String = " ") As String
    vVrednost = LTrim(vVrednost)
        
    If vSta <> " " And (Left(vVrednost, Len(vSta)) = vSta) Then
        vVrednost = Right(vVrednost, Len(vVrednost) - Len(vSta))
    End If
    StrLTrim = vVrednost
End Function

Public Function StrRTrim(ByVal vVrednost As String, Optional vSta As String = " ") As String
    vVrednost = RTrim(vVrednost)
        
    If vSta <> " " And (Right(vVrednost, Len(vSta)) = vSta) Then
        vVrednost = Left(vVrednost, Len(vVrednost) - Len(vSta))
    End If
    StrRTrim = vVrednost
End Function

Public Function StrTrim(ByVal vVrednost As String, Optional vSta As String = " ") As String
    vVrednost = StrLTrim(vVrednost, vSta)
    StrTrim = StrRTrim(vVrednost, vSta)
End Function



I sada bi tvoj kod izgledao:
...StrRTrim(rs.GetString(....),",")

Valjda ne treba nikakvo objasnjenje :)

Pozdrav Goran.
Potpis
JokeJunky :)

Mrzim sublimirane marketinske poruke.
Re: Kako od tabele dobiti listu?? 28.10.2004. u 14:41 · pre 267 meseci #9
Volim kad me neko ovako ispravi pa naucim nesto novo. :-)

'Ajde sad neko (Mika, Gosha, Filjo) da sve ovo sumira u jednoj poruci i doda to u Bazu Znanja.

Hvala puno svoj trojici.

:-)
Re: Kako od tabele dobiti listu?? 28.10.2004. u 15:14 · pre 267 meseci #10
Done.
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme