Just nu i M3-nätverket
Jump to content

Trubbel med Recordset i VB


Marvin

Recommended Posts

Hejsan,

jag sitter och försöker skriva en db-app i vb 6 (sp3). Just nu så sliter jag mitt hår med följande knepighet.

I nedan listade fyra exempel så genererar sista raden i varje exempel fel nummer 13, ”Type Mismatch”.

Min fråga är rätt och slätt; ”Varför i hela helvetet gör den det?”.

 

Dessa deklarationer finns i de tre första försöken;

Dim wrkJet As Workspace

Dim db As Database

Dim qdfQuery As QueryDef

Dim rstTemp As Recordset

Dim strSQL As String

 

’Försök Ett

Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)

Set db wrkJet.OpenDatabase(gstrDataBase, True)

strSQL = "SELECT * FROM Konton"

Set qdfQuery = db.CreateQueryDef("KontoQ", strSQL)

Set rstTemp = db.OpenRecordset("KontoQ")

 

’Försök 2

Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)

Set db wrkJet.OpenDatabase(gstrDataBase, True)

Set rstTemp = db.OpenRecordset("SELECT * FROM Konton")

 

’Försök 3

Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)

Set db wrkJet.OpenDatabase(gstrDataBase, True)

strSQL = "SELECT * FROM Konton"

Set qdfQuery = db.CreateQueryDef("KontoQ", strSQL)

Set rstTemp = qdfQuery.OpenRecordset()

 

’Försök 4

Detta har jag testat med den medföljande exempeldatabasen Northwind enl. följande;

(Observera att denna kod är direkt kopierad ur hjälpen!!!)

Dim wrkJet As Workspace

Dim dbsNorthwind As Database

Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)

Set dbsNorthwind = wrkJet.OpenDatabase("Northwind.mdb")

Set rstTemp = dbsNorthwind.OpenRecordset ("SELECT * FROM Employees", dbOpenForwardOnly)

 

Tacksam för eventuella lösningar eller förslag på sådana.

/Anders

Link to comment
Share on other sites

  • 3 weeks later...

Jaa du,

 

Jag aldrig användt varken Workspace eller QueryDef, men jag kan lova dig att följande fungerar:

 

Private Sub Form_Load()

 

Dim Db As Database

Dim Rs As Recordset

Dim DbName As String

Dim Query As String

 

'Lägg databen i en sträng

DbName = "C:\Northwind.mdb"

'Lägg SQL queryn i en sträng

Query = "SELECT * FROM EMPLOYEES"

 

'Öppna databasen( databasnamnet, shared/exclusive, read-only, ev. lösenord )

Set Db = OpenDatabase(DbName, False, True, "MS Access;PWD=""")

'Öppna recordsettet

Set Rs = Db.OpenRecordset(Query)

 

'Test att skriva ut första posten

Text1.Text = Rs.Fields(1)

 

End Sub

 

 

Mvh. Glenn

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...