Du har nog inte satt någon referens till ADO.
Gå in i References i Projectmenyn och bocka för Microsoft ActiveX Data Objects 2.1 Library så skall det nog funka sedan.
Mvh
/SB
8 svar · 446 visningar · startad av cefalk
Hej!
Jag försöker köra följande kod:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Set objConn = CreateObject("ADODB.Connection")
objConn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Windows2000\Joakim\VisualBasic\db.mdb")
Set dbs = CreateObject("ADODB.Recordset")
Set dbs.ActiveConnection = objConn
Dim rst As Recordset
Set rst = dbs.OpenRecordset("Select * From MinTabell;")
rst.Close
objConn.Close
Run-time error: 438
Object dosen´t support this property or method
Vad har jag gjort för fel?????
Hur lägger jag in App.Path i sökvägen till db´n?
Du har nog inte satt någon referens till ADO.
Gå in i References i Projectmenyn och bocka för Microsoft ActiveX Data Objects 2.1 Library så skall det nog funka sedan.
Mvh
/SB
Den är förbockad, det är version
"Microsoft ActiveX Data Objects 2.6 Library" som jag har. Jag har försökt allt, men inget fungerar....
Jag tror inte att version 2.6 har stöd för Jet. Prova med att använda en tidigare version (2.5 eller 2.1) om det finns en sådan i din lista. Annars så måste du skriva en annan kopplingssträng. Tyvärr vet jag inte i detta nu hur en sådan skall se ut...
Eftersom du instansierar objektet med "late-binding" så behöver du ingen referens till ADO över huvudtaget, det är bara när du använder "early-binding". Skillnaden är alltså:
Early:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
dim rsObj as adodb.recordset
set rsObj = new adodb.recordset
Late:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
dim rsObj as object
set rsObj = createobject("adodb.recordset")
Earlybinding är det som är snabbast och enklast att arbeta med. Den inkluderar då typbibliotek från den referens du sätter.
Latebinding fungerar så att VB letar i registret efter "ADODB.recordset" och hittar där en hänvisning till vilken DLL som ska användas.
Stödet för Jet ligger inte i ADO utan i vilken provider du använder för att koppla dig mot databasen, i detta fallet OLEDB, som stödjer JET.
Eftersom du använder OLEDB med ADO ska du använda "open" för att köra ett recordset. (om du använder early-binding så får du alltid upp en lista på tillgängliga objekt)
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
set rst = dbs.open("select * from MinTabell")
Jag rekommenderar dig dock att använda early-binding med dina objekt (om du inte ska återanvända samma objekt-variabel till flera olika objet förstås).
Hoppas det hjälper!
------------------
Fredrik Klarqvist
f.klarqvist@spray.se
http://server.webwerkstaden.se/fredde/
[Redigerat av fredrik den 07 sep 2001]
Tack för ditt svar, men nu är det så att jag rörde till allting....
Kan du inte lägga ut en liten kodsnutt till mig där hela rasket är med. Då enda från början med connect och allt annat som ska vara med. Så kanske det blir lättare för mig att se helheten i det hela.
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Set objConn = CreateObject("ADODB.Connection")
objConn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Windows2000\Joakim\VisualBasic\db.mdb")
Set rst = CreateObject("ADODB.Recordset")
Set rst.ActiveConnection = objConn
rst.Open "Select * From MinTabell;"
rst.Close
objConn.Close
------------------
/emission
If you see someone without a smiley, give them your colon.
Tack för hjälpen nu fungerar det skitbra.
En annan liten fråga. Vad behöver den datorn installerat för att man ska kunna köra ett program med databaskopplingar?
Den behöver ADO, som installeras med mdac_typ.exe. www.microsoft.com/data