Mikä seuraavassa koodissa on vialla ?
Private Sub Komento5_Click()
Dim kysely As String
kysely = "SELECT Taulu.[Nimi], Taulu.[sukunimi] " & _
"FROM Taulu " & _
"WHERE Taulu.[Maa]='Finland';"
DoCmd.RunSQL kysely
End SubKokeilin näinkin
DoCmd.RunSQL() kysely
Eka kokeilusta tulee virheilmoitus:
SuoritaSQL komento tarvitsee argumentin, joka muodostuu sql lauseesta.
Ja toisessa tapauksessa tulee virheilmoits jo kirjoittaessa.
Tai näköjään tuo kysely ei onnistu DoCmd komennolla ?
Miten voin suorittaa ylläolevan kyselyn käyttämättä DoCmd komentoa ?
Sub JetDBYhteys()
Dim strKanta As String 'Polku, mistä kanta löytyy
Dim JetDSAsetus As Recordset
Dim JetDB1 As Database
Dim wrkJet As Workspace
'Avataan Yhteys *.mdb tyyppiseen tietokantaan
Set wrkJet = CreateWorkspace("NewJetWorkspace", _
"admin", "", dbUseJet)
Set JetDB1 = wrkJet.OpenDatabase(strKanta)
sqlq1$ = "SELECT [Kenttä1], [Kenttä2]"
sqlq2$ = "FROM Taulu"
SQLQ$ = sqlq1$ & sqlq2$
'Suorittaa kyselyn
Set JetDSAsetus = JetDB1.OpenRecordset(SQLQ$,
dbOpenSnapshot)
If JetDSAsetus.RecordCount > 0 Then
JetDSAsetus.MoveFirst
Do Until JetDSAsetus.EOF
'Koodinpätkä
JetDSAsetus.MoveNext
Loop
End If
EndSubTäässä pätkä, josta voi lähteä liikkeelle
Ok, kiitos.
Olisin toivonut, että se olisi ollut hiukan "yksinkertaisenpaa" kun juuri aloitin sql:n opiskelun ja luulin, että olisin selvinnyt jollain helpolla tavalla kuten tuo DoCmd kysely :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.