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.
Nyt en kyllä pääse juonesta mukaan. Paras kun kerrot, mitä koodisi pitäisi tehdä.
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...
Hmm, eikös tietokantojen kanssa voi käyttää SQL-kutsuja? Semmoista käyttämällähän ongelma ratkeaisi leikiten.
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
Kiitos BS! Näyttäis toimivan toi viittauksen kierto.
Aihe on jo aika vanha, joten et voi enää vastata siihen.