Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL kysely accesissa (VB6)

mrkebab [14.06.2005 08:38:55]

#

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.

mrkebab [14.06.2005 09:54:23]

#

Tai näköjään tuo kysely ei onnistu DoCmd komennolla ?

Miten voin suorittaa ylläolevan kyselyn käyttämättä DoCmd komentoa ?

MiVi77 [14.06.2005 10:13:41]

#

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

mrkebab [14.06.2005 11:58:09]

#

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 :)

Vastaus

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

Tietoa sivustosta