Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Onnistuukohan tämä?

Konna [28.06.2006 08:28:01]

#

Tässä pari riviä koodista...

muuttuja = "nimi"
Kayttaja = adoRecordset!muuttuja

Eli miten koodi pitäisi muotoilla huutomerkin jälkeen. Ei toimi yllämainitulla tavalla. Tässä tapauksessa ei voi laittaa huutomerkin perään suoraan "nimi" -tekstiä koska muuttujan arvo muuttuu.

Gaxx [28.06.2006 11:30:07]

#

Nyt en kyllä pääse juonesta mukaan. Paras kun kerrot, mitä koodisi pitäisi tehdä.

Konna [28.06.2006 12:19:46]

#

Tuota adoRecordset! jälkeistä tekstiä pitäisi päästä muokkaamaan muuttujan kautta. Eli kun tietokannassa on vaikka tietueet Nimi1, Nimi2 ja Nimi3 niin rivien vähentämiseksi ajattelin josko se onnistuisi noin.

Eli jos ei laiteta muuttujaa tulee seuraavasti:

Kayttaja1 = adoRecordset!nimi1
Kayttaja2 = adoRecordset!nimi2
Kayttaja3 = adoRecordset!nimi3

ja silmukassa olis tarkoitus kasvatettaa muuttujien perässä olevaa numeroa. Mutta mutta huutomerkin jälkeen ei tunnu menevän mikään muu ku juuri tietokannas olevan tietueen nimi. Eli miten sitä vois kasvattaa silmukas?

Vähä ehkä vaikee selkonen :) Kiitos kuitenki...

Merri [28.06.2006 12:44:25]

#

Hmm, eikös tietokantojen kanssa voi käyttää SQL-kutsuja? Semmoista käyttämällähän ongelma ratkeaisi leikiten.

BadSource [28.06.2006 13:44:22]

#

Tämä nyt on ihan mutua, kun en jaksa(?!) tarkistaa/kokeilla, mutta projektisi menee reisille tuossa, kun yrität käyttää muuttujaa huutomerkin jälkeen. Muuttujan käyttö on Big No No, sillä jos haluat jonkin tietyn arvon (käytät huutomerkkiä) recordsetistä, siihen on pakko viitata kiinteästi.

Kierrä kiinteä viittaus For Each-rakenteella.

Dim Kayttajat() As String
Dim solu As Field

ReDim Kayttajat(0)
'seuraava silmukka käy yhden rivin läpi recordsetistä ja taulukoi löytämänsä nimi-solut Kayttajat-taulukkoon
For Each solu In adoRecordset.Fields
    If InStr(1, solu.Name, "nimi") > 0 Then
        If Kayttajat(Ubound(Kayttajat)) <> "" Then _
          ReDim Preserve Kayttajat(Ubound(Kayttajat) + 1)
        Kayttajat(Ubound(Kayttajat)) = solu.Value
    End If
Next solu

Konna [29.06.2006 09:50:36]

#

Kiitos BS! Näyttäis toimivan toi viittauksen kierto.

Vastaus

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

Tietoa sivustosta