Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Listboxiin tietoja?

Sivun loppuun

juku [16.10.2004 17:51:35]

#

Miten saisi haettua tietokannasta jonkin kentän kaikki tiedot listboxiin?

tuomas [16.10.2004 20:03:27]

#

1. Ei jooko näitä "tehkää mulle tällänen ja tällänen koodi joka tekee niin ja näin."
2. Auttaisi asiaa jos kertoisit minkälainen tietokanta.

juku [16.10.2004 20:35:39]

#

Access tietokantassa ovat etunimi ja sukunimi taulut. Haluaisin hakea tietokannasta kaikki etunimet kerralla listboxiin. Saan kyllä yhteyden tietokantaan (kokeilin sitä text-kentän avulla), mutta mitään en saa näkyviin listboxiin.

tuomas [16.10.2004 21:26:51]

#

Listpoksiin saa lisättyä tavaraa näin:

list1.additem ja_tähän_tulee_se_data_jonka_haluat_listpoksiin

juku [16.10.2004 21:39:33]

#

Kiitos! Mulla oli = liikaa.

juku [17.10.2004 00:09:15]

#

Mikä vielä mättää? Yritän hakea etunimeä napsauttamalla kaikki henkilöt, joilla on sama sukunimi lstSuku listaan. Antaa virheeksi: vähintään yhdelle pakolliselle parametrille ei ole annettu arvoa

Private Sub lstEtu_Click()
' tyhjenntään lista aluksi
    lstSuku.Clear
    ' laitetaan listaindeksi osoittamaan listaluetteloon
    ListIndex = lstEtu.Text
    ' listaindeksin mukaan haetaan etunimiä vastaavat sukunimet
    Dim SQLALL As String

    Set rsNimi = New ADODB.Recordset
    'SQL haettu lause, joka tallennetaan muuttujaan SQLALL
     SQLALL = "SELECT * FROM sukunimi WHERE etunimi=ListIndex;"
    rsNimi.Open SQLALL, cn, adOpenKeyset, adLockOptimistic
    rsNimi MoveLast
    'siirtää tulostusjoukon osoittamaan ensimmäistä alkiota
    rsNimi.MoveFirst

    Do While Not rsNimi.EOF

        frmPäälomake.lstSuku.AddItem rsNimi.Fields(1)
        rsNimi.MoveNext
    Loop
End Sub

tuomas [17.10.2004 12:34:56]

#

Kerroppa vielä millä rivillä virhe on.

juku [17.10.2004 13:00:56]

#

tällä: rsNimi.Open SQLALL, cn, adOpenKeyset, adLockOptimistic

tuomas [17.10.2004 14:45:18]

#

Et anna tuolle rsNimi tarpeeksi parametrejä?
eli tuo

rsNimi.Open SQLALL, cn, adOpenKeyset,AdLockOptimistic, puuttuisiko_kenties_tästä_vielä_jotain?

Ja tuo seuraava rivi

rsNimi MoveLast

kannattaa korjata muotoon:

rsNimi[l].[/l]MoveLast

juku [17.10.2004 15:52:41]

#

Ilmeisesti puutuu, mutta mikä se voisi olla?

rsNimi.Open SQLALL, cn, adOpenKeyset,AdLockOptimistic, puuttuisiko_kenties_tästä_vielä_jotain?

pahis [18.10.2004 01:07:25]

#

Tässä se virhe on:

SQLALL = "SELECT * FROM sukunimi WHERE etunimi=ListIndex;"

En tiedä mitä tuo ; tekee tuolla yleensäkkään, mutta jos haluat sisällyttää sql-stringiin muuttujan, syntaksi on suunnilleen tämännäköistä:

SQLALL = "SELECT * FROM sukunimi WHERE etunimi='" & muuttuja & "'"

juku [18.10.2004 17:35:24]

#

Joo. Haluaisin sisällyttää muuttujan ja muuttuja olisi nimenomaan tuo etunimi, jota on likattu listassa lstEtu. Eli SELECT lause hakisi sukunimet, joita vastaa sama etunimi.

pahis [18.10.2004 21:01:13]

#

Siinä tapauksessa tämän pitäisi toimia:

SQLALL = "SELECT * FROM sukunimi WHERE etunimi='" & lstEtu.Text & "'"

Ei jaksa kyllä tehdä projektia että kokeilis kaikkea, mutta jos jotakin: "ListIndex = lstEtu.Text", "rsNimi MoveLast" ja "rsNimi.MoveFirst" vaikuttaa turhilta, ja "Do While Not rsNimi.EOF" pitäis laittaa muotoon:

Do Until rsNimi.EOF Or rsNimi.BOF

Näyttää siltä että käytät ääkkösiä formien nimissä? Se ei ole kovinkaan hyvä idea. Vaikka toisinaan toimii, toisinaan ei.
Tietokantayhteys on varmaan luotu jossain muualla? Kun tuo Recordsetin syntaksi näyttää _niin_ oudolta...


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta