webForumDet fria alternativet

ASP: Skapa fakturanummer per automatik.

ASP

5 svar · 545 visningar · startad av oskars

Medlem sedan nov. 20051 317 inlägg
Frågan#1

Hej,

:i

jag har ett grymt bra och enkelt beställningsformulär som bl.a Erik hjälpt mig att göra. Det bygger på en <form> och en .ASP-fil som skickar mailet.

Jag får alltså alla beställningar som skickas med formuläret via mail. Och nu vill jag att varje beställning ska ha ett unikt ordernummer, t.ex Erik01, Erik02, Erik03 osv osv. Planen är ju att inte använda en databas utan att lagra dessa nummer i en textfil...

Jag hoppas ni förstår vad jag menar. Hur skulle en kod för detta se ut?

Tacksam för hjälp!

Mvh / Oskar :)

Medlem sedan nov. 20017 144 inlägg
#2
Function AlmostUniqueID(n)
 
  AlmostUniqueID= n & Month(Now) & Day(Now) & Year(Now) & Hour(Now) _
    & Minute(Now) & Second(Now)

End Function

Response.Write AlmostUniqueId("Erik")
Medlem sedan nov. 20051 317 inlägg
#3

Hm. Jag vill att ID:et ska vara kontinuerligt.. Alltså så här:

FP0601
FP0602
FP0603
FP0604
FP0605
FP0606
FP0607

=)

Visserligen såg ditt smart ut! Ska fundera på det! Men det vore bra med ett sånt system jag skrev här över! =)

Medlem sedan nov. 20014 054 inlägg
#4

det vore väl att börja räkna från 1, 100 eller vad som önskas, så första ordern blir FP100, så när nästa order görs så hämtas sista raden från textfilen, där förhoppningsvis FP100 finns, och plockar ut siffrorna och ökar med 1 och sparar den nya ordern som då blir FP101, har inget kodexempel, det är bara en tankegång! :)

Medlem sedan nov. 20051 317 inlägg
#5

Ja jo, någon som har kodtips? =)

Medlem sedan nov. 20017 144 inlägg
#6

Det räcker kanske med en räknare.
Skapa en textfil som du döper till ex. my_count.txt
och se till att du har skrivrättigheter i katalogen.

Class uniqueId
	Private fn, objFso
	
	Public property Let Filename(value)
		fn = value
	End property
	
	Private Function GetLastID()
		Dim objFile
		on error resume next
		set objFile = objFso.OpenTextFile(fn, 1)
		If err.number = 62 then
			GetLastID = 0
		Else
			GetLastID = trim(objFile.ReadLine)
		End if
		objFile.Close : Set objFile = Nothing
	End Function
	
	Private Function SetUniqueId()
		Dim lastRow
		lastRow = GetLastID()
		set objFile = objFSO.OpenTextFile(fn, 2)
		lastRow = cStr(cLng("0"& lastRow)+1)
		objFile.Write lastRow
		SetUniqueId = lastRow	
		objFile.Close : Set objFile = Nothing
	End Function
	
	Public Function MakeUniqueId()
		Set objFso = Server.CreateObject("Scripting.FileSystemObject")
			MakeUniqueId = SetUniqueId()
		Set objFso = Nothing
	End Function
	
End Class

Dim q
Set q = new uniqueId
q.Filename = Server.Mappath(".") & "\my_count.txt"
Response.write "SuperID_"& q.MakeUniqueId()
Set q = nothing
260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)