Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TInh ton kho CSDL trên SQL server 200
#1

CSDL trên SQL server 2000 khi mình chạy nút lện tính tồn kho thì báo lỗi tại dòng
Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenDynaset)
đây là nguyên đoạn code

Function TinhTonKho(THANG, NAM)
Dim csdl As Database, TonKho As ADODB.Recordset, NhapXuat As ADODB.Recordset, SoDu As ADODB.Recordset
Set csdl = CurrentDb()
Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenDynaset)
Set NhapXuat = csdl.OpenRecordset("txuatnhaptam", dbOpenDynaset)
Set SoDu = csdl.OpenRecordset("qvattutonkho", dbOpenDynaset)
'Xaùc ñònh thaùng, naêm "tröôùc" vaø thaùng, naêm "sau" cuûa thaùng, naêm hieän haønh
If THANG = 1 Then
THANGTRUOC = 12: NAMTRUOC = NAM - 1
Else
THANGTRUOC = THANG - 1: NAMTRUOC = NAM
End If
If THANG = 12 Then
THANGTOI = 1: NAMTOI = NAM + 1
Else
THANGTOI = THANG + 1: NAMTOI = NAM
End If
'Khoùa soá dö tröôùc vaø sau khoùa soá dö hieän haønh
KhoaTruoc = NAMTRUOC & Right("0" & THANGTRUOC, 2)
KhoaHienHanh = NAM & Right("0" & THANG, 2)
KhoaToi = NAMTOI & Right("0" & THANGTOI, 2)
'Thieát laäp laïi giaù trò khôûi ñaàu cho thaùng hieän haønh
TonKho.index = "KHOASD"
TonKho.Seek ">=", KhoaHienHanh
If Not TonKho.EOF Then
Do
If TonKho!KHOASD >= KhoaToi Then Exit Do
TonKho.Close
TonKho![SLDAUKY] = 0: TonKho![TIENDAUKY] = 0: TonKho![SLNHAP] = 0
TonKho![TIENNHAP] = 0: TonKho![SLXUAT] = 0: TonKho![TIENXUAT] = 0
TonKho.Update
TonKho.MoveNext
If TonKho.EOF Then Exit Do
Loop
End If
'Chuyeån soá dö cuoái kyø tröôùc sang ñaàu kyø naøy
If SoDu.RecordCount > 0 Then
Do
If SoDu![KHOASD] >= KhoaHienHanh Then Exit Do
LUUKHOA = SoDu!KHOASD
LUUSOLG = SoDu!SLTON: LUUGTRI = SoDu!TIENTON
LUUVITRI = SoDu.Bookmark
KHOAMOI = KhoaHienHanh & Mid(LUUKHOA, 7)
TonKho.Seek "=", KHOAMOI
If TonKho.EOF Then
TonKho.AddNew: TonKho.Update: TonKho.MoveFirst: TonKho.Close
TonKho!KHOASD = KHOAMOI
TonKho.Update
End If
TonKho.Close
TonKho![SLDAUKY] = LUUSOLG: TonKho![TIENDAUKY] = LUUGTRI
TonKho![SLNHAP] = 0: TonKho![TIENNHAP] = 0
TonKho![SLXUAT] = 0: TonKho![TIENXUAT] = 0
TonKho.Update: 'TonKho.Bookmark = LUUVITRI
TonKho.MoveNext: SoDu.MoveNext
If SoDu.EOF Then Exit Do
Loop
End If
'Xöû lyù caùc soá lieäu phaùt sinh trong thaùng
If NhapXuat.RecordCount > 0 Then
NhapXuat.MoveFirst
Do Until NhapXuat.EOF
KHOACHINH = KhoaHienHanh & "-" & NhapXuat!makho & "-" & NhapXuat!MAHH
TonKho.Seek "=", KHOACHINH
If TonKho.EOF Then
TonKho.AddNew: TonKho.Update: TonKho.MoveFirst: TonKho.Close
TonKho!KHOASD = KHOACHINH
TonKho![SLDAUKY] = 0: TonKho![TIENDAUKY] = 0: TonKho![SLNHAP] = 0
TonKho![TIENNHAP] = 0: TonKho![SLXUAT] = 0: TonKho![TIENXUAT] = 0
TonKho.Update
End If
TonKho.Close
If NhapXuat!mact = "01PN" Then
TonKho!SLNHAP = TonKho!SLNHAP + NhapXuat!SOLUONG
TonKho!TIENNHAP = TonKho!TIENNHAP + NhapXuat!tien
Else
TonKho!SLXUAT = TonKho!SLXUAT + NhapXuat!SOLUONG
TonKho!TIENXUAT = TonKho!TIENXUAT + NhapXuat!tien
End If
TonKho.Update
NhapXuat.MoveNext
Loop
End If
If NhapXuat.RecordCount > 0 Then
NhapXuat.MoveFirst
Do Until NhapXuat.EOF
NhapXuat.Delete
NhapXuat.MoveNext
Loop
End If
TonKho.Close: NhapXuat.Close: SoDu.Close
Set csdl = Nothing
End Function
Chữ ký của hadangpr Hỡi thế gian ngu là gì mà không ai chịu nhận!
Reply
Những người đã cảm ơn
#2
Nó báo lỗi gì vậy bạn?
bạn co1 link table đó về file Access chưa?
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
(17-02-12, 07:48 PM)Noname Đã viết: Nó báo lỗi gì vậy bạn?
bạn co1 link table đó về file Access chưa?

khi thực hiện câu lệnh thì báo lỗi Run-time error '3219' bầm vào nút Debug thì tại dòng code: Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenDynaset) có màu vàng ngoài ra không còn thấy gì nữa. tsoduvattuhanghoa đây là table trên access chứ không phải ở trên SQL.
Chữ ký của hadangpr Hỡi thế gian ngu là gì mà không ai chịu nhận!
Reply
Những người đã cảm ơn
#4
(17-02-12, 09:04 PM)hadangpr Đã viết:
(17-02-12, 07:48 PM)Noname Đã viết: Nó báo lỗi gì vậy bạn?
bạn co1 link table đó về file Access chưa?

khi thực hiện câu lệnh thì báo lỗi Run-time error '3219' bầm vào nút Debug thì tại dòng code: Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenDynaset) có màu vàng ngoài ra không còn thấy gì nữa. tsoduvattuhanghoa đây là table trên access chứ không phải ở trên SQL.

Vậy thì vấn đề ở đây chỉ là local của Access thôi, không liên quan gì SQL server đúng không?

khai báo
Mã:
TonKho As ADODB.Recordset
Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenDynaset)
Bạn chỉ cần đổi thành
Mã:
TonKho As Recordset
Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenTable)

Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hadangpr
#5
(17-02-12, 11:41 PM)Noname Đã viết:
(17-02-12, 09:04 PM)hadangpr Đã viết:
(17-02-12, 07:48 PM)Noname Đã viết: Nó báo lỗi gì vậy bạn?
bạn co1 link table đó về file Access chưa?

khi thực hiện câu lệnh thì báo lỗi Run-time error '3219' bầm vào nút Debug thì tại dòng code: Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenDynaset) có màu vàng ngoài ra không còn thấy gì nữa. tsoduvattuhanghoa đây là table trên access chứ không phải ở trên SQL.

Vậy thì vấn đề ở đây chỉ là local của Access thôi, không liên quan gì SQL server đúng không?

khai báo
Mã:
TonKho As ADODB.Recordset
Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenDynaset)
Bạn chỉ cần đổi thành
Mã:
TonKho As Recordset
Set TonKho = csdl.OpenRecordset("tsoduvattuhanghoa", dbOpenTable)

Cảm ơn anh, Lẽ ra trường tsoduvattuhanghoa em để trên SQL server nhưng do em viết code không được nên đành để nó trên Access và viết code đúng như anh chỉ thì chạy tốt mù. Dự án của em là phải để tất cả CSDL trên SQL nhưng do làm cách đó không được đành phải làm cách khác(em dùng code gà quá), mặc dù cũng để CSDL trên SQL nhưng viết code ít lại và đành phải nhở anh Query chạy thêm thì thấy rất được.
Anh có tài liệu về code để kết nối CSDL SQL server với access không share cho em với. Thú thật em không được học trường lớp, chỉ học lõm code của các anh sau đó bào chế lại chứ không có một cái gì gọi là căn bản hết, nên khi gặp sự cố hổng biết tài liệu đâu mà lần, cò kiếm trên mạng sao mà lan mang quá. Mong anh chị giúp đỡ.
Chữ ký của hadangpr Hỡi thế gian ngu là gì mà không ai chịu nhận!
Reply
Những người đã cảm ơn
#6
(18-02-12, 10:33 AM)hadangpr Đã viết: Cảm ơn anh, Lẽ ra trường tsoduvattuhanghoa em để trên SQL server nhưng do em viết code không được nên đành để nó trên Access và viết code đúng như anh chỉ thì chạy tốt mù. Dự án của em là phải để tất cả CSDL trên SQL nhưng do làm cách đó không được đành phải làm cách khác(em dùng code gà quá), mặc dù cũng để CSDL trên SQL nhưng viết code ít lại và đành phải nhở anh Query chạy thêm thì thấy rất được.
Anh có tài liệu về code để kết nối CSDL SQL server với access không share cho em với. Thú thật em không được học trường lớp, chỉ học lõm code của các anh sau đó bào chế lại chứ không có một cái gì gọi là căn bản hết, nên khi gặp sự cố hổng biết tài liệu đâu mà lần, cò kiếm trên mạng sao mà lan mang quá. Mong anh chị giúp đỡ.

Trong này đã có một số bài viết về link table Access-SQL server.
Bạn link được rồi thì thao tác như table local thôi. Không khó khăn gì cả! Tài liệu thì mình không có, gặp lỗi thì search.

Về chuyện link table Access- SQL server, mình chỉ thấy gặp rắc rối nếu Server đặt SQL - server ở xa, khi đó ta phải dùng phương thức khác chứ không thể dùng Access đơn thuần được vì query sẽ rất chậm.
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] Tạo thanh tiến trình trên Form (Progress bar) khi xử lý dữ liệu ongke0711 18 1,500 21-10-16, 10:17 PM
Bài mới nhất: ongke0711
  [Hỏi] Quá trình thực hiện một lệnh với CSDL dinh_trong_hoa 1 174 02-08-16, 04:06 PM
Bài mới nhất: ongke0711
  [Help] lệnh tìm kiếm và hiển thị kết quả tìm kiếm trên form tvn_hut 12 1,013 25-06-16, 12:22 AM
Bài mới nhất: zinzin8x
Photo Hướng dẫn tính tôn kho từ một bảng chi tiết nhập xuất tt1212 8 399 17-06-16, 04:47 PM
Bài mới nhất: tt1212
  Sử dụng Class Module và Kết nối dữ liệu SQL SERVER trong Access VBA lehongduc 42 17,036 12-06-16, 12:28 PM
Bài mới nhất: lehongduc

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ