/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Openrecordset
Fra : Morten Brynjolf


Dato : 18-04-01 20:52

Hej!

Hvorfor virker nedenstående ikke?

Function GetData()
Set DB = CreateObject("c:\internet.mdb")
SQL = "SELECT * FROM get2net"
Set RST = DB.Openrecordset(SQL)
End Function



 
 
Mila (18-04-2001)
Kommentar
Fra : Mila


Dato : 18-04-01 21:08

Uden at have set i hjælpen, så forekommer det mig som om, at du skal bruge
noget i retning af opendatabase i stedet for createobject.

Morten Brynjolf <morten@brynjolf.nu> skrev i en
nyhedsmeddelelse:9bkr87$ium$1@sunsite.dk...
> Hej!
>
> Hvorfor virker nedenstående ikke?
>
> Function GetData()
> Set DB = CreateObject("c:\internet.mdb")
> SQL = "SELECT * FROM get2net"
> Set RST = DB.Openrecordset(SQL)
> End Function
>
>



Kim Pedersen [vbCode~ (18-04-2001)
Kommentar
Fra : Kim Pedersen [vbCode~


Dato : 18-04-01 22:11

Hej Morten

> Hvorfor virker nedenstående ikke?
>
> Function GetData()
> Set DB = CreateObject("c:\internet.mdb")
> SQL = "SELECT * FROM get2net"
> Set RST = DB.Openrecordset(SQL)
> End Function

Det er simpelt at svare på :) Du forsøger at oprette en komponent ud fra en
database .. Og det er helt umuligt.. Du skal gøre sådan:

Function GetData()
Set DB = CreateObject("ADODB.Connection")
DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\internet.mdb"
SQL = "SELECT * FROM get2net"
Set RST = DB.Execute(SQL)
End Function

Hilsen/Best regards
Kim Pedersen, vbCode Magician Host
http://hjem.get2net.dk/vcoders/cm
ICQ: 62990889



Morten Brynjolf (19-04-2001)
Kommentar
Fra : Morten Brynjolf


Dato : 19-04-01 14:48

"Kim Pedersen [vbCode Magician]" <codemagician@nospam.get2net.dk> wrote in
message news:9bkvod$63l$1@sunsite.dk...

> Det er simpelt at svare på :) Du forsøger at oprette en komponent ud fra
en
> database .. Og det er helt umuligt.. Du skal gøre sådan:
> Function GetData()
> Set DB = CreateObject("ADODB.Connection")
> DB.Open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=c:\internet.mdb"
> SQL = "SELECT * FROM get2net"
> Set RST = DB.Execute(SQL)
> End Function

Mange tak..



Morten Brynjolf (19-04-2001)
Kommentar
Fra : Morten Brynjolf


Dato : 19-04-01 15:40


"Kim Pedersen [vbCode Magician]" <codemagician@nospam.get2net.dk> wrote in
message news:9bkvod$63l$1@sunsite.dk...
> Det er simpelt at svare på :) Du forsøger at oprette en komponent ud fra
en
> database .. Og det er helt umuligt.. Du skal gøre sådan:
>
> Function GetData()
> Set DB = CreateObject("ADODB.Connection")
> DB.Open "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=c:\internet.mdb"
> SQL = "SELECT * FROM get2net"
> Set RST = DB.Execute(SQL)
> End Function

Jeg var lidt for hurtig.

Hvordan springer jeg nu rundt i mit recordset og ikke mindst finder ud af
hvor mange records der?



Kim Pedersen [vbCode~ (19-04-2001)
Kommentar
Fra : Kim Pedersen [vbCode~


Dato : 19-04-01 20:20

Hej Morten

> Hvordan springer jeg nu rundt i mit recordset og ikke mindst finder ud af
> hvor mange records der?

Antal Records:

Set DB = CreateObject("ADODB.Connection")
DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\internet.mdb"
SQL = "SELECT * FROM get2net"
Set RST = DB.Execute(SQL)
MsgBox "Antal Poster: " & RST.RecordCount
Set RST = Nothing
Set DB = Nothing

"Springe rundt":

Do While Not RST.EOF
' Hop til næste post
RST.MoveNext
Loop

Du kan også bruge kommandoerne: MoveFirst, MovePrevious, MoveNext og
MoveLast

Hilsen/Best regards
Kim Pedersen, vbCode Magician Host
http://hjem.get2net.dk/vcoders/cm
ICQ: 62990889



Morten Brynjolf (20-04-2001)
Kommentar
Fra : Morten Brynjolf


Dato : 20-04-01 08:43

"Kim Pedersen [vbCode Magician]" <codemagician@nospam.get2net.dk> wrote in
message news:9bndl5$bdm$1@sunsite.dk...
> Antal Records:
>
> Set DB = CreateObject("ADODB.Connection")
> DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=c:\internet.mdb"
> SQL = "SELECT * FROM get2net"
> Set RST = DB.Execute(SQL)
> MsgBox "Antal Poster: " & RST.RecordCount
> Set RST = Nothing
> Set DB = Nothing

Hvis jeg bruger ovenstående SQL-sætning i Access får jeg en masse data, men
hvis jeg bruger ovenstående kode i Excel2000's VBA returnerers "Antal
poster" som "-1" hvilket med 100% sikkerhed ikke er korrekt.

> "Springe rundt":
>
> Do While Not RST.EOF
> ' Hop til næste post
> RST.MoveNext
> Loop

Virker fint og jeg kan i debugmode se at der loopes lige så mange gange som
jeg får records ved samme SQL-sætning i Access.

> Du kan også bruge kommandoerne: MoveFirst, MovePrevious, MoveNext og
> MoveLast

Kommandoerne RST.MoveLast og RST.MovePrevious returnerer følgende
fejlmeddelelse:

-
Run-time error '-2147217884' (80040e24)
Rowset does not support fetching backward.
-

Hilsen Morten



Kim Pedersen [vbCode~ (21-04-2001)
Kommentar
Fra : Kim Pedersen [vbCode~


Dato : 21-04-01 16:49

Hej Morten

> Kommandoerne RST.MoveLast og RST.MovePrevious returnerer følgende
> fejlmeddelelse:
> -
> Run-time error '-2147217884' (80040e24)
> Rowset does not support fetching backward.

Det er fordi du har åbnet recordsættet som ForwardOnly... Skal du kunne
hoppe tilbage igen kan du åbne det som SnapShot eller Dynamic.

Hilsen/Best regards
Kim Pedersen, vbCode Magician Host
http://hjem.get2net.dk/vcoders/cm
ICQ: 62990889



Morten Brynjolf (18-09-2001)
Kommentar
Fra : Morten Brynjolf


Dato : 18-09-01 09:40


"Kim Pedersen [vbCode Magician]" <codemagician@nospam.get2net.dk> wrote in
message news:9bsa5j$ssr$1@sunsite.dk...
> Hej Morten
>
> > Kommandoerne RST.MoveLast og RST.MovePrevious returnerer følgende
> > fejlmeddelelse:
> > -
> > Run-time error '-2147217884' (80040e24)
> > Rowset does not support fetching backward.
>
> Det er fordi du har åbnet recordsættet som ForwardOnly... Skal du kunne
> hoppe tilbage igen kan du åbne det som SnapShot eller Dynamic.

Og hvordan gøres det?



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste