GGimboMedlem sedan dec. 20001 626 inlägg Frågan#1 Hejsan,
har en databafunktin som ser ut så här och som finns i filen dB.asp som inkluderas i sidan:
filen Db.asp
<%
function OpenDb()
Set Connect = Server.CreateObject( "Adodb.Connection" )
Connect.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath( "sokvagen" )
Connect.ConnectionString = "Data Source='" & MdbFilePath & "'"
Connect.open
end function
%>
och som jag sedan kallar
filen index.asp
Call OpenDb ()
SQL = "Select * FROM ..."
set rs = connect.execute(SQL)
if rs.eof then
response.write "tomt"
end if
och jag får felmeddelandet :
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''
men när jag tar bort call OpenBd() rfån sidan och kopierar innehållet i funktionen så fungerar allt??
PalleMedlem sedan apr. 20003 174 inlägg
Call OpenDb ()
Du anropar en sub här, inte en funktion. Därför får du felmeddelande.
GGimboMedlem sedan dec. 20001 626 inlägg ok, jag ändrade function openDb() till sub openDb() men får samma felmeddelande
@ndersMedlem sedan juni 200032 967 inläggDu har gjort objektet lokalt till subben / funktionen, det existerar alltså inte utanför.
Prova att dimma objektet utanför/ovanför subben. Alternativt; låt funktionen returnera connectionobjektet.
@ndersMedlem sedan juni 200032 967 inläggDessutom: man kan absolut använda Call för köra en funktion, men då kan man inte ta hand om eventuellt returvärde.
Mvh
GGimboMedlem sedan dec. 20001 626 inlägg jag testade att dimma openDB ovanför funktionen men fick detta felmeddelande då:
Kompileringsfel i Microsoft VBScript (0x800A0411)
Namnet har omdefinierats.
du menade väl med att jag skulle skriva till:
dim openDb strax över själva funktionen?
eller menade du i filen där jag kallar på själva funktionen?
@ndersMedlem sedan juni 200032 967 inläggNej, dimma objektet, inte funktionsnamnet.
GGimboMedlem sedan dec. 20001 626 inlägg ok man TACKAR anders det funka fin fint nu