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 Sub
Kokeilin 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 EndSub
Tää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.