moi,
Josko tähän saisin apua, kun edellisen kyssärin kannsa on ollut aika hiljaista. Siis ADO-objektin yhteysasetukset.
Itselläni näin:
Ei tykkää ollenkaan CStr sanasta, ei tunnista sitä lain
Private Sub cmdShow5_Click() Dim i As Integer Dim myRS As New ADODB.Recordset 'Asetetaan yhteysasetukset Const CStr = PROVIDER=Microsoft.Jet.OLEDB.3.51; _ Data Source = C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;" 'Luodaan uusi recordset-objekti Set myRS = New ADODB.Recordset 'Asetetaan yhteisominaisuus myRS.ActiveConnection = CStr 'Avataan recordset, johon kuuluu kaikki 'tietueet customers-taulusta myRS.Open "Select * from customers" 'tutkitaan, onko recordset tyhjä If myRS.BOF And myRS.EOF Then MsgBox "Recordset is empty!", 16, _ "Empty recordset" Else 'Varmistetaan, että ollaan ensimmäisessä tietueesa myRS.MoveFirst For i = 1 To 5 MsgBox myRS.Fields("companyName"), _ vbInformation, "Company #" & i 'Siirrytään seuraavaan tietueeseen myRS.MoveNext Next 'Suljetaan recordset myRS.Close End If 'poistetaan objekti Set myRS = Nothing End Sub
Et voi käyttää CStr:ä muuttujana, sillä se on VB:n varattu sana. Muuttaa saamansa aineiston merkkijonoksi. Vaihda sen tilalle jokin toinen muuttujan nimi.
Dim d As Double Dim i As Integer 'Len-funktio kertoo merkkijonon pituuden. 'Lukujen kanssa Len-funktio palauttaa mitä sattuu... i = 345 d = 34.5678 MsgBox Len(i) 'palauttaa 2, mikä on väärin. MsgBox Len(CStr(i)) 'palauttaa 3, mikä on oikein. MsgBox Len(d) 'palauttaa 8, mikä on väärin. MsgBox Len(CStr(d)) 'palauttaa 7, mikä on oikein.
Aihe on jo aika vanha, joten et voi enää vastata siihen.