10/10/2018, 00:00
sâu mỗi lần lưu thì thời gian và số tăng theo
xin chào các anh chị
Em có dự định viết một hàm mà nội dung như sau:
có nghĩ là sau mỗi tháng thì đếm lại từ đầu,chảng hạn như sau cho 2 tháng đầu tiên:08020001, 08020002, 08030001, 08030002, 08030003 ?
Xin các vị tiền bối giúp em
Chân thành cám ơn nhiều
Em có dự định viết một hàm mà nội dung như sau:
có nghĩ là sau mỗi tháng thì đếm lại từ đầu,chảng hạn như sau cho 2 tháng đầu tiên:08020001, 08020002, 08030001, 08030002, 08030003 ?
Xin các vị tiền bối giúp em
Chân thành cám ơn nhiều
Bài liên quan
ví dụ: id của bài viết sẽ được đặt theo dạng yymm***x trong đó yy là năm (07, 08, 09), mm là tháng (01, 02, ..., 11,12), ***x là thứ tự của bài viết đó trong tháng mà bài viết đó được thêm vào (01, 02, ....)
Theo cách này bài viết đầu tiên của tháng 2 năm 2008 có dạng: 080201
bài thứ 2: 080202
bài 999: 0802999
Không biết có đúng theo ý của bạn không?
yymmdd####:
yy:2008
mm:02
dd:15
####:số thứ tự(0001)
gọp chung tất cả là:200802150001
sau khi bấm lưu thi số này sẽ tăng thêm là:20080215001
sang ngay hôm sau là ngày:16
thì lại như sau:20080216001(001 sẽ tăng lại từ đầu)
bước sang tháng ba thì 03
20080301001
và cứ như thế sẽ lưu ma ID
mình đã viết rồi nhưng vẫn còn sai:
mong bạn giúp mình với:
mã như sau:
if trim(request("Option"))="AddOrder" then
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "orderdetail", conn, 2, 2
' Adding data
rs.AddNew
if not rs.eof then
strmonth=month(date())
strday=day(date())
stryear=year(date())
whole=stryear&strmonth&strday
OrderID=whole+"000"
session("OrderID")=OrderID
'response.Write("<br/>")
'response.Write(OrderID)
OrderID=OrderID+1
rs("OrderID") = OrderID
rs("CustomerId") = CustomerId
rs("Item") = Items
rs("Description") = Descriptions
rs("Quantity")=Quantity
rs("price") = price
rs("UnitCurrency") = UnitCurrency
rs("CreateDate") = CreateDate
rs("ExpirationDate") = ExpirationDate
response.Write(OrderID)
'rs.Update
end if
session("orderid")=orderID
session("Item")=items
session("Descriptions")=Descriptions
session("Quantity")=Quantity
session("price")=price
session("UnitCurrency")=UnitCurrency
session("CreateDate")=CreateDate
session("ExpirationDate")=ExpirationDate
response.Redirect "ShowOrderdetail.asp"
'rs.Close
'Set rs = Nothing
end if
Trước khi insert thì bạn count xem trong database có record nào cho ngày hôm nay chưa...
sau đó chỉnh sửa lại đoạn:
OrderID=whole+"000"
session("OrderID")=OrderID
'response.Write("<br/>")
'response.Write(OrderID)
OrderID=OrderID+1
Một chút là được
Set Con = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
server.mappath("db/customer.mdb")
Con.Open data_source
rs.Open "Orderdetail", conn, 1, 3
' Adding data
strmonth=Right("0" & DatePart("m", Now()), 2)
strday=Right("0" & DatePart("d", Now()), 2)
stryear=Right(DatePart("yyyy", Now()), 2)
rs.AddNew
'Dòng này kiểm mã tăng
if not rs.eof then
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from Orderdetail", conn, 1, 3
NewsOrderId=rs("OrderID")+1
'rs.movelast()
OrderID=stryear&strmonth&strday&right("0000"&NewsO rderId,4)
end if
'Hết kiểm tra
rs("OrderID") = OrderID
rs("CustomerId") = request.Form(("CustomerId"))
rs("Item") = Items
rs("Description") = Descriptions
rs("Quantity")=Quantity
rs("price") = price
rs("UnitCurrency") = UnitCurrency
CreateDate=request.Form("day1")&"/"&request.Form("month1")&"/"&request.Form("year1")
rs("CreateDate") = CreateDate
ExpirationDate=request.Form("day2")&"/"&request.Form("month2")&"/"&request.Form("year2")
rs("ExpirationDate") = ExpirationDate
'rs.Update
response.Write(OrderID)
'rs.close
'set rs=nothing
' end if
session("OrderID")=OrderID
session("Item")=items
session("Descriptions")=Descriptions
session("Quantity")=Quantity
session("price")=price
session("UnitCurrency")=UnitCurrency
session("CreateDate")=CreateDate
session("ExpirationDate")=ExpirationDate
' response.Redirect "ShowOrderCustomer.asp"
'rs.Close
' Set rs = Nothing
end if
Xin các bậc tiền bối kiểm tra giúp em
if not rs.eof then
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from Orderdetail", conn, 1, 3
NewsOrderId=rs("OrderID")+1
'rs.movelast()
OrderID=stryear&strmonth&strday&right("0000"&NewsO rderId,4)
end if
'Hết kiểm tra
Nó không tăng thêm khi mình save nó
vídu:08020009..
khi mình lưu thì nó tự động tăng thêm
08020010...
và cứ như thế
Cám ơn bạn nhiều
Giả sử trang table Orderdetail có 1 fields là createDate lưu ngày mà bài viết được insert vào (2008-02-15;...)
trong đoạn mã ASP bạn tạo biến sToday lưu ngay hiện tại theo đúng chuẩn mà bạn dùng để insert(Mã ASP mình không còn nhớ nữa rồi)
Câu query bạn sửa lại như sau:
"SELECT count('OrderId') as numOfRecord FROM Orderdetail WHERE createDate=" & sToday & ";";
bạn sẽ có biến numOfRecord là số record đã insert vào cho ngày hôm đó. sau đó tính toán thế nào tùy bạn.
Cám ơn các bạn nhé.
Hoàng Phúc