Teen VB2010 tietokantasovellusta ja saan virheviestin: The Microsoft Office Access database engine cannot find the input table or query 'mdb'. Make sure it exists and that its name is spelled correctly.
Private Sub NA_hae_testi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NA_hae_til_tar.Click Dim strSql As String = "SELECT * FROM testi_4_2002.mdb" Dim strPath As String = "provider=Microsoft.ACE.OLEDB.12.0 ;" _ & "Data Source = C:\testi-data\testi_4_2002.mdb" Dim data_adapteri As New OleDb.OleDbDataAdapter(strSql, strPath) Dim data_taulu As New DataTable Dim X As Integer = 0 Dim Z As Decimal = 0D Dim rivimaara As Integer = 0 Dim yhteensa As Double = 0 rivimaara = data_taulu.Rows.Count data_adapteri.Fill(data_taulu) For X = 0 To data_taulu.Rows.Count - 1 yhteensa += Convert.ToDecimal(data_taulu.Rows(X)("28_HINTA")) Next Label31.Text = yhteensa data_adapteri.Dispose() MsgBox("valmis") End Sub
mistä voisi löytyä virhe ?
MOI erkki!
Vika on sql lauseessa elikäs sulla on tietokanta jonka nimi on testi_4_2002.mdb ja on ihan varmaa ettei ko. tietokanta, eikä mikään muukaan Access-tietokanta, voi sisältää taulua jonka nimi on testi_4_2002.mdb (Accessin nimeämissääntö ei hyväksy taulun nimeen lainkaan pistettä).
Ok, tämä olikin sitten taas (luonnollisesti) ihan uutta, VB6:lla kun väänsi näitä niin siellä kuitenkin oli SQL kyselyissä tuo tarkenne (mdb) erotettuna pisteellä.
Täytyypä tutkia.
MOI taas erkki!
Anteeksi vaan, mutta nyt puhuit kyllä pahasti potaskaa! Koodisi SQL kysely ei toimi myöskään VB6/DAO/Access ympyröissä vaan palauttaa täysin saman virhekoodin.
OK, muistan sitten väärin.
Jos kanta kuitenkin on *.mdb, niin miten sitä pitäisi kutsua SQL lausekkeessa ?
Nea
Oli aika typerä juttu tuo meikäläisen sql lauseke, olin laittanut database nimen! taulun nimen sijaan, kun korjasin sen niin pelittää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.