webForumDet fria alternativet

konvertera asp/vbscript --> VbScript

14 svar · 635 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

:e
Hej!

Jag har följande kod som är en aspfil:

<%
Dim sSQL, objConn, objRS1, objRS2,  iStatus, sNote, sCategory, sName, sArtNr, sUnit, iPrice, iNextId, sArticleNumber, sArticleName, sList, iSupplierId

'Ange status; 0 = "synkroniserad med SPCS", 1 = "Inte synkroniserad mot SPCS"
iStatus = 0

'Notering
sNote = ""
'Pris
iPrice = 0

' Öppna databasen
' ***************
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = Application("sConn")
objConn.Open

sSQL = 		"SELECT tblArticle.articlenumber, tblArticle.articleName, tblArticle.articleUnit " &_
			"FROM tblArticle " &_
			"ORDER BY tblArticle.articlenumber"
			
Set objRS1 = Server.CreateObject("ADODB.Recordset")
objRS1.Open sSQL, objConn, 3, 1

If not objRS1.EOF then
	
	do while not objRS1.EOF
	
		sArticleNumber = objRS1("articleNumber")
		sArticleName = objRS1("articleName")
		sUnit = lCase(objRS1("articleUnit"))
		
		'Ta ut de två första tecknena i E-numret
		sList = left(sArticleNumber, 2)
		
		'Hämta kategorinamn mha sList
		Set objRS2 = objConn.Execute ("SELECT listName FROM tblList WHERE listNr = '" & sList & "'")
		
		If not objRS2.EOF then	
			sCategory = objRS2("listName")	
		End If

		objRS2.Close
		Set objRS2 = Nothing
		
		Set objRS2 = objConn.Execute ("SELECT nextId FROM UppdragNu.dbo.tblNextId WHERE [table] = 'tblArticle'")
		
		If not objRS2.EOF then	
			iNextId = cLng(objRS2("NextId")) 	
		End If
				
		objRS2.Close
		Set objRS2 = Nothing
		
		
		sSQL = 	"INSERT INTO UppdragNu.dbo.tblArticle ([Id], [Status], [Modified], [Nr], [Name], [Category], [Unit], [Price], [Note]) " &_
				"VALUES(" & iNextId & ", " & iStatus & ", getdate(), '" & sArticleNumber & "', '" & sArticleName & "', " &_
				"'" & sCategory & "', '" & sUnit & "', " & iPrice & ", '" & sNote & "')"
				Response.write sSQL
		'response.end
		objConn.execute sSQL,,128
		

		sSQL = "UPDATE UppdragNu.dbo.tblNextId SET nextId = nextId + 1 WHERE [Table] = 'tblArticle'"
		objConn.Execute sSQL,, 128
	
		objRS1.Movenext
	
	Loop

Else
	Response.write "Fel!"	
End if

objRS1.Close
Set objRS1 = Nothing

Response.write "Datat har lagrats!"
%>

Nu skulle jag vilja göra om den till en vbscriptfil som är körbar i windows. Detta är helt nytt för mig, så jag skulle vara glad om någon kunde sparka mig i rätt riktning.... ;)

Var hittar jag vbScript-referenser?
Finns det någon bra bok?

Mvh
Henrik

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#2

VBScript referenser finns en del. Jag brukar använda: http://www.devguru.com/technologies/vbscript/home.asp

Enda skillnaden mellan att använda ASP+VBScript och bara VBScript är att man inte använder context-switchar och kan inte använda ASP-objekten.

Så i ditt fall så skulle du först ta bort <%%>, använda CreateObject istället för Server.CreateObject, hårdkoda connectionsträngen eller hämta ut den på något annat sätt (istället för Application) och använda t.ex. MsgBox eller WScript.Echo istället för Response.Write.

devotionMedlem sedan jan. 20013 582 inlägg
#3

Okidoki.... :)

Tackar Erik!

Jag provar mig fram lite, så får vi se var jag hamnar....

Mvh
Henrik

devotionMedlem sedan jan. 20013 582 inlägg
#4

hmm, finns det någon käck editor, som du rekommenderar? Tänkte på färgkodning och sådant..

Mvh
Henrik

devotionMedlem sedan jan. 20013 582 inlägg
#5

Aha... Dreamweaver funkar tydligen med *.vbs-filer oxå... då kör jag med den...

devotionMedlem sedan jan. 20013 582 inlägg
#6

Jo det verkar ju funka fint med:


Dim sSQL, objConn, objRS1, objRS2,  iStatus, sNote, sCategory, sName, sArtNr, sUnit, iPrice, iNextId, sArticleNumber, sArticleName, sList, iSupplierId

'Ange status; 0 = "synkroniserad med SPCS", 1 = "Inte synkroniserad mot SPCS"
iStatus = 0

'Notering
sNote = ""
'Pris
iPrice = 0

' Öppna databasen
' ***************
Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=SQLOLEDB.1;Password=XXXXX;Persist Security Info=True;User ID=sa;Initial Catalog=IntranetSydostel;Data Source=.\sqlexpress"
objConn.Open

sSQL = 		"SELECT tblArticle.articlenumber, tblArticle.articleName, tblArticle.articleUnit " &_
			"FROM tblArticle " &_
			"ORDER BY tblArticle.articlenumber"
			
Set objRS1 = CreateObject("ADODB.Recordset")
objRS1.Open sSQL, objConn, 3, 1

If not objRS1.EOF then
	
	do while not objRS1.EOF
	
		sArticleNumber = objRS1("articleNumber")
		sArticleName = objRS1("articleName")
		sUnit = lCase(objRS1("articleUnit"))
		
		'Ta ut de två första tecknena i E-numret
		sList = left(sArticleNumber, 2)
		
		'Hämta kategorinamn mha sList
		Set objRS2 = objConn.Execute ("SELECT listName FROM tblList WHERE listNr = '" & sList & "'")
		
		If not objRS2.EOF then	
			sCategory = objRS2("listName")	
		End If

		objRS2.Close
		Set objRS2 = Nothing
		
		Set objRS2 = objConn.Execute ("SELECT nextId FROM UppdragNu.dbo.tblNextId WHERE [table] = 'tblArticle'")
		
		If not objRS2.EOF then	
			iNextId = cLng(objRS2("NextId")) 	
		End If
				
		objRS2.Close
		Set objRS2 = Nothing
		
		
		sSQL = 	"INSERT INTO UppdragNu.dbo.tblArticle ([Id], [Status], [Modified], [Nr], [Name], [Category], [Unit], [Price], [Note]) " &_
				"VALUES(" & iNextId & ", " & iStatus & ", getdate(), '" & sArticleNumber & "', '" & sArticleName & "', " &_
				"'" & sCategory & "', '" & sUnit & "', " & iPrice & ", '" & sNote & "')"
	
		objConn.execute sSQL,,128
		

		sSQL = "UPDATE UppdragNu.dbo.tblNextId SET nextId = nextId + 1 WHERE [Table] = 'tblArticle'"
		objConn.Execute sSQL,, 128
	
		objRS1.Movenext
	
	Loop

Else
	MsgBox "Fel!"	
End if

objRS1.Close
Set objRS1 = Nothing

MsgBox "Datat har lagrats!"

Men det känns som man gör saker i blindo.. Kan man inte få till lite räkneverk och felhantering och sådant... Så man ser vad som händer så att säga..

Mvh
Henrik

colioneMedlem sedan juni 20014 421 inlägg
#7

Du kan skapa dig en hta om du vill.

Säg vad exakt det är du vill ha för felhantering etc. så kastar jag ihop den åt dig. :)

devotionMedlem sedan jan. 20013 582 inlägg
#8

Men, weeeee.. du var en snäll prick! :D

Den felhanteringen jag tänkte på var om det av någon anledning inte går att skriva en post till databasen så ska inte scriptet avbrytas, utan bara få ett meddelande om att det inte gick att skriva just den posten.

Sen vet jag inte om det går att göra någon typ av dialog som visas när scriptet körs. där tex tid och antal poster visas...

..och vad betyder hta?

Mvh
Henrik

colioneMedlem sedan juni 20014 421 inlägg
#9

HTml Application. Kort sagt är det en HTML-kodad fil som med andra säkerhetsinställningar än en html fil. Du kan designa den hur du vill egentligen med html och css samt vbscript och JScript, men utan de varningar du får i IE.

http://msdn.microsoft.com/workshop/author/hta/overview/htaoverview.asp

devotionMedlem sedan jan. 20013 582 inlägg
#10

:)

Aha.. okej!

lägger man vbscriptet där i då? Hmm... du får gärna visa mer...

Mvh
Henrik

colioneMedlem sedan juni 20014 421 inlägg
#11

Här har vi en början på en hta-fil, med lite felhantering (rapporterar än så länge endast fel, inga positiva händelser). Självklart kan detta göras djupare och mer specifikt, samt kasta in en räknare etc.

Du kan ju PM:a mig lite mer information, eller kanske egen-ritade bilder på hur det ska se ut. :) Så kan vi komma fram till en lösning och sedan posta resultatet här så att folk får se det?

<html>
<!--********************************************************************
'*
'*  File:         	  wF.hta 
'*  Creator:	             Olle Lundberg 
'********************************************************************-->
<title>HTA för devotion (bättre titel kommer ;) )</title>

<HTA:APPLICATION 
     ID="objwF" 
     APPLICATIONNAME="devotion"
     SCROLL="no"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
	 MAXIMIZEBUTTON="no"
	 CAPTION="YES"
>
<head>

<style>
BODY
{
   background-color: buttonface;
   font-family: Arial;
   font-size: 8pt;
   margin-top: 10px;
   margin-left: 10px;
   margin-right: 10px;
   margin-bottom: 10px;
}

.button
{
   font-family: Helvetica;
   font-size: 8pt;
}

</style>

<script language="vbscript">
doLog=true
const LOG_FILE="ErrorLog.txt"

sub main()

Dim sSQL, objConn, objRS1, objRS2,  iStatus, sNote, sCategory, sName, sArtNr, sUnit, iPrice, iNextId, sArticleNumber, sArticleName, sList, iSupplierId

'Ange status; 0 = "synkroniserad med SPCS", 1 = "Inte synkroniserad mot SPCS"
iStatus = 0

'Notering
sNote = ""
'Pris
iPrice = 0

' Öppna databasen
' ***************
On Error Resume Next

Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=SQLOLEDB.1;Password=H74x32L;Persist Security Info=True;User ID=sa;Initial Catalog=IntranetSydostel;Data Source=.\sqlexpress"
objConn.Open

' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
			Exit Sub
end if

' Slut felhantering

sSQL = 		"SELECT tblArticle.articlenumber, tblArticle.articleName, tblArticle.articleUnit " &_
			"FROM tblArticle " &_
			"ORDER BY tblArticle.articlenumber"
			
Set objRS1 = CreateObject("ADODB.Recordset")
objRS1.Open sSQL, objConn, 3, 1

' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
end if

' Slut felhantering

If not objRS1.EOF then
	
	do while not objRS1.EOF
	
		sArticleNumber = objRS1("articleNumber")
		sArticleName = objRS1("articleName")
		sUnit = lCase(objRS1("articleUnit"))
		
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering
		
		
		'Ta ut de två första tecknena i E-numret
		sList = left(sArticleNumber, 2)
		
		'Hämta kategorinamn mha sList
		Set objRS2 = objConn.Execute ("SELECT listName FROM tblList WHERE listNr = '" & sList & "'")
		
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering
		
		
		If not objRS2.EOF then	
			sCategory = objRS2("listName")	
		End If

		objRS2.Close
		Set objRS2 = Nothing
		
		Set objRS2 = objConn.Execute ("SELECT nextId FROM UppdragNu.dbo.tblNextId WHERE [table] = 'tblArticle'")
		
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering
		
		
		If not objRS2.EOF then	
			iNextId = cLng(objRS2("NextId")) 	
		End If
				
		objRS2.Close
		Set objRS2 = Nothing
		
		
		sSQL = 	"INSERT INTO UppdragNu.dbo.tblArticle ([Id], [Status], [Modified], [Nr], [Name], [Category], [Unit], [Price], [Note]) " &_
				"VALUES(" & iNextId & ", " & iStatus & ", getdate(), '" & sArticleNumber & "', '" & sArticleName & "', " &_
				"'" & sCategory & "', '" & sUnit & "', " & iPrice & ", '" & sNote & "')"
	
		objConn.execute sSQL,,128
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering

		sSQL = "UPDATE UppdragNu.dbo.tblNextId SET nextId = nextId + 1 WHERE [Table] = 'tblArticle'"
		objConn.Execute sSQL,, 128
		' Felhantering
		if Err.Number <> 0 then
						Report(Err.Description)
						Err.Clear
		end if

		' Slut felhantering
		objRS1.Movenext
	
	Loop
Else
	Report("Kunde inte hitta ett korrekt recordset!")
End if

objRS1.Close
Set objRS1 = Nothing
On Error Goto 0
end sub

Sub Report(strMessage)
		dim FSO
		set FSO=CreateObject("Scripting.FileSystemObject")
		document.GetElementById("information").innerHTML=strMessage
		if (doLog) then
		set File=FSO.OpenTextFile(LOG_FILE, 8, -2, TRUE)
		File.Write Now()&vbCrLf&strMessage&vbcrlf&vbcrlf&_
				   "-----------------"&vbcrlf&vbcrlf
		File.close
	end if
end Sub

Sub Window_Onload
self.Focus
self.resizeTo 615,100
main
end sub

</script>
</head>
<body>
	Information:&nbsp;<span id="information"></span>
	</span>

</body>

</html>

Kopiera, klistra in i en käck textfil, och spara som *.hta

devotionMedlem sedan jan. 20013 582 inlägg
#12

Hej igen! :)

Tack för hjälpen! :D

Jag får dock det inte att fungera ordentligt... :(

Koden ser ut så här nu:

' VB Script Document
<html>
<!--************************************************************  ********
'*
'*  File:         	  wF.hta 
'*  Creator:	             Olle Lundberg 
'***********************************************************  *********-->
<title>HTA för devotion (bättre titel kommer  )</title>

<HTA:APPLICATION 
     ID="objwF" 
     APPLICATIONNAME="devotion"
     SCROLL="no"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
	 MAXIMIZEBUTTON="no"
	 CAPTION="YES"
>
<head>

<style>
BODY
{
   background-color: buttonface;
   font-family: Arial;
   font-size: 8pt;
   margin-top: 10px;
   margin-left: 10px;
   margin-right: 10px;
   margin-bottom: 10px;
}

.button
{
   font-family: Helvetica;
   font-size: 8pt;
}

</style>

<script language="vbscript">
doLog=true
const LOG_FILE="ErrorLog.txt"

sub main()

Dim sSQL, objConn, objRS1, objRS2,  iStatus, sNote, sCategory, sName, sArtNr, sUnit, iPrice, iNextId, sArticleNumber, sArticleName, sList, iSupplierId

'Ange status; 0 = "synkroniserad med SPCS", 1 = "Inte synkroniserad mot SPCS"
iStatus = 0

'Notering
sNote = ""
'Pris
iPrice = 0

' Öppna databasen
' ***************
On Error Resume Next

Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=SQLOLEDB.1;Password=XXXXX;Persist Security Info=True;User ID=sa;Initial Catalog=IntranetSydostel;Data Source=.\sqlexpress"
objConn.Open

' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
			Exit Sub
end if
' Slut felhantering

'Hämta nästa Id
Set objRS = objConn.Execute ("SELECT nextId FROM UppdragNu.dbo.tblNextId WHERE [table] = 'tblArticle'")
' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
end if
' Slut felhantering

		
If not objRS.EOF then	
	iNextId = cLng(objRS("NextId")) 	
End If
		
objRS.Close
Set objRS = Nothing

sSQL = 		"SELECT a.articlenumber, a.articleName, a.articleUnit, l.listName " &_
			"FROM tblArticle a " &_
			"LEFT JOIN tblList l ON LEFT(a.articleNumber,2)=l.listNr " &_
			"ORDER BY a.articlenumber"
			
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open sSQL, objConn, 3, 1

If not objRS.EOF then

' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
end if

' Slut felhantering

If not objRS.EOF then
	
	do while not objRS.EOF
	
		sArticleNumber = objRS1("articleNumber")
		sArticleName = objRS1("articleName")
		sUnit = lCase(objRS1("articleUnit"))
		sCategory = objRS("listName")
		
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering
								
		sSQL = 	"INSERT INTO UppdragNu.dbo.tblArticle ([Id], [Status], [Modified], [Nr], [Name], [Category], [Unit], [Price], [Note]) " &_
				"VALUES(" & iNextId & ", " & iStatus & ", getdate(), '" & sArticleNumber & "', '" & sArticleName & "', " &_
				"'" & sCategory & "', '" & sUnit & "', " & iPrice & ", '" & sNote & "')"
	
		objConn.execute sSQL,,128
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering
		
		iNextId = iNextId + 1
		
		objRS.Movenext
	
	Loop

'Uppdatera tblNextId
sSQL = "UPDATE UppdragNu.dbo.tblNextId SET nextId = " & iNextId & " WHERE [Table] = 'tblArticle'"
objConn.Execute sSQL,, 128

Else
	Report("Kunde inte hitta ett korrekt recordset!")
End if

objRS.Close
Set objRS = Nothing
[b]on Error Goto 0[/b]
end sub

Sub Report(strMessage)
		dim FSO
		set FSO=CreateObject("Scripting.FileSystemObject")
		document.GetElementById("information").innerHTML=strMessage
		if (doLog) then
		set File=FSO.OpenTextFile(LOG_FILE, 8, -2, TRUE)
		File.Write Now()&vbCrLf&strMessage&vbcrlf&vbcrlf&_
				   "-----------------"&vbcrlf&vbcrlf
		File.close
	end if
end Sub

Sub Window_Onload
self.Focus
self.resizeTo 615,100
main
end sub

</script>
</head>
<body>
	Information:&nbsp;<span id="information"></span>
	</span>

</body>

</html>

Jag har optimerat SQL-delen lite.... Det kanseke är jag som rört till det...

Men jag får Fel på Rad 155 "If förväntas"

Jag har markerat rad 155 med fetstil!

Mvh
Henrik

colioneMedlem sedan juni 20014 421 inlägg
#13

Rad 99 och rad 109 kollar samma sak, det verkar som om du har med samma koll två gånger och missar att avsluta den ena if-satsen.

' VB Script Document
<html>
<!--************************************************************    ********
'*
'*  File:         	  wF.hta 
'*  Creator:	             Olle Lundberg 
'***********************************************************    *********-->
<title>HTA för devotion (bättre titel kommer  )</title>

<HTA:APPLICATION 
     ID="objwF" 
     APPLICATIONNAME="devotion"
     SCROLL="no"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
	 MAXIMIZEBUTTON="no"
	 CAPTION="YES"
>
<head>

<style>
BODY
{
   background-color: buttonface;
   font-family: Arial;
   font-size: 8pt;
   margin-top: 10px;
   margin-left: 10px;
   margin-right: 10px;
   margin-bottom: 10px;
}

.button
{
   font-family: Helvetica;
   font-size: 8pt;
}

</style>

<script language="vbscript">
doLog=true
const LOG_FILE="ErrorLog.txt"

sub main()

Dim sSQL, objConn, objRS1, objRS2,  iStatus, sNote, sCategory, sName, sArtNr, sUnit, iPrice, iNextId, sArticleNumber, sArticleName, sList, iSupplierId

'Ange status; 0 = "synkroniserad med SPCS", 1 = "Inte synkroniserad mot SPCS"
iStatus = 0

'Notering
sNote = ""
'Pris
iPrice = 0

' Öppna databasen
' ***************
On Error Resume Next

Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=SQLOLEDB.1;Password=XXXXX;Persist Security Info=True;User ID=sa;Initial Catalog=IntranetSydostel;Data Source=.\sqlexpress"
objConn.Open

' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
			Exit Sub
end if
' Slut felhantering

'Hämta nästa Id
Set objRS = objConn.Execute ("SELECT nextId FROM UppdragNu.dbo.tblNextId WHERE [table] = 'tblArticle'")
' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
end if
' Slut felhantering

		
If not objRS.EOF then	
	iNextId = cLng(objRS("NextId")) 	
End If
		
objRS.Close
Set objRS = Nothing

sSQL = 		"SELECT a.articlenumber, a.articleName, a.articleUnit, l.listName " &_
			"FROM tblArticle a " &_
			"LEFT JOIN tblList l ON LEFT(a.articleNumber,2)=l.listNr " &_
			"ORDER BY a.articlenumber"
			
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open sSQL, objConn, 3, 1

[b][u][I]If not objRS.EOF then
[/I][/u][/b]
' Felhantering
if Err.Number <> 0 then
			Report(Err.Description)
			Err.Clear
end if

' Slut felhantering

[b][u][I]If not objRS.EOF then
[/I][/u][/b]
	
	do while not objRS.EOF
	
		sArticleNumber = objRS1("articleNumber")
		sArticleName = objRS1("articleName")
		sUnit = lCase(objRS1("articleUnit"))
		sCategory = objRS("listName")
		
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering
								
		sSQL = 	"INSERT INTO UppdragNu.dbo.tblArticle ([Id], [Status], [Modified], [Nr], [Name], [Category], [Unit], [Price], [Note]) " &_
				"VALUES(" & iNextId & ", " & iStatus & ", getdate(), '" & sArticleNumber & "', '" & sArticleName & "', " &_
				"'" & sCategory & "', '" & sUnit & "', " & iPrice & ", '" & sNote & "')"
	
		objConn.execute sSQL,,128
		' Felhantering
		if Err.Number <> 0 then
					Report(Err.Description)
					Err.Clear
		end if

		' Slut felhantering
		
		iNextId = iNextId + 1
		
		objRS.Movenext
	
	Loop

'Uppdatera tblNextId
sSQL = "UPDATE UppdragNu.dbo.tblNextId SET nextId = " & iNextId & " WHERE [Table] = 'tblArticle'"
objConn.Execute sSQL,, 128

Else
	Report("Kunde inte hitta ett korrekt recordset!")
End if

objRS.Close
Set objRS = Nothing
On Error Goto 0
end sub

Sub Report(strMessage)
		dim FSO
		set FSO=CreateObject("Scripting.FileSystemObject")
		document.GetElementById("information").innerHTML=strMessage
		if (doLog) then
		set File=FSO.OpenTextFile(LOG_FILE, 8, -2, TRUE)
		File.Write Now()&vbCrLf&strMessage&vbcrlf&vbcrlf&_
				   "-----------------"&vbcrlf&vbcrlf
		File.close
	end if
end Sub

Sub Window_Onload
self.Focus
self.resizeTo 615,100
main
end sub

</script>
</head>
<body>
	Information:&nbsp;<span id="information"></span>
	</span>

</body>

</html>

Jag skulle ha tagit bort den understa.

devotionMedlem sedan jan. 20013 582 inlägg
#14

men gahhh....

Sorry... :(

copy/paste-fel....

Testar igen!

HUr fungerar felhanteringen? Lägger man sådana block efter tex sql-frågor, eller hur gör man?

Mvh
Henrik

colioneMedlem sedan juni 20014 421 inlägg
#15

Vad du gör är att säga till att applikationen ska fortsätta köra när den stöter på ett fel (on error resume next)

Sedan kastar du in ett block som kollar om objektet Err:s egenskap, Number (när man får ett fel i vb-script får man alltid en lång harang med siffror som är förrknippat med det felmeddelandet) inte är lika med noll. (if Err.Number <> 0 then)
om den inte är det så kan man sedan göra i princip vad man vill i det if-blocket, här kastade jag in en av mina gamla log-funktioner som loggar felet.
Om du vill kan du välja att bryta den aktuella suben med Exit Sub.
Sedan i detta if-block brukar man ha för vana att nollställa err.number genom en err.clear.
Detta eftersom err-objektet fungerar som en hink, ett fel betyder att hinken är full, och då spelar det ingen roll hur mycket nytt vatten (läs fel) du försöker hälla på, det får inte plats mer förrän du har tömt hinken.

Det triggar tyvärr inte på specifika sql-fel, men det triggar på vb-script fel som har med sql-en att göra. Exempelvis så frå jag följande fel på första connect försöket mot databasen: [DBNETLIB][ConnectionOpen (Connect()).]Antingen finns inte SQL Server eller så nekas åtkomst.

Sker här:
Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=SQLOLEDB.1;Password=XXXXX;Persist Security Info=True;User ID=sa;Initial Catalog=IntranetSydostel;Data Source=.\sqlexpress"
objConn.Open

Förresten så vill du nog ta bort: Exit Sub på rad 69 då jag använde detta för att slippa köra igenom en hel radda med felaktig kod (gäller min maskin).

268 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
131 ms — hämta forumlista (db)
124 ms — hämta statistik (db)
142 ms — hämta tråd, inlägg och bilagor (db)