Jag har olika funktioner och 2 olika db-kopplingar (2 dsn). Jag vill ha en sub som man anropar från funktionen som ordnar db-kopplingen, har ett ex som inte funkar..får fel med att rs inte är ett objekt... Ändra dina sista rader: Tyvärr inte får felet: Du måste deklarera Variabeln utanför din funktion/subrutina. Annars komer variabeln att uhöra existera utanför. Använde mig av ditt förslag...menProblem med DB-koppling
    
    
Sub dsnDB (sSql)
gConnect = "DSN=test;UID=sa;PWD="
Set cnConn = Server.CreateObject("ADODB.Connection")
Set gRs = CreateObject("ADODB.RecordSet")
cnConn.ConnectionString = gConnect
cnConn.Open strDSN
gRs.CursorType = adOpenForwardOnly
gRs.LockType = adLockReadOnly
gRs.ActiveConnection = cnConn
gRs.Open(sSql)
exit sub
End sub
---------------------------
Function getTest (strTest)
  
sSql = "SELECT * FROM Test "
dsnDB (sSql)
  
set rs = gRs
Do While not rs.eof
bla bla
rs.movenext
Loop
end function
--------------------------
Varför??
Tacksam för tips..Sv: Problem med DB-koppling
    
    
set rs = gRs  'ta bort denna rad
Do While not rs.eof     'ändra rs till gRs här
bla bla
rs.movenext               'ändra rs till gRs här
Loop
Detta borde funka
/HMLSv: Problem med DB-koppling
    
    
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: 'gRs'Sv: Problem med DB-koppling
    
    
Testa med:
<code>
Dim gConnect
Dim gRs
Sub dsnDB (sSql)
    Set cnConn = Server.CreateObject("ADODB.Connection")
    cnConn.ConnectionString = "DSN=test;UID=sa;PWD="
    cnConn.Open strDSN
    Set gRs = CreateObject("ADODB.RecordSet")
    gRs.CursorType = adOpenForwardOnly
    gRs.LockType = adLockReadOnly
    gRs.ActiveConnection = cnConn
    gRs.Open(sSql)
End sub
'---------------------------
Function getTest (strTest)
    sSql = "SELECT * FROM Test "
    dsnDB (sSql)
  
set rs = gRs
    Do Until rs.eof
        'bla bla
        rs.movenext
    Loop
end function
</code>
Men jag tycker din kod ser lite konstig ut. JAg skulle nog skrivit så här:
<code>
Function OpenConnection()
    Set OpenConnection = Server.CreateObject("ADODB.Connection")
    OpenConnection.Open strDSN
End Function
Function OpenRecordSet(Connection, SQL)
    Set OpenRecordSet = CreateObject("ADODB.RecordSet")
    OpenRecordSet.Open Sql, Connection, adOpenForwardOnly, adLockReadOnly
End Function
'---------------------------
Function getTest (strTest)
Dim rs
Dim Conn
    Conn = OpenConnection()
    rs = OpenRecordSet(Conn, "SELECT * FROM Test")
    Do Until rs.eof
        'bla bla
        rs.movenext
    Loop
    rs.Close
    Set rs = Nothing
    Conn.Close
    Set Conn = Nothing
End Function
</code>Sv: Problem med DB-koppling
    
    
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01B6)
Objektet stöder inte egenskapen eller metoden.: 'rs.eof'
 ???